lkml.org 
[lkml]   [2003]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: atomic copy_from_user?


On Sun, 21 Dec 2003, Albert Cahalan wrote:
>
> Surely I'm not the only one wanting such a beast...?

I sure as hell hope you are.

> From some naughty place in the code where might_sleep
> would trigger, I'd like to read from user memory.
> I'll pretty much assume that mlockall() has been
> called. Suppose that "current" is correct as well.
> I'd just use a pointer directly, except that:
>
> a. it isn't OK for the 4g/4g feature, s390, or sparc64
> b. it causes the "sparse" type checker to complain
> c. it will oops or worse if the user screwed up
>
> If the page is swapped out, I want a failed copy.

the sequence

local_bh_disable();
err = get_user(n, ptr);
local_bh_enable();
if (!err)
.. 'n' .. was the value

will do this in 2.6.x, except it will complain loudly about the unatomic
access. Other than that, it will do what you ask for.

However, I'd still suggest not doing this. It's just broken. I don't see
any real reason to do this except as a "test if the page is paged out"
kind of thing..

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2009-11-18 23:46    [W:0.066 / U:0.364 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site