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 <viro@zeniv.linux.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Al Viro 2007-07-26 17:35:39 +01:00 committed by Linus Torvalds
parent c47ffe3d3d
commit fdd33961e9

View file

@ -100,7 +100,7 @@ struct exception_table_entry
case 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; \
})