How does __user works?

Grzegorz Dwornicki gd1100 at
Sat Jan 19 11:34:15 EST 2013

How does __user macro works? I know it is defined in
include/linux/compiler.h as:
# define __user.        __attribute__((noderef, address_space(1)))
I could write thesse macros defs too but my real problem is: what does this
stuff do? Some functions use this macro and other does not. For example
compat_do_execve (from include/linux/comtap.h) use normal pointer named
filename and second pointer named argv as __user pointer. Why does argv
needs __user but filename not?

-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Kernelnewbies mailing list