mirror of https://gitee.com/openkylin/linux.git
staging: vc04_services: add missing __user annotations
This patch fixes the following sparse warnings by adding missing __user annotations. It also cleans up two related unnecessary casts by reuseing casts already made a few lines up. Remaining sparse warnings are of a different type. vchiq_arm.c:1606:14: warning: incorrect type in assignment (different address spaces) vchiq_arm.c:1606:14: expected struct vchiq_queue_message *args vchiq_arm.c:1606:14: got void [noderef] <asn:1> * vchiq_arm.c:1612:13: warning: incorrect type in argument 1 (different address spaces) vchiq_arm.c:1612:13: expected void const volatile [noderef] <asn:1> * vchiq_arm.c:1612:13: got unsigned int * vchiq_arm.c:1613:13: warning: incorrect type in argument 1 (different address spaces) vchiq_arm.c:1613:13: expected void const volatile [noderef] <asn:1> * vchiq_arm.c:1613:13: got unsigned int * vchiq_arm.c:1614:13: warning: incorrect type in argument 1 (different address spaces) vchiq_arm.c:1614:13: expected void const volatile [noderef] <asn:1> * vchiq_arm.c:1614:13: got struct vchiq_element const [noderef] <asn:1> ** vchiq_arm.c:1638:21: warning: incorrect type in argument 1 (different address spaces) vchiq_arm.c:1638:21: expected void const volatile [noderef] <asn:1> * vchiq_arm.c:1638:21: got struct vchiq_element const [noderef] <asn:1> ** Signed-off-by: Jasminko Dedic <betelge@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
b6e24d0e21
commit
ffb99752e9
|
@ -1540,9 +1540,7 @@ vchiq_compat_ioctl_create_service(
|
|||
if (!args)
|
||||
return -EFAULT;
|
||||
|
||||
if (copy_from_user(&args32,
|
||||
(struct vchiq_create_service32 __user *)arg,
|
||||
sizeof(args32)))
|
||||
if (copy_from_user(&args32, ptrargs32, sizeof(args32)))
|
||||
return -EFAULT;
|
||||
|
||||
if (put_user(args32.params.fourcc, &args->params.fourcc) ||
|
||||
|
@ -1593,7 +1591,7 @@ vchiq_compat_ioctl_queue_message(struct file *file,
|
|||
unsigned int cmd,
|
||||
unsigned long arg)
|
||||
{
|
||||
struct vchiq_queue_message *args;
|
||||
struct vchiq_queue_message __user *args;
|
||||
struct vchiq_element __user *elements;
|
||||
struct vchiq_queue_message32 args32;
|
||||
unsigned int count;
|
||||
|
@ -1662,17 +1660,15 @@ vchiq_compat_ioctl_queue_bulk(struct file *file,
|
|||
{
|
||||
struct vchiq_queue_bulk_transfer __user *args;
|
||||
struct vchiq_queue_bulk_transfer32 args32;
|
||||
struct vchiq_queue_bulk_transfer32 *ptrargs32 =
|
||||
(struct vchiq_queue_bulk_transfer32 *)arg;
|
||||
struct vchiq_queue_bulk_transfer32 __user *ptrargs32 =
|
||||
(struct vchiq_queue_bulk_transfer32 __user *)arg;
|
||||
long ret;
|
||||
|
||||
args = compat_alloc_user_space(sizeof(*args));
|
||||
if (!args)
|
||||
return -EFAULT;
|
||||
|
||||
if (copy_from_user(&args32,
|
||||
(struct vchiq_queue_bulk_transfer32 __user *)arg,
|
||||
sizeof(args32)))
|
||||
if (copy_from_user(&args32, ptrargs32, sizeof(args32)))
|
||||
return -EFAULT;
|
||||
|
||||
if (put_user(args32.handle, &args->handle) ||
|
||||
|
|
Loading…
Reference in New Issue