This macro copies a single simple variable from user space to kernel space. It supports simple types like char and int, but not larger data types like structures or arrays.
ptr
must have pointer-to-simple-variable type, and the result of
dereferencing ptr
must be assignable to x
without a cast.
Caller must check the pointer with access_ok
before calling this
function.
Returns zero on success, or -EFAULT on error.
On error, the variable x
is set to zero.