aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/bpf/syscall.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/bpf/syscall.c')
-rw-r--r--kernel/bpf/syscall.c2
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