forked from Minki/linux
ALSA: sound/usb: use memdup_user()
Remove open-coded memdup_user(). Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
68425adcc4
commit
85385c1551
@ -349,14 +349,10 @@ static int usb_stream_hwdep_ioctl(struct snd_hwdep *hw, struct file *file,
|
||||
if (cmd != SNDRV_USB_STREAM_IOCTL_SET_PARAMS)
|
||||
return -ENOTTY;
|
||||
|
||||
cfg = kmalloc(sizeof(*cfg), GFP_KERNEL);
|
||||
if (!cfg)
|
||||
return -ENOMEM;
|
||||
cfg = memdup_user((void *)arg, sizeof(*cfg));
|
||||
if (IS_ERR(cfg))
|
||||
return PTR_ERR(cfg);
|
||||
|
||||
if (copy_from_user(cfg, (void *)arg, sizeof(*cfg))) {
|
||||
err = -EFAULT;
|
||||
goto free;
|
||||
}
|
||||
if (cfg->version != USB_STREAM_INTERFACE_VERSION) {
|
||||
err = -ENXIO;
|
||||
goto free;
|
||||
|
@ -203,13 +203,12 @@ static int snd_usX2Y_hwdep_dsp_load(struct snd_hwdep *hw,
|
||||
|
||||
if (access_ok(VERIFY_READ, dsp->image, dsp->length)) {
|
||||
struct usb_device* dev = priv->chip.dev;
|
||||
char *buf = kmalloc(dsp->length, GFP_KERNEL);
|
||||
if (!buf)
|
||||
return -ENOMEM;
|
||||
if (copy_from_user(buf, dsp->image, dsp->length)) {
|
||||
kfree(buf);
|
||||
return -EFAULT;
|
||||
}
|
||||
char *buf;
|
||||
|
||||
buf = memdup_user(dsp->image, dsp->length);
|
||||
if (IS_ERR(buf))
|
||||
return PTR_ERR(buf);
|
||||
|
||||
err = usb_set_interface(dev, 0, 1);
|
||||
if (err)
|
||||
snd_printk(KERN_ERR "usb_set_interface error \n");
|
||||
|
Loading…
Reference in New Issue
Block a user