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