xfs
[Top] [All Lists]

Re: [PATCH 4/6] xfs: use memdup_user()

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 4/6] xfs: use memdup_user()
From: Felix Blyakher <felixb@xxxxxxx>
Date: Wed, 8 Apr 2009 15:06:40 -0500
Cc: Li Zefan <lizf@xxxxxxxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, LKML <linux-kernel@xxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <20090408132254.GA5957@xxxxxxxxxxxxx>
References: <49DC4CC0.9050805@xxxxxxxxxxxxxx> <49DC4D54.3020001@xxxxxxxxxxxxxx> <20090408132254.GA5957@xxxxxxxxxxxxx>

On Apr 8, 2009, at 8:22 AM, Christoph Hellwig wrote:

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>

Looks good to me too.

Reviewed-by: Felix Blyakher <felixb@xxxxxxx>

p.s. Replying to reply as I couldn't find the original post.

<Prev in Thread] Current Thread [Next in Thread>