__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.