__copy_to_user_inato(9)
NAME
__copy_to_user_inatomic - Copy a block of data into user space, with
less checking.
SYNOPSIS
unsigned long __must_check __copy_to_user_inatomic(void __user * to,
const void * from,
unsigned long n);
ARGUMENTS
- to
- Destination address, in user space.
- from
- Source address, in kernel space.
- n
- Number of bytes to copy.
CONTEXT
User context only.
DESCRIPTION
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.