Commit d12a2970385cfe0c1b0439f53c3ed1055d4dee3e

Authored by Heiko Carstens
Committed by Martin Schwidefsky
1 parent f45655f6a6

s390/uaccess: remove pointless access_ok() checks

access_ok() always returns 'true' on s390. Therefore all calls
are quite pointless and can be removed.

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

Showing 4 changed files with 5 additions and 46 deletions Side-by-side Diff

arch/s390/include/asm/futex.h
... ... @@ -16,9 +16,6 @@
16 16 if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28))
17 17 oparg = 1 << oparg;
18 18  
19   - if (! access_ok (VERIFY_WRITE, uaddr, sizeof(u32)))
20   - return -EFAULT;
21   -
22 19 pagefault_disable();
23 20 ret = uaccess.futex_atomic_op(op, uaddr, oparg, &oldval);
24 21 pagefault_enable();
... ... @@ -40,9 +37,6 @@
40 37 static inline int futex_atomic_cmpxchg_inatomic(u32 *uval, u32 __user *uaddr,
41 38 u32 oldval, u32 newval)
42 39 {
43   - if (! access_ok (VERIFY_WRITE, uaddr, sizeof(u32)))
44   - return -EFAULT;
45   -
46 40 return uaccess.futex_atomic_cmpxchg(uval, uaddr, oldval, newval);
47 41 }
48 42  
arch/s390/include/asm/uaccess.h
... ... @@ -252,9 +252,7 @@
252 252 copy_to_user(void __user *to, const void *from, unsigned long n)
253 253 {
254 254 might_fault();
255   - if (access_ok(VERIFY_WRITE, to, n))
256   - n = __copy_to_user(to, from, n);
257   - return n;
  255 + return __copy_to_user(to, from, n);
258 256 }
259 257  
260 258 /**
... ... @@ -315,11 +313,7 @@
315 313 copy_from_user_overflow();
316 314 return n;
317 315 }
318   - if (access_ok(VERIFY_READ, from, n))
319   - n = __copy_from_user(to, from, n);
320   - else
321   - memset(to, 0, n);
322   - return n;
  316 + return __copy_from_user(to, from, n);
323 317 }
324 318  
325 319 static inline unsigned long __must_check
... ... @@ -332,9 +326,7 @@
332 326 copy_in_user(void __user *to, const void __user *from, unsigned long n)
333 327 {
334 328 might_fault();
335   - if (__access_ok(from,n) && __access_ok(to,n))
336   - n = __copy_in_user(to, from, n);
337   - return n;
  329 + return __copy_in_user(to, from, n);
338 330 }
339 331  
340 332 /*
341 333  
... ... @@ -343,11 +335,8 @@
343 335 static inline long __must_check
344 336 strncpy_from_user(char *dst, const char __user *src, long count)
345 337 {
346   - long res = -EFAULT;
347 338 might_fault();
348   - if (access_ok(VERIFY_READ, src, 1))
349   - res = uaccess.strncpy_from_user(count, src, dst);
350   - return res;
  339 + return uaccess.strncpy_from_user(count, src, dst);
351 340 }
352 341  
353 342 static inline unsigned long
... ... @@ -387,9 +376,7 @@
387 376 clear_user(void __user *to, unsigned long n)
388 377 {
389 378 might_fault();
390   - if (access_ok(VERIFY_WRITE, to, n))
391   - n = uaccess.clear_user(n, to);
392   - return n;
  379 + return uaccess.clear_user(n, to);
393 380 }
394 381  
395 382 extern int copy_to_user_real(void __user *dest, void *src, size_t count);
arch/s390/kernel/compat_signal.c
... ... @@ -53,9 +53,6 @@
53 53 {
54 54 int err;
55 55  
56   - if (!access_ok (VERIFY_WRITE, to, sizeof(compat_siginfo_t)))
57   - return -EFAULT;
58   -
59 56 /* If you change siginfo_t structure, please be sure
60 57 this code is fixed accordingly.
61 58 It should never copy any pad contained in the structure
... ... @@ -110,9 +107,6 @@
110 107 int err;
111 108 u32 tmp;
112 109  
113   - if (!access_ok (VERIFY_READ, from, sizeof(compat_siginfo_t)))
114   - return -EFAULT;
115   -
116 110 err = __get_user(to->si_signo, &from->si_signo);
117 111 err |= __get_user(to->si_errno, &from->si_errno);
118 112 err |= __get_user(to->si_code, &from->si_code);
... ... @@ -244,8 +238,6 @@
244 238 sigframe32 __user *frame = (sigframe32 __user *)regs->gprs[15];
245 239 sigset_t set;
246 240  
247   - if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
248   - goto badframe;
249 241 if (__copy_from_user(&set.sig, &frame->sc.oldmask, _SIGMASK_COPY_SIZE32))
250 242 goto badframe;
251 243 set_current_blocked(&set);
... ... @@ -265,8 +257,6 @@
265 257 rt_sigframe32 __user *frame = (rt_sigframe32 __user *)regs->gprs[15];
266 258 sigset_t set;
267 259  
268   - if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
269   - goto badframe;
270 260 if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set)))
271 261 goto badframe;
272 262 set_current_blocked(&set);
... ... @@ -325,8 +315,6 @@
325 315 sigset_t *set, struct pt_regs * regs)
326 316 {
327 317 sigframe32 __user *frame = get_sigframe(ka, regs, sizeof(sigframe32));
328   - if (!access_ok(VERIFY_WRITE, frame, sizeof(sigframe32)))
329   - goto give_sigsegv;
330 318  
331 319 if (frame == (void __user *) -1UL)
332 320 goto give_sigsegv;
... ... @@ -391,8 +379,6 @@
391 379 {
392 380 int err = 0;
393 381 rt_sigframe32 __user *frame = get_sigframe(ka, regs, sizeof(rt_sigframe32));
394   - if (!access_ok(VERIFY_WRITE, frame, sizeof(rt_sigframe32)))
395   - goto give_sigsegv;
396 382  
397 383 if (frame == (void __user *) -1UL)
398 384 goto give_sigsegv;
arch/s390/kernel/signal.c
... ... @@ -116,8 +116,6 @@
116 116 sigframe __user *frame = (sigframe __user *)regs->gprs[15];
117 117 sigset_t set;
118 118  
119   - if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
120   - goto badframe;
121 119 if (__copy_from_user(&set.sig, &frame->sc.oldmask, _SIGMASK_COPY_SIZE))
122 120 goto badframe;
123 121 set_current_blocked(&set);
... ... @@ -135,8 +133,6 @@
135 133 rt_sigframe __user *frame = (rt_sigframe __user *)regs->gprs[15];
136 134 sigset_t set;
137 135  
138   - if (!access_ok(VERIFY_READ, frame, sizeof(*frame)))
139   - goto badframe;
140 136 if (__copy_from_user(&set.sig, &frame->uc.uc_sigmask, sizeof(set)))
141 137 goto badframe;
142 138 set_current_blocked(&set);
... ... @@ -195,8 +191,6 @@
195 191 sigframe __user *frame;
196 192  
197 193 frame = get_sigframe(ka, regs, sizeof(sigframe));
198   - if (!access_ok(VERIFY_WRITE, frame, sizeof(sigframe)))
199   - goto give_sigsegv;
200 194  
201 195 if (frame == (void __user *) -1UL)
202 196 goto give_sigsegv;
... ... @@ -264,8 +258,6 @@
264 258 rt_sigframe __user *frame;
265 259  
266 260 frame = get_sigframe(ka, regs, sizeof(rt_sigframe));
267   - if (!access_ok(VERIFY_WRITE, frame, sizeof(rt_sigframe)))
268   - goto give_sigsegv;
269 261  
270 262 if (frame == (void __user *) -1UL)
271 263 goto give_sigsegv;