Re: out-of-line x86 "put_user()" implementation

From: Richard Henderson
Date: Tue Feb 08 2005 - 20:30:53 EST


On Mon, Feb 07, 2005 at 05:20:06PM -0800, Linus Torvalds wrote:
> +#define __put_user_8(x, ptr) __asm__ __volatile__("call __put_user_8":"=A" (__ret_pu):"0" ((typeof(*(ptr)))(x)), "c" (ptr))

This is not constrained enough. The compiler could choose to put the
return value in edx. You want

__asm__ __volatile__("call __put_user_8":"=a" (__ret_pu)
: "A" ((typeof(*(ptr)))(x)), "c" (ptr))


r~
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/