projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'v3.10/topic/misc' into linux-linaro-lsk
[firefly-linux-kernel-4.4.55.git]
/
arch
/
arm64
/
include
/
asm
/
uaccess.h
diff --git
a/arch/arm64/include/asm/uaccess.h
b/arch/arm64/include/asm/uaccess.h
index 8e8df0135f416eab7137a5b9284822c34e863ce8..3bf8f4e99a511c67a3a2d9c4a739929cedd5889f 100644
(file)
--- a/
arch/arm64/include/asm/uaccess.h
+++ b/
arch/arm64/include/asm/uaccess.h
@@
-167,9
+167,10
@@
do { \
#define get_user(x, ptr) \
({ \
#define get_user(x, ptr) \
({ \
- might_sleep(); \
- access_ok(VERIFY_READ, (ptr), sizeof(*(ptr))) ? \
- __get_user((x), (ptr)) : \
+ __typeof__(*(ptr)) __user *__p = (ptr); \
+ might_fault(); \
+ access_ok(VERIFY_READ, __p, sizeof(*__p)) ? \
+ __get_user((x), __p) : \
((x) = 0, -EFAULT); \
})
((x) = 0, -EFAULT); \
})
@@
-228,9
+229,10
@@
do { \
#define put_user(x, ptr) \
({ \
#define put_user(x, ptr) \
({ \
- might_sleep(); \
- access_ok(VERIFY_WRITE, (ptr), sizeof(*(ptr))) ? \
- __put_user((x), (ptr)) : \
+ __typeof__(*(ptr)) __user *__p = (ptr); \
+ might_fault(); \
+ access_ok(VERIFY_WRITE, __p, sizeof(*__p)) ? \
+ __put_user((x), __p) : \
-EFAULT; \
})
-EFAULT; \
})