UPSTREAM: bpf: use the same condition in perf event set/free bpf handler
authorYonghong Song <yhs@fb.com>
Tue, 24 Oct 2017 06:53:07 +0000 (23:53 -0700)
committerCosmin Tanislav <demonsingur@gmail.com>
Thu, 16 May 2024 07:58:23 +0000 (10:58 +0300)
This is a cleanup such that doing the same check in
perf_event_free_bpf_prog as we already do in
perf_event_set_bpf_prog step.

Signed-off-by: Yonghong Song <yhs@fb.com>
Acked-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 0b4c6841fee03e096b735074a0c4aab3a8e92986)
Signed-off-by: Connor O'Brien <connoro@google.com>
Bug: 121213201
Bug: 138317270
Test: build & boot cuttlefish
Change-Id: Id64d5a025d383fa3d3b16c5c74e8f9e86148efaa

kernel/events/core.c

index 09505311220d81178edd113cbb9cf57523ef907f..05493c5b15663fdee988cc2118e86c032c57de58 100644 (file)
@@ -8254,10 +8254,10 @@ static void perf_event_free_bpf_prog(struct perf_event *event)
 {
        struct bpf_prog *prog;
 
-       perf_event_free_bpf_handler(event);
-
-       if (!event->tp_event)
+       if (event->attr.type != PERF_TYPE_TRACEPOINT) {
+               perf_event_free_bpf_handler(event);
                return;
+       }
 
        prog = event->tp_event->prog;
        if (prog && event->tp_event->bpf_prog_owner == event) {