/* If some data could not be copied, this function will pad the copied data to the requested size using zero bytes.  */
unsigned long _copy_from_user(void *to, const void __user *from, unsigned long n)
/* If some data could not be copied, this function will pad the copied data to the requested size using zero bytes.  */
unsigned long _copy_from_user(void *to, const void __user *from, unsigned long n)
{
	if (access_ok(VERIFY_READ, from, n))
		n = __copy_from_user(to, from, n);
	else
		memset(to, 0, n);
	return n;
}