Commit 048a864e authored by zhong jiang's avatar zhong jiang Committed by Martin K. Petersen
Browse files

scsi: hpsa: Use vmemdup_user to replace the open code



vmemdup_user is better than duplicating its implementation, So just replace
the open code.

The issue is detected with the help of Coccinelle.

Tested-by: default avatarDon Brace <don.brace@microsemi.com>
Acked-by: default avatarDon Brace <don.brace@microsemi.com>
Signed-off-by: default avatarzhong jiang <zhongjiang@huawei.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 874deb1c
Loading
Loading
Loading
Loading
+4 −8
Original line number Diff line number Diff line
@@ -6381,13 +6381,9 @@ static int hpsa_big_passthru_ioctl(struct ctlr_info *h, void __user *argp)
		return -EINVAL;
	if (!capable(CAP_SYS_RAWIO))
		return -EPERM;
	ioc = kmalloc(sizeof(*ioc), GFP_KERNEL);
	if (!ioc) {
		status = -ENOMEM;
		goto cleanup1;
	}
	if (copy_from_user(ioc, argp, sizeof(*ioc))) {
		status = -EFAULT;
	ioc = vmemdup_user(argp, sizeof(*ioc));
	if (IS_ERR(ioc)) {
		status = PTR_ERR(ioc);
		goto cleanup1;
	}
	if ((ioc->buf_size < 1) &&
@@ -6505,7 +6501,7 @@ cleanup1:
		kfree(buff);
	}
	kfree(buff_size);
	kfree(ioc);
	kvfree(ioc);
	return status;
}