arch/x86/lib/getuser.S | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/arch/x86/lib/getuser.S b/arch/x86/lib/getuser.S index a314622aa093..3ee80b9c4f78 100644 --- a/arch/x86/lib/getuser.S +++ b/arch/x86/lib/getuser.S @@ -44,9 +44,9 @@ or %rdx, %rax .else cmp $TASK_SIZE_MAX-\size+1, %eax - jae .Lbad_get_user sbb %edx, %edx /* array_index_mask_nospec() */ - and %edx, %eax + not %edx + or %edx, %eax .endif .endm @@ -153,7 +153,6 @@ EXPORT_SYMBOL(__get_user_nocheck_8) SYM_CODE_START_LOCAL(__get_user_handle_exception) ASM_CLAC -.Lbad_get_user: xor %edx,%edx mov $(-EFAULT),%_ASM_AX RET