Name

__get_user — Get a simple variable from user space, with less checking.

Synopsis

__get_user (  x,
   ptr);

Arguments

x

Variable to store result.

ptr

Source address, in user space.

Context

User context only. This function may sleep.

Description

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.