Skip to content

Commit c5b9678

Browse files
Peter Zijlstraingomolnar
authored andcommitted
perf/bpf: Robustify perf_event_free_bpf_prog()
Ensure perf_event_free_bpf_prog() is safe to call a second time; notably without making any references to event->pmu when there is no prog left. Note: perf_event_detach_bpf_prog() might leave a stale event->prog Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Ravi Bangoria <ravi.bangoria@amd.com> Cc: Alexei Starovoitov <ast@kernel.org> Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: Andrii Nakryiko <andrii@kernel.org> Link: https://lore.kernel.org/r/20241104135518.978956692@infradead.org
1 parent adc38b4 commit c5b9678

1 file changed

Lines changed: 3 additions & 0 deletions

File tree

kernel/events/core.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10905,6 +10905,9 @@ int perf_event_set_bpf_prog(struct perf_event *event, struct bpf_prog *prog,
1090510905

1090610906
void perf_event_free_bpf_prog(struct perf_event *event)
1090710907
{
10908+
if (!event->prog)
10909+
return;
10910+
1090810911
if (!perf_event_is_tracing(event)) {
1090910912
perf_event_free_bpf_handler(event);
1091010913
return;

0 commit comments

Comments
 (0)