__copy_to_user_inatomic
Prev | User Space Memory Access | Next

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

Prev | Up | Next
__put_user | Home | __copy_to_user