The error is only returned when kmalloc() fails. Therefore, to return the error to the caller directly here, I changed the code. Signed-off-by: Tsutomu Itoh <t-itoh@jp.fujitsu.com> --- fs/btrfs/acl.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/fs/btrfs/acl.c b/fs/btrfs/acl.c index 761e2cd..74ee421 100644 --- a/fs/btrfs/acl.c +++ b/fs/btrfs/acl.c @@ -136,10 +136,8 @@ static int btrfs_set_acl(struct btrfs_trans_handle *trans, if (acl) { size = posix_acl_xattr_size(acl->a_count); value = kmalloc(size, GFP_NOFS); - if (!value) { - ret = -ENOMEM; - goto out; - } + if (!value) + return -ENOMEM; ret = posix_acl_to_xattr(acl, value, size); if (ret < 0) -- 1.7.12.2 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
David Sterba
2012-Oct-05 10:02 UTC
Re: [PATCH] Btrfs: fix error processing in btrfs_set_acl()
Hi, On Fri, Oct 05, 2012 at 06:35:07PM +0900, Tsutomu Itoh wrote:> The error is only returned when kmalloc() fails. > Therefore, to return the error to the caller directly here, I changed the code."fix error processing in btrfs_set_acl()" what bug does it ''fix'' ? IMHO this is a minor cleanup that is not much needed. The return path after ''posix_acl_to_xattr'' uses the if/goto pattern in the same if (acl) { ... } block, visually this does not help the original code is correct and "looks ok".> --- a/fs/btrfs/acl.c > +++ b/fs/btrfs/acl.c > @@ -136,10 +136,8 @@ static int btrfs_set_acl(struct btrfs_trans_handle *trans, > if (acl) { > size = posix_acl_xattr_size(acl->a_count); > value = kmalloc(size, GFP_NOFS); > - if (!value) { > - ret = -ENOMEM; > - goto out; > - } > + if (!value) > + return -ENOMEM; > > ret = posix_acl_to_xattr(acl, value, size); > if (ret < 0)david -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Tsutomu Itoh
2012-Oct-05 16:59 UTC
Re: [PATCH] Btrfs: fix error processing in btrfs_set_acl()
(2012/10/05 19:02), David Sterba wrote:> Hi, > > On Fri, Oct 05, 2012 at 06:35:07PM +0900, Tsutomu Itoh wrote: >> The error is only returned when kmalloc() fails. >> Therefore, to return the error to the caller directly here, I changed the code. > > "fix error processing in btrfs_set_acl()" > > what bug does it ''fix'' ? IMHO this is a minor cleanup that is not muchYes, this is a "cleanup". sorry. - Tsutomu> needed. The return path after ''posix_acl_to_xattr'' uses the if/goto > pattern in the same if (acl) { ... } block, visually this does not help > the original code is correct and "looks ok". > >> --- a/fs/btrfs/acl.c >> +++ b/fs/btrfs/acl.c >> @@ -136,10 +136,8 @@ static int btrfs_set_acl(struct btrfs_trans_handle *trans, >> if (acl) { >> size = posix_acl_xattr_size(acl->a_count); >> value = kmalloc(size, GFP_NOFS); >> - if (!value) { >> - ret = -ENOMEM; >> - goto out; >> - } >> + if (!value) >> + return -ENOMEM; >> >> ret = posix_acl_to_xattr(acl, value, size); >> if (ret < 0) > > > david-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html