summaryrefslogtreecommitdiffstats
path: root/kernel/bpf/syscall.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/bpf/syscall.c')
-rw-r--r--kernel/bpf/syscall.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
index 0bd2944eafb9..9b87198deea2 100644
--- a/kernel/bpf/syscall.c
+++ b/kernel/bpf/syscall.c
@@ -282,6 +282,7 @@ void bpf_map_put(struct bpf_map *map)
282{ 282{
283 __bpf_map_put(map, true); 283 __bpf_map_put(map, true);
284} 284}
285EXPORT_SYMBOL_GPL(bpf_map_put);
285 286
286void bpf_map_put_with_uref(struct bpf_map *map) 287void bpf_map_put_with_uref(struct bpf_map *map)
287{ 288{
@@ -503,7 +504,6 @@ static int map_create(union bpf_attr *attr)
503 return err; 504 return err;
504 } 505 }
505 506
506 trace_bpf_map_create(map, err);
507 return err; 507 return err;
508 508
509free_map: 509free_map:
@@ -544,6 +544,7 @@ struct bpf_map *bpf_map_inc(struct bpf_map *map, bool uref)
544 atomic_inc(&map->usercnt); 544 atomic_inc(&map->usercnt);
545 return map; 545 return map;
546} 546}
547EXPORT_SYMBOL_GPL(bpf_map_inc);
547 548
548struct bpf_map *bpf_map_get_with_uref(u32 ufd) 549struct bpf_map *bpf_map_get_with_uref(u32 ufd)
549{ 550{
@@ -663,7 +664,6 @@ static int map_lookup_elem(union bpf_attr *attr)
663 if (copy_to_user(uvalue, value, value_size) != 0) 664 if (copy_to_user(uvalue, value, value_size) != 0)
664 goto free_value; 665 goto free_value;
665 666
666 trace_bpf_map_lookup_elem(map, ufd, key, value);
667 err = 0; 667 err = 0;
668 668
669free_value: 669free_value:
@@ -760,8 +760,6 @@ static int map_update_elem(union bpf_attr *attr)
760 __this_cpu_dec(bpf_prog_active); 760 __this_cpu_dec(bpf_prog_active);
761 preempt_enable(); 761 preempt_enable();
762out: 762out:
763 if (!err)
764 trace_bpf_map_update_elem(map, ufd, key, value);
765free_value: 763free_value:
766 kfree(value); 764 kfree(value);
767free_key: 765free_key:
@@ -814,8 +812,6 @@ static int map_delete_elem(union bpf_attr *attr)
814 __this_cpu_dec(bpf_prog_active); 812 __this_cpu_dec(bpf_prog_active);
815 preempt_enable(); 813 preempt_enable();
816out: 814out:
817 if (!err)
818 trace_bpf_map_delete_elem(map, ufd, key);
819 kfree(key); 815 kfree(key);
820err_put: 816err_put:
821 fdput(f); 817 fdput(f);
@@ -879,7 +875,6 @@ out:
879 if (copy_to_user(unext_key, next_key, map->key_size) != 0) 875 if (copy_to_user(unext_key, next_key, map->key_size) != 0)
880 goto free_next_key; 876 goto free_next_key;
881 877
882 trace_bpf_map_next_key(map, ufd, key, next_key);
883 err = 0; 878 err = 0;
884 879
885free_next_key: 880free_next_key:
@@ -1027,7 +1022,6 @@ static void __bpf_prog_put(struct bpf_prog *prog, bool do_idr_lock)
1027 if (atomic_dec_and_test(&prog->aux->refcnt)) { 1022 if (atomic_dec_and_test(&prog->aux->refcnt)) {
1028 int i; 1023 int i;
1029 1024
1030 trace_bpf_prog_put_rcu(prog);
1031 /* bpf_prog_free_id() must be called first */ 1025 /* bpf_prog_free_id() must be called first */
1032 bpf_prog_free_id(prog, do_idr_lock); 1026 bpf_prog_free_id(prog, do_idr_lock);
1033 1027
@@ -1194,11 +1188,7 @@ struct bpf_prog *bpf_prog_get(u32 ufd)
1194struct bpf_prog *bpf_prog_get_type_dev(u32 ufd, enum bpf_prog_type type, 1188struct bpf_prog *bpf_prog_get_type_dev(u32 ufd, enum bpf_prog_type type,
1195 bool attach_drv) 1189 bool attach_drv)
1196{ 1190{
1197 struct bpf_prog *prog = __bpf_prog_get(ufd, &type, attach_drv); 1191 return __bpf_prog_get(ufd, &type, attach_drv);
1198
1199 if (!IS_ERR(prog))
1200 trace_bpf_prog_get_type(prog);
1201 return prog;
1202} 1192}
1203EXPORT_SYMBOL_GPL(bpf_prog_get_type_dev); 1193EXPORT_SYMBOL_GPL(bpf_prog_get_type_dev);
1204 1194
@@ -1373,7 +1363,6 @@ static int bpf_prog_load(union bpf_attr *attr)
1373 } 1363 }
1374 1364
1375 bpf_prog_kallsyms_add(prog); 1365 bpf_prog_kallsyms_add(prog);
1376 trace_bpf_prog_load(prog, err);
1377 return err; 1366 return err;
1378 1367
1379free_used_maps: 1368free_used_maps: