Re: [PATCH 04/11] ftrace: comment arch ftrace code

Steven Rostedt
2008-10-22T19:16:44Z

On Wed, 22 Oct 2008, Andrew Morton wrote:
>
> I dunno.
>
> __copy_to_user_inatomic() is for "copying memory from userspace while
> in an atomic context".
>
> But what you're doing here is "modifying some kernel text which might
> generate a fault". It seems somewhat interface-abusive to use a
> userspace access function for that just because it happens right now to
> do the right thing.
>
> I'd suggest that for clarity and for future-safety, you create some new
> interface function which does that thing. Right now it can be a simple
> wrapper around __copy_from_user_inatomic().
>
> <looks>
>
> oh, someone added one - probe_kernel_write(). Why not use that?

I didn't know about that code. That is what I want.

-- Steve

>
> <wonders why he doesn't know what's going on any more>
>
>
> Also, I hope that the above code is called from within a
> pagefault_disable()d region? Or are relying upon some magical
> side-effect of something which happens to do the same thing as
> pagefault_disable()? IOW: by what means does the above code ensure
> that do_page_fault() will see in_atomic()==true?

This code is called from kstop_machine, or simply has interrupts disabled.

-- Steve