[PATCH v2 10/10] kernel: might_fault does not imply might_sleep
Steven Rostedt
rostedt at goodmis.org
Sun May 19 08:34:04 EDT 2013
On Sun, 2013-05-19 at 12:35 +0300, Michael S. Tsirkin wrote:
> No, I was not assuming that. What I'm trying to say is that a caller
> that does something like this under a spinlock:
> preempt_disable
> pagefault_disable
> error = copy_to_user
> pagefault_enable
> preempt_enable_no_resched
>
> is not doing anything wrong and should not get a warning,
> as long as error is handled correctly later.
> Right?
>
What I see wrong with the above is the preempt_enable_no_resched(). The
only place that should be ever used is right before a schedule(), as you
don't want to schedule twice (once for the preempt_enable() and then
again for the schedule itself).
Remember, in -rt, a spin lock does not disable preemption.
-- Steve
More information about the linux-arm-kernel
mailing list