diff -Nur linux-2.6.29.orig/arch/x86/include/asm/uaccess_64.h linux-2.6.29/arch/x86/include/asm/uaccess_64.h --- linux-2.6.29.orig/arch/x86/include/asm/uaccess_64.h 2009-03-24 10:12:14.000000000 +1100 +++ linux-2.6.29/arch/x86/include/asm/uaccess_64.h 2009-07-20 08:49:21.000000000 +1000 @@ -88,11 +88,11 @@ ret, "l", "k", "ir", 4); return ret; case 8:__put_user_asm(*(u64 *)src, (u64 __user *)dst, - ret, "q", "", "ir", 8); + ret, "q", "", "er", 8); return ret; case 10: __put_user_asm(*(u64 *)src, (u64 __user *)dst, - ret, "q", "", "ir", 10); + ret, "q", "", "er", 10); if (unlikely(ret)) return ret; asm("":::"memory"); @@ -101,12 +101,12 @@ return ret; case 16: __put_user_asm(*(u64 *)src, (u64 __user *)dst, - ret, "q", "", "ir", 16); + ret, "q", "", "er", 16); if (unlikely(ret)) return ret; asm("":::"memory"); __put_user_asm(1[(u64 *)src], 1 + (u64 __user *)dst, - ret, "q", "", "ir", 8); + ret, "q", "", "er", 8); return ret; default: return copy_user_generic((__force void *)dst, src, size);