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>
This commit is contained in:
Max Filippov 2020-05-22 15:52:03 -07:00
parent c22f907504
commit 9afcc71b4f
1 changed files with 5 additions and 3 deletions

View File

@ -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)