Clobber stack pointer given that assembly does CALL.

Signed-off-by: Alexey Dobriyan <adobri...@gmail.com>
---

 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")
 
 

Reply via email to