Re: [syzbot] [xfs?] WARNING in xfs_bmap_extents_to_btree

From: Dave Chinner
Date: Wed Mar 29 2023 - 21:28:01 EST


On Tue, Mar 28, 2023 at 09:08:01PM -0700, syzbot wrote:
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: 1e760fa3596e Merge tag 'gfs2-v6.3-rc3-fix' of git://git.ke..
> git tree: upstream
> console output: https://syzkaller.appspot.com/x/log.txt?x=16f83651c80000
> kernel config: https://syzkaller.appspot.com/x/.config?x=acdb62bf488a8fe5
> dashboard link: https://syzkaller.appspot.com/bug?extid=0c383e46e9b4827b01b1
> compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2
>
> Unfortunately, I don't have any reproducer for this issue yet.
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/17229b6e6fe0/disk-1e760fa3.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/69b5d310fba0/vmlinux-1e760fa3.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/0c65624aace9/bzImage-1e760fa3.xz
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+0c383e46e9b4827b01b1@xxxxxxxxxxxxxxxxxxxxxxxxx
>
> ------------[ cut here ]------------
> WARNING: CPU: 1 PID: 24101 at fs/xfs/libxfs/xfs_bmap.c:660 xfs_bmap_extents_to_btree+0xe1b/0x1190

Allocation got an unexpected ENOSPC when it was supposed to have a
valid reservation for the space. Likely because of an inconsistency
that had been induced into the filesystem where superblock space
accounting doesn't exactly match the AG space accounting and/or the
tracked free space.

Given this is a maliciously corrupted filesystem image, this sort of
warning is expected and there's probably nothing we can do to avoid
it short of a full filesystem verification pass during mount.
That's not a viable solution, so I think we should just ignore
syzbot when it generates this sort of warning....

i.e. we actually want this warning to be issued if it happens in
normal production situations, but given that it's relatively trivial
to create an inconsistent filesystem image that can trigger this we
should just ignore it when it is generated by such means.

-Dave.
--
Dave Chinner
david@xxxxxxxxxxxxx