amd64: fix get_user() on bitwise
PATCH 1/1 amd64: fix get_user() on bitwise
We really need force-cast when converting to final result type; unsigned long can be silently converted to integer types and to pointers, but not to bitwise.
Signed-off-by Al Viro <[email protected]>
--- include/asm-x86_64/uaccess.h | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
include/asm-x86_64/uaccess.h +2 -2
@@ -100,7 +100,7 @@ struct exception_table_entrycase 8 :__get_user_x (8 ,__ret_gu,__val_gu,ptr);break ; \default :__get_user_bad ();break ; \ } \ - (x) = (typeof (*(ptr )))__val_gu; \ + (x) = (__force typeof(*(ptr)))__val_gu; \ __ret_gu; \ })
@@ -192,7 +192,7 @@ struct __large_struct { unsigned long buf[100]; };int __gu_err; \unsigned long __gu_val; \__get_user_size (__gu_val,(ptr),(size),__gu_err); \ - (x) = (typeof (*(ptr )))__gu_val; \ + (x) = (__force typeof(*(ptr)))__gu_val; \ __gu_err; \ })
Signature · 1 line
1.5.3.GIT