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

Commit 7ec24db8 authored by Thomas Meyer's avatar Thomas Meyer Committed by Greg Kroah-Hartman
Browse files

staging: spectra: Use memdup_user

 Use kmemdup_user rather than duplicating its implementation
 This is a little bit restricted to reduce false positives

 The semantic patch that makes this output is available
 in scripts/coccinelle/api/memdup_user.cocci.

 More information about semantic patching is available at
 http://coccinelle.lip6.fr/



Signed-off-by: default avatarThomas Meyer <thomas@m3y3r.de>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 71c9c204
Loading
Loading
Loading
Loading
+4 −11
Original line number Original line Diff line number Diff line
@@ -227,19 +227,12 @@ static int ioctl_write_page_data(unsigned long arg)
	if (copy_from_user(&info, (void __user *)arg, sizeof(info)))
	if (copy_from_user(&info, (void __user *)arg, sizeof(info)))
		return -EFAULT;
		return -EFAULT;


	buf = kmalloc(IdentifyDeviceData.PageDataSize, GFP_ATOMIC);
	buf = memdup_user((void __user *)info.data,
	if (!buf) {
			  IdentifyDeviceData.PageDataSize);
		printk(KERN_ERR "ioctl_write_page_data: "
	if (IS_ERR(buf)) {
		       "failed to allocate memory\n");
		return -ENOMEM;
	}

	if (copy_from_user(buf, (void __user *)info.data,
			   IdentifyDeviceData.PageDataSize)) {
		printk(KERN_ERR "ioctl_write_page_data: "
		printk(KERN_ERR "ioctl_write_page_data: "
		       "failed to copy user data\n");
		       "failed to copy user data\n");
		kfree(buf);
		return PTR_ERR(buf);
		return -EFAULT;
	}
	}


	mutex_lock(&spectra_lock);
	mutex_lock(&spectra_lock);