diff options
Diffstat (limited to 'kernel/bpf/syscall.c')
-rw-r--r-- | kernel/bpf/syscall.c | 17 |
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 | } |
285 | EXPORT_SYMBOL_GPL(bpf_map_put); | ||
285 | 286 | ||
286 | void bpf_map_put_with_uref(struct bpf_map *map) | 287 | void 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 | ||
509 | free_map: | 509 | free_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 | } |
547 | EXPORT_SYMBOL_GPL(bpf_map_inc); | ||
547 | 548 | ||
548 | struct bpf_map *bpf_map_get_with_uref(u32 ufd) | 549 | struct 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 | ||
669 | free_value: | 669 | free_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(); |
762 | out: | 762 | out: |
763 | if (!err) | ||
764 | trace_bpf_map_update_elem(map, ufd, key, value); | ||
765 | free_value: | 763 | free_value: |
766 | kfree(value); | 764 | kfree(value); |
767 | free_key: | 765 | free_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(); |
816 | out: | 814 | out: |
817 | if (!err) | ||
818 | trace_bpf_map_delete_elem(map, ufd, key); | ||
819 | kfree(key); | 815 | kfree(key); |
820 | err_put: | 816 | err_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 | ||
885 | free_next_key: | 880 | free_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) | |||
1194 | struct bpf_prog *bpf_prog_get_type_dev(u32 ufd, enum bpf_prog_type type, | 1188 | struct 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 | } |
1203 | EXPORT_SYMBOL_GPL(bpf_prog_get_type_dev); | 1193 | EXPORT_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 | ||
1379 | free_used_maps: | 1368 | free_used_maps: |