[PATCH 1/4] x86, putuser: add ASM_CALL_CONSTRAINT

From: Alexey Dobriyan
Date: Sat Mar 16 2019 - 17:01:35 EST


Clobber stack pointer given that assembly does CALL.

Signed-off-by: Alexey Dobriyan <adobriyan@xxxxxxxxx>
---

arch/x86/include/asm/uaccess.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--- a/arch/x86/include/asm/uaccess.h
+++ b/arch/x86/include/asm/uaccess.h
@@ -176,7 +176,8 @@ __typeof__(__builtin_choose_expr(sizeof(x) > sizeof(0UL), 0ULL, 0UL))
})

#define __put_user_x(size, x, ptr, __ret_pu) \
- asm volatile("call __put_user_" #size : "=a" (__ret_pu) \
+ asm volatile("call __put_user_" #size \
+ : "=a" (__ret_pu), ASM_CALL_CONSTRAINT \
: "0" ((typeof(*(ptr)))(x)), "c" (ptr) : "ebx")