Fwd: [REGRESSION 6.0.x / 6.1.x] NULL dereferencing at tracing

From: postix
Date: Mon Oct 31 2022 - 16:47:08 EST


Can you apply this to see if it fixes it?

I'm guessing there's a path to the release of the file descriptor where
the ring buffer isn't allocated (and this expected it to be).

I'll investigate further to see if I can find that path.

-- Steve

diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index 199759c73519..c1c7ce4c6ddb 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -937,6 +937,9 @@ void ring_buffer_wake_waiters(struct trace_buffer *buffer, int cpu) struct ring_buffer_per_cpu *cpu_buffer;
struct rb_irq_work *rbwork;
+ if (!buffer) + return; + if (cpu == RING_BUFFER_ALL_CPUS) {
/* Wake up individual ones too. One level recursion */

Dear Steve,


I have tested your suggested patch using kernel 6.1.0-rc2, but unfortunately it didn't fix the issue for me.

Thank you for looking into it though!


Best Regards

--AD