xtensa/uaccess: fix sparse errors
virtio wants to read bitwise types from userspace using get_user. At the moment this triggers sparse errors, since the value is passed through an integer. Fix that up using __force. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Chris Zankel <chris@zankel.net>
This commit is contained in:
Родитель
2cb54e8493
Коммит
4255a8e199
|
@ -320,7 +320,7 @@ __asm__ __volatile__( \
|
||||||
({ \
|
({ \
|
||||||
long __gu_err, __gu_val; \
|
long __gu_err, __gu_val; \
|
||||||
__get_user_size(__gu_val,(ptr),(size),__gu_err); \
|
__get_user_size(__gu_val,(ptr),(size),__gu_err); \
|
||||||
(x) = (__typeof__(*(ptr)))__gu_val; \
|
(x) = (__force __typeof__(*(ptr)))__gu_val; \
|
||||||
__gu_err; \
|
__gu_err; \
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -330,7 +330,7 @@ __asm__ __volatile__( \
|
||||||
const __typeof__(*(ptr)) *__gu_addr = (ptr); \
|
const __typeof__(*(ptr)) *__gu_addr = (ptr); \
|
||||||
if (access_ok(VERIFY_READ,__gu_addr,size)) \
|
if (access_ok(VERIFY_READ,__gu_addr,size)) \
|
||||||
__get_user_size(__gu_val,__gu_addr,(size),__gu_err); \
|
__get_user_size(__gu_val,__gu_addr,(size),__gu_err); \
|
||||||
(x) = (__typeof__(*(ptr)))__gu_val; \
|
(x) = (__force __typeof__(*(ptr)))__gu_val; \
|
||||||
__gu_err; \
|
__gu_err; \
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче