From: Dan Carpenter <dan.carpenter@linaro.org>
To: David Sterba <dsterba@suse.com>
Cc: linux-btrfs@vger.kernel.org,
syzbot+9c3e0cdfbfe351b0bc0e@syzkaller.appspotmail.com
Subject: Re: [PATCH] btrfs: ref-verify: handle damaged extent root tree
Date: Tue, 23 Sep 2025 11:52:15 +0300 [thread overview]
Message-ID: <aNJfvxj0anEnk9Dm@stanley.mountain> (raw)
In-Reply-To: <20250915063747.39796-1-dsterba@suse.com>
On Mon, Sep 15, 2025 at 08:37:47AM +0200, David Sterba wrote:
> Syzbot hits a problem with enabled ref-verify, ignorebadroots and a
> fuzzed/damaged extent tree. There's no fallback option like in other
> places that can deal with it so disable the whole ref-verify as it is
> just a debugging feature.
>
> Reported-by: syzbot+9c3e0cdfbfe351b0bc0e@syzkaller.appspotmail.com
> Signed-off-by: David Sterba <dsterba@suse.com>
> ---
> fs/btrfs/ref-verify.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/fs/btrfs/ref-verify.c b/fs/btrfs/ref-verify.c
> index 3871c3a6c743b5..9f1858b42c0e21 100644
> --- a/fs/btrfs/ref-verify.c
> +++ b/fs/btrfs/ref-verify.c
> @@ -980,11 +980,18 @@ int btrfs_build_ref_tree(struct btrfs_fs_info *fs_info)
> if (!btrfs_test_opt(fs_info, REF_VERIFY))
> return 0;
>
> + extent_root = btrfs_extent_root(fs_info, 0);
> + /* If the extent tree is damaged we cannot ignore it (IGNOREBADROOTS). */
> + if (IS_ERR(extent_root)) {
> + btrfs_warn(fs_info, "ref-verify: extent tree not available, disabling");
> + btrfs_clear_opt(fs_info->mount_opt, REF_VERIFY);
> + return 0;
> + }
I saw that someone tested a patch for this bug but it doesn't show the
patch itself...
https://lore.kernel.org/all/0000000000004417f5062141fe65@google.com/
Smatch says that btrfs_extent_root() can't return error pointers. I
would have expected an error pointer dereference to crash in
btrfs_comp_cpu_keys(). The pointer in the bug report
0xdffffc0000000003 is not an error pointer. What am I missing?
regards,
dan carpenter
prev parent reply other threads:[~2025-09-23 8:52 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-15 6:37 [PATCH] btrfs: ref-verify: handle damaged extent root tree David Sterba
2025-09-15 6:45 ` Qu Wenruo
2025-09-23 8:52 ` Dan Carpenter [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aNJfvxj0anEnk9Dm@stanley.mountain \
--to=dan.carpenter@linaro.org \
--cc=dsterba@suse.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=syzbot+9c3e0cdfbfe351b0bc0e@syzkaller.appspotmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.