Reviewed-by: Changman Lee <cm224....@ssamsung.com>

On Mon, Mar 09, 2015 at 06:18:19PM +0800, Chao Yu wrote:
> Our f2fs_acl_create is copied and modified from posix_acl_create to avoid
> deadlock bug when inline_dentry feature is enabled.
> 
> Now, we got reference leaks in posix_acl_create, and this has been fixed in
> commit fed0b588be2f ("posix_acl: fix reference leaks in posix_acl_create")
> by Omar Sandoval.
> https://lkml.org/lkml/2015/2/9/5
> 
> Let's fix this issue in f2fs_acl_create too.
> 
> Signed-off-by: Chao Yu <chao2...@samsung.com>
> ---
>  fs/f2fs/acl.c | 14 +++++++++-----
>  1 file changed, 9 insertions(+), 5 deletions(-)
> 
> diff --git a/fs/f2fs/acl.c b/fs/f2fs/acl.c
> index 7422027..4320ffa 100644
> --- a/fs/f2fs/acl.c
> +++ b/fs/f2fs/acl.c
> @@ -351,13 +351,11 @@ static int f2fs_acl_create(struct inode *dir, umode_t 
> *mode,
>  
>       *acl = f2fs_acl_clone(p, GFP_NOFS);
>       if (!*acl)
> -             return -ENOMEM;
> +             goto no_mem;
>  
>       ret = f2fs_acl_create_masq(*acl, mode);
> -     if (ret < 0) {
> -             posix_acl_release(*acl);
> -             return -ENOMEM;
> -     }
> +     if (ret < 0)
> +             goto no_mem_clone;
>  
>       if (ret == 0) {
>               posix_acl_release(*acl);
> @@ -378,6 +376,12 @@ no_acl:
>       *default_acl = NULL;
>       *acl = NULL;
>       return 0;
> +
> +no_mem_clone:
> +     posix_acl_release(*acl);
> +no_mem:
> +     posix_acl_release(p);
> +     return -ENOMEM;
>  }
>  
>  int f2fs_init_acl(struct inode *inode, struct inode *dir, struct page *ipage,
> -- 
> 2.3.0
> 

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to