Re: [External] : [syzbot] [ocfs2?] BUG: unable to handle kernel paging request in ocfs2_unlock_and_free_folios
From: Mark Tinguely
Date: Mon Jun 16 2025 - 10:43:49 EST
> 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@xxxxxxxxxxxxxxxxxxxxxxxxx
> Closes: https://syzkaller.appspot.com/bug?extid=c2ea94ae47cd7e3881ec
> Signed-off-by: Lizhi Xu <lizhi.xu@xxxxxxxxxxxxx>
> ---
> 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;
> }
> }
> --
> 2.43.0
sorry for the cut and paste reply. My email system rejected and bounced
the original email.
ACKed-by: Mark Tinguely <mark.tinguely@xxxxxxxxxx>