diff options
Diffstat (limited to 'arch/hexagon/include/asm/futex.h')
| -rw-r--r-- | arch/hexagon/include/asm/futex.h | 5 | 
1 files changed, 2 insertions, 3 deletions
| diff --git a/arch/hexagon/include/asm/futex.h b/arch/hexagon/include/asm/futex.h index 0191f7c7193e..6b9c554aee78 100644 --- a/arch/hexagon/include/asm/futex.h +++ b/arch/hexagon/include/asm/futex.h @@ -36,7 +36,8 @@ arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr)  {  	int oldval = 0, ret; -	pagefault_disable(); +	if (!access_ok(uaddr, sizeof(u32))) +		return -EFAULT;  	switch (op) {  	case FUTEX_OP_SET: @@ -62,8 +63,6 @@ arch_futex_atomic_op_inuser(int op, int oparg, int *oval, u32 __user *uaddr)  		ret = -ENOSYS;  	} -	pagefault_enable(); -  	if (!ret)  		*oval = oldval; |