On Wed, Apr 08, 2009 at 03:08:04PM +0800, Li Zefan wrote:Remove open-coded memdup_user()
Signed-off-by: Li Zefan <lizf@xxxxxxxxxxxxxx>
---
fs/xfs/linux-2.6/xfs_ioctl.c | 23 +++++++----------------
fs/xfs/linux-2.6/xfs_ioctl32.c | 12 ++++--------
2 files changed, 11 insertions(+), 24 deletions(-)
diff --git a/fs/xfs/linux-2.6/xfs_ioctl.c b/fs/xfs/linux-2.6/ xfs_ioctl.c
index d0b4994..34eaab6 100644
--- a/fs/xfs/linux-2.6/xfs_ioctl.c
+++ b/fs/xfs/linux-2.6/xfs_ioctl.c
@@ -489,17 +489,12 @@ xfs_attrmulti_attr_set(
if (len > XATTR_SIZE_MAX)
return EINVAL;
- kbuf = kmalloc(len, GFP_KERNEL);
- if (!kbuf)
- return ENOMEM;
-
- if (copy_from_user(kbuf, ubuf, len))
- goto out_kfree;
+ kbuf = memdup_user(ubuf, len);
+ if (IS_ERR(kbuf))
+ return PTR_ERR(kbuf);
wouldn't NULL be a better error return for this kind of interface,
matching kmalloc?
Otherwise the patch looks good to me.
Reviewed-by: Christoph Hellwig <hch@xxxxxx>