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)
committerDavid S. Miller <davem@davemloft.net>
Wed, 25 Oct 2017 01:47:46 +0000 (10:47 +0900)
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>
kernel/events/core.c

index 31ee304a58442c0ebccc6d7056c917d68a37ea03..9f78a6825bbed2e2d7231d41f181d3a52654dd05 100644 (file)
@@ -8191,10 +8191,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) {