On Tue, Oct 7, 2025 at 2:40 PM Steven Rostedt <[email protected]> wrote: > > On Tue, 7 Oct 2025 16:31:41 -0400 > Steven Rostedt <[email protected]> wrote: > > > +static void trace_user_fault_buffer_free(struct trace_user_buf_info *tinfo) > > +{ > > + char *buf; > > + int cpu; > > + > > + for_each_possible_cpu(cpu) { > > + buf = per_cpu_ptr(tinfo->tbuf, cpu)->buf; > > + kfree(buf); > > + } > > Oops, missed: > > free_percpu(tinfo->tbuf); > > here.
Hey Steve, Thanks for providing the buffer-based solution. I tried it and it fixes the problem! However, the first experiment, adding pagefault_disable/enable() around copy_nofault() doesn't help. Still having the same problem. I suppose the issue is more than pagefault? Can you please suggest the next move? I can also do more tests if needed. Best, Runping > > -- Steve > > > + kfree(tinfo); > > +}
