From: Qu Wenruo <wqu@suse.com>
To: linux-btrfs@vger.kernel.org
Subject: [PATCH v3 0/3] btrfs: fix a UAF where btrfs_root::dirty_list is freed but still referred
Date: Fri, 9 Oct 2026 08:14:47 +1030 [thread overview]
Message-ID: <cover.1791495862.git.wqu@suse.com> (raw)
The first patch is to make lock consistent when accessing
btrfs_root::dirty_list, btrfs_fs_info::dirty_cowonly_roots and
btrfs_transaction::switch_commits.
Normally it's not a big deal as the existing lock-holding callers are
also holding a trans handle, thus they can not race with transaction
committing.
But the last commit will change the cleanup timing, and Sashiko is not
happy with that, so make it more consistent and shut Sashiko up.
The second patch is an existing bug exposed by Sashiko, which also
affects the last UAF fix.
The last one is the final UAF fix for the bug reported by syzbot, which
is from Yalagada.
The commit message is changed as it requires the previous two patches.
Qu Wenruo (2):
btrfs: protect dirty_cowonly_roots, switch_commits and
root->dirty_list
btrfs: prevent use-after-free in btrfs_transaction::switch_commits
Yalagada Pavan Kumar (1):
btrfs: fix use-after-free on quota enable allocation failure
fs/btrfs/disk-io.c | 10 ++++++++++
fs/btrfs/qgroup.c | 7 +++++++
fs/btrfs/transaction.c | 30 ++++++++++++++++++++++++++----
3 files changed, 43 insertions(+), 4 deletions(-)
--
2.55.0
next reply other threads:[~2026-10-08 21:45 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-08 21:44 Qu Wenruo [this message]
2026-10-08 21:44 ` [PATCH v3 1/3] btrfs: protect dirty_cowonly_roots, switch_commits and root->dirty_list Qu Wenruo
2026-10-08 21:44 ` [PATCH v3 2/3] btrfs: prevent use-after-free in btrfs_transaction::switch_commits Qu Wenruo
2026-10-08 21:44 ` [PATCH v3 3/3] btrfs: fix use-after-free on quota enable allocation failure Qu Wenruo
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=cover.1791495862.git.wqu@suse.com \
--to=wqu@suse.com \
--cc=linux-btrfs@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox