lkml.org 
[lkml]   [2015]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH RFC 01/15] uaccess: count pagefault_disable() levels in pagefault_disabled
On Thu, May 07, 2015 at 01:40:30PM +0200, David Hildenbrand wrote:
> But anyhow, opinions seem to differ how to best handle that whole stuff.
>
> I think a separate counter just makes sense, as we are dealing with two
> different concepts and we don't want to lose the preempt_disable =^ NOP
> for !CONFIG_PREEMPT.
>
> I also think that
>
> pagefault_disable()
> rt = copy_from_user()
> pagefault_enable()
>
> is a valid use case.
>
> So any suggestions how to continue?


static inline bool __pagefault_disabled(void)
{
return current->pagefault_disabled;
}

static inline bool pagefault_disabled(void)
{
return in_atomic() || __pagefault_disabled();
}

And leave the preempt_disable() + pagefault_disable() for now. You're
right in that that is clearest.

If we ever get to the point where that really is an issue, I'll try and
be clever then :-)


\
 
 \ /
  Last update: 2015-05-07 14:21    [W:0.068 / U:0.052 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site