Re: [syzbot] WARNING in btrfs_commit_transaction

From: David Sterba
Date: Wed Nov 02 2022 - 18:54:39 EST


On Wed, Nov 02, 2022 at 10:46:53AM -0700, syzbot wrote:
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: b229b6ca5abb Merge tag 'perf-tools-fixes-for-v6.1-2022-10-..
> git tree: upstream
> console+strace: https://syzkaller.appspot.com/x/log.txt?x=12db9c7e880000
> kernel config: https://syzkaller.appspot.com/x/.config?x=a66c6c673fb555e8
> dashboard link: https://syzkaller.appspot.com/bug?extid=9c37714c07194d816417
> compiler: gcc (Debian 10.2.1-6) 10.2.1 20210110, GNU ld (GNU Binutils for Debian) 2.35.2
> syz repro: https://syzkaller.appspot.com/x/repro.syz?x=17401632880000
> C reproducer: https://syzkaller.appspot.com/x/repro.c?x=13176716880000
>
> Downloadable assets:
> disk image: https://storage.googleapis.com/syzbot-assets/ba5b49fa77de/disk-b229b6ca.raw.xz
> vmlinux: https://storage.googleapis.com/syzbot-assets/7c061f2ae4dc/vmlinux-b229b6ca.xz
> kernel image: https://storage.googleapis.com/syzbot-assets/bc45c1300e9b/bzImage-b229b6ca.xz
> mounted in repro: https://storage.googleapis.com/syzbot-assets/62077524a72d/mount_0.gz
>
> Bisection is inconclusive: the issue happens on the oldest tested release.
>
> bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=14e432a6880000
> final oops: https://syzkaller.appspot.com/x/report.txt?x=16e432a6880000
> console output: https://syzkaller.appspot.com/x/log.txt?x=12e432a6880000
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+9c37714c07194d816417@xxxxxxxxxxxxxxxxxxxxxxxxx
>
> BTRFS info (device loop0): clearing compat-ro feature flag for FREE_SPACE_TREE (0x1)
> BTRFS info (device loop0): clearing compat-ro feature flag for FREE_SPACE_TREE_VALID (0x2)
> BTRFS info (device loop0): checking UUID tree
> BTRFS warning (device loop0): Skipping commit of aborted transaction.
> ------------[ cut here ]------------
> BTRFS: Transaction aborted (error -12)

-12 is ENOMEM, so another point for adding it to the list of exceptions
and not reporting the stacktrace. We have other warnings or assertions
to catch bad cleanup after errors.