__get_user
Prev | User Space Memory Access | Next

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

Prev | Up | Next
put_user | Home | __put_user