summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorIngo Molnar <mingo@elte.hu>2008-09-11 20:53:21 +0200
committerIngo Molnar <mingo@elte.hu>2008-09-11 21:42:59 +0200
commit1d18ef489509314506328b9e464dd47c24c1d68f (patch)
tree0462ee876e127f9b86afa05e48cfc50d0163cbd4 /include
parent3ee1afa308f2a38e5d1e2ad3752ad7abcf480da1 (diff)
downloadop-kernel-dev-1d18ef489509314506328b9e464dd47c24c1d68f.zip
op-kernel-dev-1d18ef489509314506328b9e464dd47c24c1d68f.tar.gz
x86: some lock annotations for user copy paths, v3
- add annotation back to clear_user() - change probe_kernel_address() to _inatomic*() method Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include')
-rw-r--r--include/asm-x86/uaccess.h2
-rw-r--r--include/linux/uaccess.h2
2 files changed, 1 insertions, 3 deletions
diff --git a/include/asm-x86/uaccess.h b/include/asm-x86/uaccess.h
index 39f8420..dc8edb5 100644
--- a/include/asm-x86/uaccess.h
+++ b/include/asm-x86/uaccess.h
@@ -267,7 +267,6 @@ extern void __put_user_8(void);
#define __put_user_size(x, ptr, size, retval, errret) \
do { \
retval = 0; \
- might_fault(); \
__chk_user_ptr(ptr); \
switch (size) { \
case 1: \
@@ -320,7 +319,6 @@ do { \
#define __get_user_size(x, ptr, size, retval, errret) \
do { \
retval = 0; \
- might_fault(); \
__chk_user_ptr(ptr); \
switch (size) { \
case 1: \
diff --git a/include/linux/uaccess.h b/include/linux/uaccess.h
index fec6dec..2062293 100644
--- a/include/linux/uaccess.h
+++ b/include/linux/uaccess.h
@@ -78,7 +78,7 @@ static inline unsigned long __copy_from_user_nocache(void *to,
\
set_fs(KERNEL_DS); \
pagefault_disable(); \
- ret = __get_user(retval, (__force typeof(retval) __user *)(addr)); \
+ ret = __copy_from_user_inatomic((__force typeof(retval) __user *)(addr), &(retval), sizeof(retval)); \
pagefault_enable(); \
set_fs(old_fs); \
ret; \
OpenPOWER on IntegriCloud