On Mon, 8 Nov 2021 15:00:34 -0800 Beau Belgrave <beaub@xxxxxxxxxxxxxxxxxxx> wrote: > > > - memcpy(entry + 1, data, datalen); > > > + if (unlikely(!copy_nofault(entry + 1, i->count, i))) > > > > Need: > > __trace_event_discard_commit(event_buffer.buffer, event_buffer.event); > > > > Because the trace_event_buffer_reserve() will not only allocate space on > > the ring buffer, but may also disable preemption. > > > > -- Steve > > > > Ah, thank you! Which reminds me that trace_event_buffer_reserve() expects to be called with preemption disabled. And I'm guessing that may not be the case for you. I'll change this so that it always disables preemption even if it uses the filter buffer, and *always* disables preemption on return. -- Steve