From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chao Yu Subject: Re: [PATCH] f2fs: fix wrong return value of f2fs_acl_create Date: Tue, 20 Nov 2018 20:07:55 +0800 Message-ID: References: <26a3c90d.498.1672de9287d.Coremail.kernelpatch@126.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from [172.30.20.202] (helo=mx.sourceforge.net) by sfs-ml-4.v29.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) (envelope-from ) id 1gP4p5-0000KD-Pt for linux-f2fs-devel@lists.sourceforge.net; Tue, 20 Nov 2018 12:08:07 +0000 Received: from mail.kernel.org ([198.145.29.99]) by sfi-mx-1.v28.lw.sourceforge.com with esmtps (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.90_1) id 1gP4p3-00AEH8-DC for linux-f2fs-devel@lists.sourceforge.net; Tue, 20 Nov 2018 12:08:07 +0000 In-Reply-To: <26a3c90d.498.1672de9287d.Coremail.kernelpatch@126.com> Content-Language: en-US List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-f2fs-devel-bounces@lists.sourceforge.net To: Tiezhu Yang , jaegeuk@kernel.org, yuchao0@huawei.com Cc: linux-f2fs-devel@lists.sourceforge.net On 2018-11-20 5:38, Tiezhu Yang wrote: > When call f2fs_acl_create_masq() failed, the caller f2fs_acl_create() > should return -EIO instead of -ENOMEM, this patch makes it consistent > with posix_acl_create() which has been fixed in commit beaf226b863a > ("posix_acl: don't ignore return value of posix_acl_create_masq()"). > > Fixes: 83dfe53c185e ("f2fs: fix reference leaks in f2fs_acl_create") > Signed-off-by: Tiezhu Yang > --- > fs/f2fs/acl.c | 11 ++++++----- > 1 file changed, 6 insertions(+), 5 deletions(-) > > diff --git a/fs/f2fs/acl.c b/fs/f2fs/acl.c > index fa707cd..b791c24 100644 > --- a/fs/f2fs/acl.c > +++ b/fs/f2fs/acl.c > @@ -351,13 +351,14 @@ static int f2fs_acl_create(struct inode *dir, umode_t *mode, > if (IS_ERR(p)) > return PTR_ERR(p); > > + ret = -ENOMEM; > clone = f2fs_acl_clone(p, GFP_NOFS); > if (!clone) We can avoid assigning ret by: clone = f2fs_acl_clone(p, GFP_NOFS); if (!clone) { ret = -ENOMEM; goto release_acl; } > - goto no_mem; > + goto err_release; > > ret = f2fs_acl_create_masq(clone, mode); > if (ret < 0) > - goto no_mem_clone; > + goto err_release_clone; > > if (ret == 0) > posix_acl_release(clone); > @@ -371,11 +372,11 @@ static int f2fs_acl_create(struct inode *dir, umode_t *mode, > > return 0; > > -no_mem_clone: > +err_release_clone: release_clone: > posix_acl_release(clone); > -no_mem: > +err_release: release_acl: Tag naming is minor, anyway this patch looks good to me. Reviewed-by: Chao Yu Thanks, > posix_acl_release(p); > - return -ENOMEM; > + return ret; > } > > int f2fs_init_acl(struct inode *inode, struct inode *dir, struct page *ipage, >