summaryrefslogtreecommitdiffstats
path: root/arch/xtensa/include/asm/uaccess.h
diff options
context:
space:
mode:
authorMax Filippov <jcmvbkbc@gmail.com>2020-05-23 00:52:03 +0200
committerMax Filippov <jcmvbkbc@gmail.com>2020-05-23 01:09:00 +0200
commit9afcc71b4f85ee9c9604c9b8349bac0eed44aa63 (patch)
tree91908c6c4e6ca66310b8383d5001d82821848888 /arch/xtensa/include/asm/uaccess.h
parentxtensa: fix type conversion in __get_user_size (diff)
downloadlinux-9afcc71b4f85ee9c9604c9b8349bac0eed44aa63.tar.xz
linux-9afcc71b4f85ee9c9604c9b8349bac0eed44aa63.zip
xtensa: fix error paths in __get_user_{check,size}
Error paths in __get_user_check and __get_user_size directly assing 0 to the result. It causes the following sparse warnings: sparse: warning: Using plain integer as NULL pointer Convert 0 to the type pointed to by the user pointer before assigning it. Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'arch/xtensa/include/asm/uaccess.h')
-rw-r--r--arch/xtensa/include/asm/uaccess.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/xtensa/include/asm/uaccess.h b/arch/xtensa/include/asm/uaccess.h
index 445bb4cf3c28..0fd9b4086ae2 100644
--- a/arch/xtensa/include/asm/uaccess.h
+++ b/arch/xtensa/include/asm/uaccess.h
@@ -184,7 +184,7 @@ __asm__ __volatile__( \
if (access_ok(__gu_addr, size)) \
__get_user_size((x), __gu_addr, (size), __gu_err); \
else \
- (x) = 0; \
+ (x) = (__typeof__(*(ptr)))0; \
__gu_err; \
})
@@ -202,13 +202,15 @@ do { \
u64 __x; \
if (unlikely(__copy_from_user(&__x, ptr, 8))) { \
retval = -EFAULT; \
- (x) = 0; \
+ (x) = (__typeof__(*(ptr)))0; \
} else { \
(x) = *(__force __typeof__(*(ptr)) *)&__x; \
} \
break; \
} \
- default: (x) = 0; __get_user_bad(); \
+ default: \
+ (x) = (__typeof__(*(ptr)))0; \
+ __get_user_bad(); \
} \
} while (0)