hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/arch/x86/lib/usercopy_32.c
....@@ -47,41 +47,41 @@
4747 "3: lea 0(%2,%0,4),%0\n" \
4848 " jmp 2b\n" \
4949 ".previous\n" \
50
- _ASM_EXTABLE(0b,3b) \
51
- _ASM_EXTABLE(1b,2b) \
50
+ _ASM_EXTABLE_UA(0b, 3b) \
51
+ _ASM_EXTABLE_UA(1b, 2b) \
5252 : "=&c"(size), "=&D" (__d0) \
5353 : "r"(size & 3), "0"(size / 4), "1"(addr), "a"(0)); \
5454 } while (0)
5555
5656 /**
57
- * clear_user: - Zero a block of memory in user space.
57
+ * clear_user - Zero a block of memory in user space.
5858 * @to: Destination address, in user space.
5959 * @n: Number of bytes to zero.
6060 *
6161 * Zero a block of memory in user space.
6262 *
63
- * Returns number of bytes that could not be cleared.
63
+ * Return: number of bytes that could not be cleared.
6464 * On success, this will be zero.
6565 */
6666 unsigned long
6767 clear_user(void __user *to, unsigned long n)
6868 {
6969 might_fault();
70
- if (access_ok(VERIFY_WRITE, to, n))
70
+ if (access_ok(to, n))
7171 __do_clear_user(to, n);
7272 return n;
7373 }
7474 EXPORT_SYMBOL(clear_user);
7575
7676 /**
77
- * __clear_user: - Zero a block of memory in user space, with less checking.
77
+ * __clear_user - Zero a block of memory in user space, with less checking.
7878 * @to: Destination address, in user space.
7979 * @n: Number of bytes to zero.
8080 *
8181 * Zero a block of memory in user space. Caller must check
8282 * the specified block with access_ok() before calling this function.
8383 *
84
- * Returns number of bytes that could not be cleared.
84
+ * Return: number of bytes that could not be cleared.
8585 * On success, this will be zero.
8686 */
8787 unsigned long
....@@ -153,44 +153,44 @@
153153 "101: lea 0(%%eax,%0,4),%0\n"
154154 " jmp 100b\n"
155155 ".previous\n"
156
- _ASM_EXTABLE(1b,100b)
157
- _ASM_EXTABLE(2b,100b)
158
- _ASM_EXTABLE(3b,100b)
159
- _ASM_EXTABLE(4b,100b)
160
- _ASM_EXTABLE(5b,100b)
161
- _ASM_EXTABLE(6b,100b)
162
- _ASM_EXTABLE(7b,100b)
163
- _ASM_EXTABLE(8b,100b)
164
- _ASM_EXTABLE(9b,100b)
165
- _ASM_EXTABLE(10b,100b)
166
- _ASM_EXTABLE(11b,100b)
167
- _ASM_EXTABLE(12b,100b)
168
- _ASM_EXTABLE(13b,100b)
169
- _ASM_EXTABLE(14b,100b)
170
- _ASM_EXTABLE(15b,100b)
171
- _ASM_EXTABLE(16b,100b)
172
- _ASM_EXTABLE(17b,100b)
173
- _ASM_EXTABLE(18b,100b)
174
- _ASM_EXTABLE(19b,100b)
175
- _ASM_EXTABLE(20b,100b)
176
- _ASM_EXTABLE(21b,100b)
177
- _ASM_EXTABLE(22b,100b)
178
- _ASM_EXTABLE(23b,100b)
179
- _ASM_EXTABLE(24b,100b)
180
- _ASM_EXTABLE(25b,100b)
181
- _ASM_EXTABLE(26b,100b)
182
- _ASM_EXTABLE(27b,100b)
183
- _ASM_EXTABLE(28b,100b)
184
- _ASM_EXTABLE(29b,100b)
185
- _ASM_EXTABLE(30b,100b)
186
- _ASM_EXTABLE(31b,100b)
187
- _ASM_EXTABLE(32b,100b)
188
- _ASM_EXTABLE(33b,100b)
189
- _ASM_EXTABLE(34b,100b)
190
- _ASM_EXTABLE(35b,100b)
191
- _ASM_EXTABLE(36b,100b)
192
- _ASM_EXTABLE(37b,100b)
193
- _ASM_EXTABLE(99b,101b)
156
+ _ASM_EXTABLE_UA(1b, 100b)
157
+ _ASM_EXTABLE_UA(2b, 100b)
158
+ _ASM_EXTABLE_UA(3b, 100b)
159
+ _ASM_EXTABLE_UA(4b, 100b)
160
+ _ASM_EXTABLE_UA(5b, 100b)
161
+ _ASM_EXTABLE_UA(6b, 100b)
162
+ _ASM_EXTABLE_UA(7b, 100b)
163
+ _ASM_EXTABLE_UA(8b, 100b)
164
+ _ASM_EXTABLE_UA(9b, 100b)
165
+ _ASM_EXTABLE_UA(10b, 100b)
166
+ _ASM_EXTABLE_UA(11b, 100b)
167
+ _ASM_EXTABLE_UA(12b, 100b)
168
+ _ASM_EXTABLE_UA(13b, 100b)
169
+ _ASM_EXTABLE_UA(14b, 100b)
170
+ _ASM_EXTABLE_UA(15b, 100b)
171
+ _ASM_EXTABLE_UA(16b, 100b)
172
+ _ASM_EXTABLE_UA(17b, 100b)
173
+ _ASM_EXTABLE_UA(18b, 100b)
174
+ _ASM_EXTABLE_UA(19b, 100b)
175
+ _ASM_EXTABLE_UA(20b, 100b)
176
+ _ASM_EXTABLE_UA(21b, 100b)
177
+ _ASM_EXTABLE_UA(22b, 100b)
178
+ _ASM_EXTABLE_UA(23b, 100b)
179
+ _ASM_EXTABLE_UA(24b, 100b)
180
+ _ASM_EXTABLE_UA(25b, 100b)
181
+ _ASM_EXTABLE_UA(26b, 100b)
182
+ _ASM_EXTABLE_UA(27b, 100b)
183
+ _ASM_EXTABLE_UA(28b, 100b)
184
+ _ASM_EXTABLE_UA(29b, 100b)
185
+ _ASM_EXTABLE_UA(30b, 100b)
186
+ _ASM_EXTABLE_UA(31b, 100b)
187
+ _ASM_EXTABLE_UA(32b, 100b)
188
+ _ASM_EXTABLE_UA(33b, 100b)
189
+ _ASM_EXTABLE_UA(34b, 100b)
190
+ _ASM_EXTABLE_UA(35b, 100b)
191
+ _ASM_EXTABLE_UA(36b, 100b)
192
+ _ASM_EXTABLE_UA(37b, 100b)
193
+ _ASM_EXTABLE_UA(99b, 101b)
194194 : "=&c"(size), "=&D" (d0), "=&S" (d1)
195195 : "1"(to), "2"(from), "0"(size)
196196 : "eax", "edx", "memory");
....@@ -259,26 +259,26 @@
259259 "9: lea 0(%%eax,%0,4),%0\n"
260260 "16: jmp 8b\n"
261261 ".previous\n"
262
- _ASM_EXTABLE(0b,16b)
263
- _ASM_EXTABLE(1b,16b)
264
- _ASM_EXTABLE(2b,16b)
265
- _ASM_EXTABLE(21b,16b)
266
- _ASM_EXTABLE(3b,16b)
267
- _ASM_EXTABLE(31b,16b)
268
- _ASM_EXTABLE(4b,16b)
269
- _ASM_EXTABLE(41b,16b)
270
- _ASM_EXTABLE(10b,16b)
271
- _ASM_EXTABLE(51b,16b)
272
- _ASM_EXTABLE(11b,16b)
273
- _ASM_EXTABLE(61b,16b)
274
- _ASM_EXTABLE(12b,16b)
275
- _ASM_EXTABLE(71b,16b)
276
- _ASM_EXTABLE(13b,16b)
277
- _ASM_EXTABLE(81b,16b)
278
- _ASM_EXTABLE(14b,16b)
279
- _ASM_EXTABLE(91b,16b)
280
- _ASM_EXTABLE(6b,9b)
281
- _ASM_EXTABLE(7b,16b)
262
+ _ASM_EXTABLE_UA(0b, 16b)
263
+ _ASM_EXTABLE_UA(1b, 16b)
264
+ _ASM_EXTABLE_UA(2b, 16b)
265
+ _ASM_EXTABLE_UA(21b, 16b)
266
+ _ASM_EXTABLE_UA(3b, 16b)
267
+ _ASM_EXTABLE_UA(31b, 16b)
268
+ _ASM_EXTABLE_UA(4b, 16b)
269
+ _ASM_EXTABLE_UA(41b, 16b)
270
+ _ASM_EXTABLE_UA(10b, 16b)
271
+ _ASM_EXTABLE_UA(51b, 16b)
272
+ _ASM_EXTABLE_UA(11b, 16b)
273
+ _ASM_EXTABLE_UA(61b, 16b)
274
+ _ASM_EXTABLE_UA(12b, 16b)
275
+ _ASM_EXTABLE_UA(71b, 16b)
276
+ _ASM_EXTABLE_UA(13b, 16b)
277
+ _ASM_EXTABLE_UA(81b, 16b)
278
+ _ASM_EXTABLE_UA(14b, 16b)
279
+ _ASM_EXTABLE_UA(91b, 16b)
280
+ _ASM_EXTABLE_UA(6b, 9b)
281
+ _ASM_EXTABLE_UA(7b, 16b)
282282 : "=&c"(size), "=&D" (d0), "=&S" (d1)
283283 : "1"(to), "2"(from), "0"(size)
284284 : "eax", "edx", "memory");
....@@ -321,9 +321,9 @@
321321 "3: lea 0(%3,%0,4),%0\n" \
322322 " jmp 2b\n" \
323323 ".previous\n" \
324
- _ASM_EXTABLE(4b,5b) \
325
- _ASM_EXTABLE(0b,3b) \
326
- _ASM_EXTABLE(1b,2b) \
324
+ _ASM_EXTABLE_UA(4b, 5b) \
325
+ _ASM_EXTABLE_UA(0b, 3b) \
326
+ _ASM_EXTABLE_UA(1b, 2b) \
327327 : "=&c"(size), "=&D" (__d0), "=&S" (__d1), "=r"(__d2) \
328328 : "3"(size), "0"(size), "1"(to), "2"(from) \
329329 : "memory"); \