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 */