[RFC][PATCH v2 3/8] [parisc, s390, sparc64] no need for access_ok() in futex handling

From: Al Viro
Date: Thu Mar 26 2020 - 22:28:58 EST


From: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

access_ok() is always true on those

Signed-off-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
---
arch/parisc/include/asm/futex.h | 3 ---
arch/s390/include/asm/futex.h | 2 --
arch/sparc/include/asm/futex_64.h | 2 --
3 files changed, 7 deletions(-)

diff --git a/arch/parisc/include/asm/futex.h b/arch/parisc/include/asm/futex.h
index c10cc9010cc1..c459f656c8c3 100644
--- a/arch/parisc/include/asm/futex.h
+++ b/arch/parisc/include/asm/futex.h
@@ -39,9 +39,6 @@ arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr)
int oldval, ret;
u32 tmp;

- if (!access_ok(uaddr, sizeof(u32)))
- return -EFAULT;
-
_futex_spin_lock_irqsave(uaddr, &flags);

ret = -EFAULT;
diff --git a/arch/s390/include/asm/futex.h b/arch/s390/include/asm/futex.h
index ed965c3ecd5b..26f9144562c9 100644
--- a/arch/s390/include/asm/futex.h
+++ b/arch/s390/include/asm/futex.h
@@ -28,8 +28,6 @@ static inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval,
int oldval = 0, newval, ret;
mm_segment_t old_fs;

- if (!access_ok(uaddr, sizeof(u32)))
- return -EFAULT;
old_fs = enable_sacf_uaccess();
switch (op) {
case FUTEX_OP_SET:
diff --git a/arch/sparc/include/asm/futex_64.h b/arch/sparc/include/asm/futex_64.h
index 84fffaaf59d3..72de967318d7 100644
--- a/arch/sparc/include/asm/futex_64.h
+++ b/arch/sparc/include/asm/futex_64.h
@@ -35,8 +35,6 @@ static inline int arch_futex_atomic_op_inuser(int op, int oparg, int *oval,
{
int oldval = 0, ret, tem;

- if (!access_ok(uaddr, sizeof(u32)))
- return -EFAULT;
if (unlikely((((unsigned long) uaddr) & 0x3UL)))
return -EINVAL;

--
2.11.0