Commit 3939fcde24473dc09ce16e922c88df9b3bee45d9
Committed by
Al Viro
1 parent
3eac8778a2
Exists in
master
and in
39 other branches
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
fs/xattr.c
... | ... | @@ -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); |