Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3a1f7041 authored by Fengguang Wu's avatar Fengguang Wu Committed by Alex Williamson
Browse files

vfio: simplify kmalloc+copy_from_user to memdup_user



Generated by: coccinelle/api/memdup_user.cocci

Acked-by: default avatarJulia Lawall <julia.lawall@lip6.fr>
Reported-by: default avatarFengguang Wu <fengguang.wu@intel.com>
Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
parent 1afa4717
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -327,15 +327,10 @@ static long vfio_pci_ioctl(void *device_data,
			    hdr.count > vfio_pci_get_irq_count(vdev, hdr.index))
				return -EINVAL;

			data = kmalloc(hdr.count * size, GFP_KERNEL);
			if (!data)
				return -ENOMEM;

			if (copy_from_user(data, (void __user *)(arg + minsz),
					   hdr.count * size)) {
				kfree(data);
				return -EFAULT;
			}
			data = memdup_user((void __user *)(arg + minsz),
					   hdr.count * size);
			if (IS_ERR(data))
				return PTR_ERR(data);
		}

		mutex_lock(&vdev->igate);