This adds a local variable to store the user pointer cast result from arg.
It avoids the repeated casts in the code when more ioctls are added.

Signed-off-by: Yi Liu <yi.l....@intel.com>
---
 drivers/vfio/vfio_main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/vfio/vfio_main.c b/drivers/vfio/vfio_main.c
index 5f7c3151d8c0..a2744cb64c6d 100644
--- a/drivers/vfio/vfio_main.c
+++ b/drivers/vfio/vfio_main.c
@@ -1146,6 +1146,7 @@ static long vfio_device_fops_unl_ioctl(struct file *filep,
 {
        struct vfio_device_file *df = filep->private_data;
        struct vfio_device *device = df->device;
+       void __user *uptr = (void __user *)arg;
        int ret;
 
        /* Paired with smp_store_release() following vfio_df_open() */
@@ -1158,7 +1159,7 @@ static long vfio_device_fops_unl_ioctl(struct file *filep,
 
        switch (cmd) {
        case VFIO_DEVICE_FEATURE:
-               ret = vfio_ioctl_device_feature(device, (void __user *)arg);
+               ret = vfio_ioctl_device_feature(device, uptr);
                break;
 
        default:
-- 
2.34.1

Reply via email to