| From b54f85fc6f4b8c626041617e7ce1faa3fd634140 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 18 Jun 2021 12:20:55 +0800 |
| Subject: nfs: fix acl memory leak of posix_acl_create() |
| |
| From: Gao Xiang <hsiangkao@linux.alibaba.com> |
| |
| [ Upstream commit 1fcb6fcd74a222d9ead54d405842fc763bb86262 ] |
| |
| When looking into another nfs xfstests report, I found acl and |
| default_acl in nfs3_proc_create() and nfs3_proc_mknod() error |
| paths are possibly leaked. Fix them in advance. |
| |
| Fixes: 013cdf1088d7 ("nfs: use generic posix ACL infrastructure for v3 Posix ACLs") |
| Cc: Trond Myklebust <trond.myklebust@hammerspace.com> |
| Cc: Anna Schumaker <anna.schumaker@netapp.com> |
| Cc: Christoph Hellwig <hch@infradead.org> |
| Cc: Joseph Qi <joseph.qi@linux.alibaba.com> |
| Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com> |
| Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| fs/nfs/nfs3proc.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| diff --git a/fs/nfs/nfs3proc.c b/fs/nfs/nfs3proc.c |
| index 5c4e23abc345..2299446b3b89 100644 |
| --- a/fs/nfs/nfs3proc.c |
| +++ b/fs/nfs/nfs3proc.c |
| @@ -385,7 +385,7 @@ nfs3_proc_create(struct inode *dir, struct dentry *dentry, struct iattr *sattr, |
| break; |
| |
| case NFS3_CREATE_UNCHECKED: |
| - goto out; |
| + goto out_release_acls; |
| } |
| nfs_fattr_init(data->res.dir_attr); |
| nfs_fattr_init(data->res.fattr); |
| @@ -751,7 +751,7 @@ nfs3_proc_mknod(struct inode *dir, struct dentry *dentry, struct iattr *sattr, |
| break; |
| default: |
| status = -EINVAL; |
| - goto out; |
| + goto out_release_acls; |
| } |
| |
| d_alias = nfs3_do_create(dir, dentry, data); |
| -- |
| 2.30.2 |
| |