Commit 3939fcde24473dc09ce16e922c88df9b3bee45d9

Authored by Li Zefan
Committed by Al Viro
1 parent 3eac8778a2

xattr: use memdup_user()

Remove open-coded memdup_user()

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Showing 1 changed file with 3 additions and 7 deletions Side-by-side Diff

... ... @@ -237,13 +237,9 @@
237 237 if (size) {
238 238 if (size > XATTR_SIZE_MAX)
239 239 return -E2BIG;
240   - kvalue = kmalloc(size, GFP_KERNEL);
241   - if (!kvalue)
242   - return -ENOMEM;
243   - if (copy_from_user(kvalue, value, size)) {
244   - kfree(kvalue);
245   - return -EFAULT;
246   - }
  240 + kvalue = memdup_user(value, size);
  241 + if (IS_ERR(kvalue))
  242 + return PTR_ERR(kvalue);
247 243 }
248 244  
249 245 error = vfs_setxattr(d, kname, kvalue, size, flags);