mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-11 08:18:47 +00:00
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:
parent
c47ffe3d3d
commit
fdd33961e9
@ -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; \
|
||||
})
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user