f2fs: fix wrong return value of f2fs_acl_create
PATCH v2 1/1 f2fs: fix wrong return value of f2fs_acl_create
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 <[email protected]>
--- fs/f2fs/acl.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-)
fs/f2fs/acl.c +8 -6
@@ -352,12 +352,14 @@ static int f2fs_acl_create(struct inode *dir, umode_t *mode,return PTR_ERR (p); clone =f2fs_acl_clone (p,GFP_NOFS ); -if (!clone) - goto no_mem; +if (!clone) { + ret = -ENOMEM ; + goto release_acl; + } ret =f2fs_acl_create_masq (clone, mode);if (ret <0 ) - goto no_mem_clone; + goto release_clone;if (ret ==0 )posix_acl_release (clone);
@@ -371,11 +373,11 @@ static int f2fs_acl_create(struct inode *dir, umode_t *mode,return 0 ; -no_mem_clone: +release_clone:posix_acl_release (clone); -no_mem: +release_acl:posix_acl_release (p); -return -ENOMEM ; +return ret; } int f2fs_init_acl(struct inode *inode, struct inode *dir, struct page *ipage,
Signature · 1 line
1.8.3.1
Quoted 7 lines · Tiezhu Yang
When call
f2fs_acl_create_masq()failed, the callerf2fs_acl_create()should return-EIOinstead of-ENOMEM, this patch makes it consistent withposix_acl_create()which has been fixed in commitbeaf226b863a("posix_acl: don't ignore return value ofposix_acl_create_masq()").Fixes 83dfe53c185e ("f2fs: fix reference leaks in f2fs_acl_create")Signed-off-by Tiezhu Yang <[email protected]>
Reviewed-by Chao Yu <[email protected]>
Thanks,