[PATCH] tracing: Fix tracing_marker may trigger page fault during preempt_disable
Steven Rostedt
rostedt at goodmis.org
Tue Sep 2 07:11:51 PDT 2025
On Mon, 1 Sep 2025 10:43:36 +0100
Mark Rutland <mark.rutland at arm.com> wrote:
> > So, __copy_from_user_inatomic() is supposed to be called if
> > pagefault_disable() has already been called? If this is the case, can we
> > add more comments to this code?
>
> Just to check, you're asking for better comments in <linux/uaccess.h>,
> right?
Yes.
>
> > I've been using the inatomic() version this
> > way in preempt disabled locations since 2016.
> >
> > Looks like it needs to be converted to copy_from_user_nofault().
> >
> > Luo, this version of the patch looks legit, no need for a v2.
> >
> > I just wanted to figure out why __copy_from_user_inatomic() wasn't atomic.
> > If anything, it needs to be better documented.
>
> If that had roughly the same kerneldoc comment as for
> __copy_to_user_inatomic(), would that be sufficient, or do you think
> both need to be made more explicit?
Yeah, it would have been very helpful to have that. Note, my use of
__copy_from_user_inatomic() was added before copy_from_user_nofault()
existed. So it would likely not have been helpful back then ;-)
I think even adding a comment to the kerneldoc of these functions with
something like:
You probably want to use copy_from/to_user_nofault(). These are more
for internal handling, and should be avoided unless you really know
what you are doing.
-- Steve
More information about the linux-arm-kernel
mailing list