summaryrefslogtreecommitdiffstats
path: root/arch/um
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2016-01-02 14:50:51 -0500
committerAl Viro <viro@zeniv.linux.org.uk>2016-01-04 10:29:40 -0500
commit1ceb36285c256347ffa062b7b1b593f801b6697b (patch)
tree8537ec6178399f41b52f45753f7eadb69b68af18 /arch/um
parent80f8dccf95147f9668eee021425ecf3ff6432c51 (diff)
[um] hostaudio: don't open-code memdup_user()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/um')
-rw-r--r--arch/um/drivers/hostaudio_kern.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/arch/um/drivers/hostaudio_kern.c b/arch/um/drivers/hostaudio_kern.c
index f6b911cc3923..3a4b58730f5f 100644
--- a/arch/um/drivers/hostaudio_kern.c
+++ b/arch/um/drivers/hostaudio_kern.c
@@ -105,13 +105,9 @@ static ssize_t hostaudio_write(struct file *file, const char __user *buffer,
105 printk(KERN_DEBUG "hostaudio: write called, count = %d\n", count); 105 printk(KERN_DEBUG "hostaudio: write called, count = %d\n", count);
106#endif 106#endif
107 107
108 kbuf = kmalloc(count, GFP_KERNEL); 108 kbuf = memdup_user(buffer, count);
109 if (kbuf == NULL) 109 if (IS_ERR(kbuf))
110 return -ENOMEM; 110 return PTR_ERR(kbuf);
111
112 err = -EFAULT;
113 if (copy_from_user(kbuf, buffer, count))
114 goto out;
115 111
116 err = os_write_file(state->fd, kbuf, count); 112 err = os_write_file(state->fd, kbuf, count);
117 if (err < 0) 113 if (err < 0)