1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
diff -Nur linux-4.3.orig/include/asm-generic/uaccess.h linux-4.3/include/asm-generic/uaccess.h
--- linux-4.3.orig/include/asm-generic/uaccess.h 2015-11-02 01:05:25.000000000 +0100
+++ linux-4.3/include/asm-generic/uaccess.h 2015-11-17 13:01:11.745876944 +0100
@@ -163,9 +163,10 @@
#define put_user(x, ptr) \
({ \
+ __typeof__((ptr)) __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; \
})
@@ -225,9 +226,10 @@
#define get_user(x, ptr) \
({ \
+ __typeof__((ptr)) __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) : \
-EFAULT; \
})
|