link(2) and EFAULT

Jonas Trollvik jontro at
Fri Jul 27 00:57:13 PDT 2007

The kernel needs to validate that the pointers it gets from userland
are valid, otherwise this could lead to an exploit/panic among other


On 7/27/07, Michael Galassi <nerd at> wrote:
> A few hours ago I wrote:
> > copyin() is called by the system call code and returns
> > efault after validating the address, before actually
> > touching it.
> This is the traditional way of doing things but is clearly expensive
> as validating a user address takes forever and a bit.  Do we blindly
> use whatever address is passed in and then add checking to the page
> fault code to figure out if we should just return efault?  This would
> be a blatant example of optimizing the common case at small cost for
> the error case which most people probably don't care about.
> -michael

More information about the Kernel mailing list