[lvc-project] [PATCH 2/2] ocfs2: relax BUG() to ocfs2_error() in __ocfs2_move_extent()
Joseph Qi
joseph.qi at linux.alibaba.com
Thu Oct 9 14:12:15 MSK 2025
On 2025/10/9 18:23, Dmitry Antipov wrote:
> In '__ocfs2_move_extent()', relax 'BUG()' to 'ocfs2_error()' just
> to avoid crashing the whole kernel due to a filesystem corruption.
>
> Reported-by: syzbot+727d161855d11d81e411 at syzkaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=727d161855d11d81e411
> Fixes: 8f603e567aa7 ("Ocfs2/move_extents: move a range of extent.")
> Signed-off-by: Dmitry Antipov <dmantipov at yandex.ru>
Looks fine.
Reviewed-by: Joseph Qi <joseph.qi at linux.alibaba.com>
> ---
> fs/ocfs2/move_extents.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/fs/ocfs2/move_extents.c b/fs/ocfs2/move_extents.c
> index e038c009cdef..ba4952b41602 100644
> --- a/fs/ocfs2/move_extents.c
> +++ b/fs/ocfs2/move_extents.c
> @@ -98,7 +98,13 @@ static int __ocfs2_move_extent(handle_t *handle,
>
> rec = &el->l_recs[index];
>
> - BUG_ON(ext_flags != rec->e_flags);
> + if (ext_flags != rec->e_flags) {
> + ret = ocfs2_error(inode->i_sb,
> + "Inode %llu has corrupted extent %d with flags 0x%x at cpos %u\n",
> + (unsigned long long)ino, index, rec->e_flags, cpos);
> + goto out;
> + }
> +
> /*
> * after moving/defraging to new location, the extent is not going
> * to be refcounted anymore.
More information about the lvc-project
mailing list