From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751927AbbCJBQT (ORCPT ); Mon, 9 Mar 2015 21:16:19 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:64378 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751616AbbCJBQR (ORCPT ); Mon, 9 Mar 2015 21:16:17 -0400 X-AuditID: cbfee68e-f79b46d000002b74-a8-54fe45dfe22f Date: Tue, 10 Mar 2015 10:15:10 +0900 From: Changman Lee To: Chao Yu Cc: Jaegeuk Kim , linux-f2fs-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: Re: [PATCH] f2fs: fix reference leaks in f2fs_acl_create Message-id: <20150310011510.GC4450@lcm-devel.org> References: <000901d05a52$77f298b0$67d7ca10$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-disposition: inline In-reply-to: <000901d05a52$77f298b0$67d7ca10$@samsung.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuplkeLIzCtJLcpLzFFi42I5/e+Zge59138hBrs/aFj8b/rIZvFk/Sxm i0uL3C0u75rD5sDisWlVJ5vH7gWfmTz6tqxi9Pi8SS6AJYrLJiU1J7MstUjfLoEro2ETR8FP 7ooDPXOYGxg3cHYxcnJICJhILD8zhxXCFpO4cG89WxcjF4eQwDJGiZnP9rDAFP38/pQFIrGI UaL7/0xmCOcno0TTnn42kCoWAVWJns+bwWw2AS2J9tNrwbpFBJQkfs1fBLSCg4NZIEdiT0Mu SFhYwFFi3pljzCA2r4ChxLfdu8BahQQsJW7Oe8wKEReU+DH5HtgYZqCR63ceZ4KwpSUe/Z3B DmJzClhJXJ9/C2yOqICKxJST28A+kBBYxy6x7P19qNsEJL5NPsQCcoOEgKzEpgPMEI9JShxc cYNlAqPYLCTrZiFZNwvJugWMzKsYRVMLkguKk9KLjPSKE3OLS/PS9ZLzczcxQmKpbwfjzQPW hxgFOBiVeHgZTP6FCLEmlhVX5h5iNAW6YiKzlGhyPjBi80riDY3NjCxMTUyNjcwtzZTEeROk fgYLCaQnlqRmp6YWpBbFF5XmpBYfYmTi4JRqYDT+Hv8v8JFYo07cXx4p101/BR90yc6V9l5Q 6Zw34UPryYVpWr/vSAXsbX5jMLczImluwKZJdnlewdFvBNRtuB3e+j/Yrhnw5UBmjw5L4YXS 6ZM/+MzpvfKz+Yvz8RV5THPTAiYsKTW05Z/BwrRywlvu1cLf57ksW5ygc28pc/fT7autI928 I5VYijMSDbWYi4oTAbtYleygAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrOIsWRmVeSWpSXmKPExsVy+t9jAd37rv9CDD48UrH43/SRzeLJ+lnM FpcWuVtc3jWHzYHFY9OqTjaP3Qs+M3n0bVnF6PF5k1wAS1QDo01GamJKapFCal5yfkpmXrqt kndwvHO8qZmBoa6hpYW5kkJeYm6qrZKLT4CuW2YO0EolhbLEnFKgUEBicbGSvh2mCaEhbroW MI0Rur4hQXA9RgZoIGEdY0bDJo6Cn9wVB3rmMDcwbuDsYuTkkBAwkfj5/SkLhC0mceHeerYu Ri4OIYFFjBLd/2cyQzg/GSWa9vSzgVSxCKhK9HzeDGazCWhJtJ9eC9YtIqAk8Wv+ItYuRg4O ZoEciT0NuSBhYQFHiXlnjjGD2LwChhLfdu8CaxUSsJS4Oe8xK0RcUOLH5HtgY5iBRq7feZwJ wpaWePR3BjuIzSlgJXF9/i2wOaICKhJTTm5jm8AoMAtJ+ywk7bOQtC9gZF7FKJpakFxQnJSe a6RXnJhbXJqXrpecn7uJERypz6R3MK5qsDjEKMDBqMTDy2DyL0SINbGsuDL3EKMEB7OSCK+E FlCINyWxsiq1KD++qDQntfgQoykwMCYyS4km5wOTSF5JvKGxiZmRpZGZhZGJubmSOK+SfVuI kEB6YklqdmpqQWoRTB8TB6dUA6OM7LFC/0jLZSqsAZd+f5daPUtVaFf3rRav161rVomx955W 0Kn34Fv01GHjscSupbMsRFXYLrs0zEx++fBoMef56/dE81MdPty8mnvVXafqsv/Lm7unZ2+9 HnTB/cb/bwoPj2kpWuSv5dyhdXL6sjQhVyOt9x8mu5+du7brkNDezXJVl5+8exOvxFKckWio xVxUnAgA+6SuA+oCAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Reviewed-by: Changman Lee 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 > --- > 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 >