diff options
Diffstat (limited to 'kernel/bpf/syscall.c')
-rw-r--r-- | kernel/bpf/syscall.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c index f74ca17af64a..461eb1e66a0f 100644 --- a/kernel/bpf/syscall.c +++ b/kernel/bpf/syscall.c | |||
@@ -707,6 +707,7 @@ void bpf_prog_put(struct bpf_prog *prog) | |||
707 | { | 707 | { |
708 | if (atomic_dec_and_test(&prog->aux->refcnt)) { | 708 | if (atomic_dec_and_test(&prog->aux->refcnt)) { |
709 | trace_bpf_prog_put_rcu(prog); | 709 | trace_bpf_prog_put_rcu(prog); |
710 | bpf_prog_kallsyms_del(prog); | ||
710 | call_rcu(&prog->aux->rcu, __bpf_prog_put_rcu); | 711 | call_rcu(&prog->aux->rcu, __bpf_prog_put_rcu); |
711 | } | 712 | } |
712 | } | 713 | } |
@@ -903,6 +904,7 @@ static int bpf_prog_load(union bpf_attr *attr) | |||
903 | /* failed to allocate fd */ | 904 | /* failed to allocate fd */ |
904 | goto free_used_maps; | 905 | goto free_used_maps; |
905 | 906 | ||
907 | bpf_prog_kallsyms_add(prog); | ||
906 | trace_bpf_prog_load(prog, err); | 908 | trace_bpf_prog_load(prog, err); |
907 | return err; | 909 | return err; |
908 | 910 | ||