__copy_to_user_inatomic — Copy a block of data into user space, with less checking.
unsigned long __must_check __copy_to_user_inatomic ( | void __user * | to, |
const void * | from, | |
unsigned long | n) ; |
to
Destination address, in user space.
from
Source address, in kernel space.
n
Number of bytes to copy.
Copy data from kernel space to user space. Caller must check
the specified block with access_ok
before calling this function.
The caller should also make sure he pins the user space address
so that the we don't result in page fault and sleep.
Here we special-case 1, 2 and 4-byte copy_*_user invocations. On a fault we return the initial request size (1, 2 or 4), as copy_*_user should do. If a store crosses a page boundary and gets a fault, the x86 will not write anything, so this is accurate.