hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/arch/mips/include/asm/uaccess.h
....@@ -69,11 +69,10 @@
6969 #define USER_DS ((mm_segment_t) { __UA_LIMIT })
7070 #endif
7171
72
-#define get_ds() (KERNEL_DS)
7372 #define get_fs() (current_thread_info()->addr_limit)
7473 #define set_fs(x) (current_thread_info()->addr_limit = (x))
7574
76
-#define segment_eq(a, b) ((a).seg == (b).seg)
75
+#define uaccess_kernel() (get_fs().seg == KERNEL_DS.seg)
7776
7877 /*
7978 * eva_kernel_access() - determine whether kernel memory access on an EVA system
....@@ -109,9 +108,6 @@
109108
110109 /*
111110 * access_ok: - Checks if a user space pointer is valid
112
- * @type: Type of access: %VERIFY_READ or %VERIFY_WRITE. Note that
113
- * %VERIFY_WRITE is a superset of %VERIFY_READ - if it is safe
114
- * to write to a block, it is always safe to read from it.
115111 * @addr: User space pointer to start of block to check
116112 * @size: Size of block to check
117113 *
....@@ -134,7 +130,7 @@
134130 return (get_fs().seg & (addr | (addr + size) | __ua_size(size))) == 0;
135131 }
136132
137
-#define access_ok(type, addr, size) \
133
+#define access_ok(addr, size) \
138134 likely(__access_ok((addr), (size)))
139135
140136 /*
....@@ -304,7 +300,7 @@
304300 const __typeof__(*(ptr)) __user * __gu_ptr = (ptr); \
305301 \
306302 might_fault(); \
307
- if (likely(access_ok(VERIFY_READ, __gu_ptr, size))) { \
303
+ if (likely(access_ok( __gu_ptr, size))) { \
308304 if (eva_kernel_access()) \
309305 __get_kernel_common((x), size, __gu_ptr); \
310306 else \
....@@ -446,7 +442,7 @@
446442 int __pu_err = -EFAULT; \
447443 \
448444 might_fault(); \
449
- if (likely(access_ok(VERIFY_WRITE, __pu_addr, size))) { \
445
+ if (likely(access_ok( __pu_addr, size))) { \
450446 if (eva_kernel_access()) \
451447 __put_kernel_common(__pu_addr, size); \
452448 else \
....@@ -691,8 +687,7 @@
691687 ({ \
692688 void __user * __cl_addr = (addr); \
693689 unsigned long __cl_size = (n); \
694
- if (__cl_size && access_ok(VERIFY_WRITE, \
695
- __cl_addr, __cl_size)) \
690
+ if (__cl_size && access_ok(__cl_addr, __cl_size)) \
696691 __cl_size = __clear_user(__cl_addr, __cl_size); \
697692 __cl_size; \
698693 })