lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <cc276140-8214-42d2-9224-619906364982@linux.alibaba.com>
Date: Tue, 17 Jun 2025 11:45:51 +0800
From: Joseph Qi <joseph.qi@...ux.alibaba.com>
To: Lizhi Xu <lizhi.xu@...driver.com>,
 syzbot+c2ea94ae47cd7e3881ec@...kaller.appspotmail.com,
 akpm <akpm@...ux-foundation.org>
Cc: jlbec@...lplan.org, linux-kernel@...r.kernel.org, mark@...heh.com,
 ocfs2-devel@...ts.linux.dev, syzkaller-bugs@...glegroups.com
Subject: Re: [PATCH] ocfs2: reset folio to NULL when get folio fails



On 2025/6/16 09:31, Lizhi Xu wrote:
> The reproducer uses FAULT_INJECTION to make memory allocation fail, which
> causes __filemap_get_folio() to fail, when initializing w_folios[i] in
> ocfs2_grab_folios_for_write(), it only returns an error code and the value
> of w_folios[i] is the error code, which causes ocfs2_unlock_and_free_folios()
> to recycle the invalid w_folios[i] when releasing folios.
> 
> Reported-by: syzbot+c2ea94ae47cd7e3881ec@...kaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=c2ea94ae47cd7e3881ec
> Signed-off-by: Lizhi Xu <lizhi.xu@...driver.com>

Looks good.
Reviewed-by: Joseph Qi <joseph.qi@...ux.alibaba.com>

> ---
>  fs/ocfs2/aops.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c
> index 40b6bce12951..89aadc6cdd87 100644
> --- a/fs/ocfs2/aops.c
> +++ b/fs/ocfs2/aops.c
> @@ -1071,6 +1071,7 @@ static int ocfs2_grab_folios_for_write(struct address_space *mapping,
>  			if (IS_ERR(wc->w_folios[i])) {
>  				ret = PTR_ERR(wc->w_folios[i]);
>  				mlog_errno(ret);
> +				wc->w_folios[i] = NULL;
>  				goto out;
>  			}
>  		}


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ