|
@@ -166,9 +166,10 @@ do { \
|
|
|
|
|
|
#define get_user(x, ptr) \
|
|
|
({ \
|
|
|
+ __typeof__(*(ptr)) __user *__p = (ptr); \
|
|
|
might_fault(); \
|
|
|
- access_ok(VERIFY_READ, (ptr), sizeof(*(ptr))) ? \
|
|
|
- __get_user((x), (ptr)) : \
|
|
|
+ access_ok(VERIFY_READ, __p, sizeof(*__p)) ? \
|
|
|
+ __get_user((x), __p) : \
|
|
|
((x) = 0, -EFAULT); \
|
|
|
})
|
|
|
|
|
@@ -227,9 +228,10 @@ do { \
|
|
|
|
|
|
#define put_user(x, ptr) \
|
|
|
({ \
|
|
|
+ __typeof__(*(ptr)) __user *__p = (ptr); \
|
|
|
might_fault(); \
|
|
|
- access_ok(VERIFY_WRITE, (ptr), sizeof(*(ptr))) ? \
|
|
|
- __put_user((x), (ptr)) : \
|
|
|
+ access_ok(VERIFY_WRITE, __p, sizeof(*__p)) ? \
|
|
|
+ __put_user((x), __p) : \
|
|
|
-EFAULT; \
|
|
|
})
|
|
|
|