Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[muen/linux.git] / kernel / bpf / syscall.c
index bc34cf9fe9eedd1e1e3779fe06fa94db22b6231a..62f6bced3a3c486732dd871693d5d44cf19ab8c2 100644 (file)
@@ -1258,6 +1258,7 @@ static void __bpf_prog_put_rcu(struct rcu_head *rcu)
 static void __bpf_prog_put(struct bpf_prog *prog, bool do_idr_lock)
 {
        if (atomic_dec_and_test(&prog->aux->refcnt)) {
+               perf_event_bpf_event(prog, PERF_BPF_EVENT_PROG_UNLOAD, 0);
                /* bpf_prog_free_id() must be called first */
                bpf_prog_free_id(prog, do_idr_lock);
                bpf_prog_kallsyms_del_all(prog);
@@ -1631,6 +1632,7 @@ static int bpf_prog_load(union bpf_attr *attr, union bpf_attr __user *uattr)
        }
 
        bpf_prog_kallsyms_add(prog);
+       perf_event_bpf_event(prog, PERF_BPF_EVENT_PROG_LOAD, 0);
        return err;
 
 free_used_maps: