Confused about usercopy_64.c
Timur Tabi
timur at freescale.com
Tue Mar 11 03:38:49 EST 2008
I'm confused about something in usercopy_64.c:
unsigned long copy_from_user(void *to, const void __user *from, unsigned long n)
{
if (likely(access_ok(VERIFY_READ, from, n)))
n = __copy_from_user(to, from, n);
else
memset(to, 0, n);
return n;
}
If access_ok() returns false, then that means that we cannot copy the data from
user-space. So why are we returning 'n'? Shouldn't we return zero, to let the
caller know that the function failed?
--
Timur Tabi
Linux kernel developer at Freescale
More information about the Linuxppc-dev
mailing list