From a485b99e13da7155f240da268de2348fd2107ee9 Mon Sep 17 00:00:00 2001 From: Ben Hutchings Date: Thu, 26 Oct 2017 22:38:57 +0200 Subject: [PATCH] Revert "bpf: one perf event close won't free bpf program attached ..." This reverts commit dcc738d393156dd29ed961ecefe13d96ed5f782f, which was commit ec9dd352d591f0c90402ec67a317c1ed4fb2e638 upstream. It introduces an ABI break that's not easily avoidable. The bug it fixes doesn't seem to have any security impact. Gbp-Pq: Topic debian Gbp-Pq: Name revert-bpf-one-perf-event-close-won-t-free-bpf-program-atta.patch --- include/linux/trace_events.h | 1 - kernel/events/core.c | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/include/linux/trace_events.h b/include/linux/trace_events.h index ba57266d9e80..be007610ceb0 100644 --- a/include/linux/trace_events.h +++ b/include/linux/trace_events.h @@ -273,7 +273,6 @@ struct trace_event_call { int perf_refcount; struct hlist_head __percpu *perf_events; struct bpf_prog *prog; - struct perf_event *bpf_prog_owner; int (*perf_perm)(struct trace_event_call *, struct perf_event *); diff --git a/kernel/events/core.c b/kernel/events/core.c index 60a8da7cdfff..2ecb8891b5a9 100644 --- a/kernel/events/core.c +++ b/kernel/events/core.c @@ -7876,7 +7876,6 @@ static int perf_event_set_bpf_prog(struct perf_event *event, u32 prog_fd) } } event->tp_event->prog = prog; - event->tp_event->bpf_prog_owner = event; return 0; } @@ -7891,7 +7890,7 @@ static void perf_event_free_bpf_prog(struct perf_event *event) return; prog = event->tp_event->prog; - if (prog && event->tp_event->bpf_prog_owner == event) { + if (prog) { event->tp_event->prog = NULL; bpf_prog_put(prog); } -- 2.30.2