diff options
author | Aneesh Kumar K.V <aneesh.kumar@gmail.com> | 2007-05-02 19:27:06 +0200 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2007-05-02 19:27:06 +0200 |
commit | 6d1c426158131b11d05d66e7dd6bf91e5b1b4fc7 (patch) | |
tree | fd4c8d77edece77f9d7f22153b98dfddfc202208 /include/asm-i386/uaccess.h | |
parent | c8fdd247255a3a027cd9f66dcf93e6847d1d2f85 (diff) | |
download | lwn-6d1c426158131b11d05d66e7dd6bf91e5b1b4fc7.tar.gz lwn-6d1c426158131b11d05d66e7dd6bf91e5b1b4fc7.zip |
[PATCH] i386: Update __copy_to_user_inatomic linuxdoc description
Explicity specify that the caller should pin the user memory
otherwise the function will sleep
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@gmail.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'include/asm-i386/uaccess.h')
-rw-r--r-- | include/asm-i386/uaccess.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/include/asm-i386/uaccess.h b/include/asm-i386/uaccess.h index 70829ae3ad52..e2aa5e0d0cc7 100644 --- a/include/asm-i386/uaccess.h +++ b/include/asm-i386/uaccess.h @@ -397,7 +397,19 @@ unsigned long __must_check __copy_from_user_ll_nocache(void *to, unsigned long __must_check __copy_from_user_ll_nocache_nozero(void *to, const void __user *from, unsigned long n); -/* +/** + * __copy_to_user_inatomic: - Copy a block of data into user space, with less checking. + * @to: Destination address, in user space. + * @from: Source address, in kernel space. + * @n: Number of bytes to copy. + * + * Context: User context only. + * + * 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 |