Re: [PATCH v1] Revert "tracing: Fix tracing_marker may trigger page fault during preempt_disable"
From: Steven Rostedt
Date: Tue Oct 07 2025 - 20:19:29 EST
On Tue, 7 Oct 2025 16:25:41 -0700
Runping Lai <runpinglai@xxxxxxxxxx> wrote:
> On Tue, Oct 7, 2025 at 2:40 PM Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
> >
> > On Tue, 7 Oct 2025 16:31:41 -0400
> > Steven Rostedt <rostedt@xxxxxxxxxxx> 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.
>
I may need to make this patch the official solution.
-- Steve