s390: get_user() should zero on failure
Cc: stable@vger.kernel.org Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
224264657b
commit
fd2d2b191f
1 changed files with 4 additions and 4 deletions
|
@ -266,28 +266,28 @@ int __put_user_bad(void) __attribute__((noreturn));
|
||||||
__chk_user_ptr(ptr); \
|
__chk_user_ptr(ptr); \
|
||||||
switch (sizeof(*(ptr))) { \
|
switch (sizeof(*(ptr))) { \
|
||||||
case 1: { \
|
case 1: { \
|
||||||
unsigned char __x; \
|
unsigned char __x = 0; \
|
||||||
__gu_err = __get_user_fn(&__x, ptr, \
|
__gu_err = __get_user_fn(&__x, ptr, \
|
||||||
sizeof(*(ptr))); \
|
sizeof(*(ptr))); \
|
||||||
(x) = *(__force __typeof__(*(ptr)) *) &__x; \
|
(x) = *(__force __typeof__(*(ptr)) *) &__x; \
|
||||||
break; \
|
break; \
|
||||||
}; \
|
}; \
|
||||||
case 2: { \
|
case 2: { \
|
||||||
unsigned short __x; \
|
unsigned short __x = 0; \
|
||||||
__gu_err = __get_user_fn(&__x, ptr, \
|
__gu_err = __get_user_fn(&__x, ptr, \
|
||||||
sizeof(*(ptr))); \
|
sizeof(*(ptr))); \
|
||||||
(x) = *(__force __typeof__(*(ptr)) *) &__x; \
|
(x) = *(__force __typeof__(*(ptr)) *) &__x; \
|
||||||
break; \
|
break; \
|
||||||
}; \
|
}; \
|
||||||
case 4: { \
|
case 4: { \
|
||||||
unsigned int __x; \
|
unsigned int __x = 0; \
|
||||||
__gu_err = __get_user_fn(&__x, ptr, \
|
__gu_err = __get_user_fn(&__x, ptr, \
|
||||||
sizeof(*(ptr))); \
|
sizeof(*(ptr))); \
|
||||||
(x) = *(__force __typeof__(*(ptr)) *) &__x; \
|
(x) = *(__force __typeof__(*(ptr)) *) &__x; \
|
||||||
break; \
|
break; \
|
||||||
}; \
|
}; \
|
||||||
case 8: { \
|
case 8: { \
|
||||||
unsigned long long __x; \
|
unsigned long long __x = 0; \
|
||||||
__gu_err = __get_user_fn(&__x, ptr, \
|
__gu_err = __get_user_fn(&__x, ptr, \
|
||||||
sizeof(*(ptr))); \
|
sizeof(*(ptr))); \
|
||||||
(x) = *(__force __typeof__(*(ptr)) *) &__x; \
|
(x) = *(__force __typeof__(*(ptr)) *) &__x; \
|
||||||
|
|
Loading…
Add table
Reference in a new issue