Upstream information
Description
In the Linux kernel, the following vulnerability has been resolved:btrfs: ensure no dirty metadata is written back for an fs with errors
[BUG]
During development of a minor feature (make sure all btrfs_bio::end_io()
is called in task context), I noticed a crash in generic/388, where
metadata writes triggered new works after btrfs_stop_all_workers().
It turns out that it can even happen without any code modification, just
using RAID5 for metadata and the same workload from generic/388 is going
to trigger the use-after-free.
[CAUSE]
If btrfs hits an error, the fs is marked as error, no new
transaction is allowed thus metadata is in a frozen state.
But there are some metadata modifications before that error, and they are
still in the btree inode page cache.
Since there will be no real transaction commit, all those dirty folios
are just kept as is in the page cache, and they can not be invalidated
by invalidate_inode_pages2() call inside close_ctree(), because they are
dirty.
And finally after btrfs_stop_all_workers(), we call iput() on btree
inode, which triggers writeback of those dirty metadata.
And if the fs is using RAID56 metadata, this will trigger RMW and queue
new works into rmw_workers, which is already stopped, causing warning
from queue_work() and use-after-free.
[FIX]
Add a special handling for write_one_eb(), that if the fs is already in
an error state, immediately mark the bbio as failure, instead of really
submitting them.
Then during close_ctree(), iput() will just discard all those dirty
tree blocks without really writing them back, thus no more new jobs for
already stopped-and-freed workqueues.
The extra discard in write_one_eb() also acts as an extra safenet.
E.g. the transaction abort is triggered by some extent/free space
tree corruptions, and since extent/free space tree is already corrupted
some tree blocks may be allocated where they shouldn't be (overwriting
existing tree blocks). In that case writing them back will further
corrupting the fs.
SUSE information
Overall state of this security issue: New
This issue is currently rated as having moderate severity.
Note from the SUSE Security Team on the kernel-default package
SUSE will no longer fix all CVEs in the Linux Kernel anymore, but declare some bug classes as won't fix. Please refer to TID 21496 for more details. No SUSE Bugzilla entries cross referenced. No SUSE Security Announcements cross referenced.Status of this issue by product and package
Please note that this evaluation state might be work in progress, incomplete or outdated. Also information for service packs in the LTSS phase is only included for issues meeting the LTSS criteria. If in doubt, feel free to contact us for clarification. The updates are grouped by state of their lifecycle. SUSE product lifecycles are documented on the lifecycle page.
| Product(s) | Source package | State |
|---|---|---|
| Products under general support and receiving all security fixes. | ||
| SUSE Linux Enterprise Desktop 15 SP6 | kernel-default | Analysis |
| SUSE Linux Enterprise Desktop 15 SP6 | kernel-source | Analysis |
| SUSE Linux Enterprise Desktop 15 SP7 | kernel-default | Analysis |
| SUSE Linux Enterprise Desktop 15 SP7 | kernel-source | Analysis |
| SUSE Linux Enterprise High Availability Extension 15 SP7 | kernel-default | Analysis |
| SUSE Linux Enterprise High Availability Extension 15 SP7 | kernel-source | Analysis |
| SUSE Linux Enterprise High Availability Extension 16.0 | kernel-default | Analysis |
| SUSE Linux Enterprise High Availability Extension 16.0 | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | kernel-default | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | kernel-source-azure | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | kernel-default | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | kernel-source-azure | Analysis |
| SUSE Linux Enterprise Live Patching 15 SP6 | kernel-default | Analysis |
| SUSE Linux Enterprise Live Patching 15 SP6 | kernel-source | Analysis |
| SUSE Linux Enterprise Live Patching 15 SP7 | kernel-default | Analysis |
| SUSE Linux Enterprise Live Patching 15 SP7 | kernel-source | Analysis |
| SUSE Linux Enterprise Micro 5.2 | kernel-default | Analysis |
| SUSE Linux Enterprise Micro 5.2 | kernel-rt | Analysis |
| SUSE Linux Enterprise Micro 5.2 | kernel-source | Analysis |
| SUSE Linux Enterprise Micro 5.2 | kernel-source-rt | Analysis |
| SUSE Linux Enterprise Micro 5.3 | kernel-default | Analysis |
| SUSE Linux Enterprise Micro 5.3 | kernel-rt | Analysis |
| SUSE Linux Enterprise Micro 5.3 | kernel-source | Analysis |
| SUSE Linux Enterprise Micro 5.3 | kernel-source-rt | Analysis |
| SUSE Linux Enterprise Micro 5.4 | kernel-default | Analysis |
| SUSE Linux Enterprise Micro 5.4 | kernel-rt | Analysis |
| SUSE Linux Enterprise Micro 5.4 | kernel-source | Analysis |
| SUSE Linux Enterprise Micro 5.4 | kernel-source-rt | Analysis |
| SUSE Linux Enterprise Micro 5.5 | kernel-default | Analysis |
| SUSE Linux Enterprise Micro 5.5 | kernel-source | Analysis |
| SUSE Linux Enterprise Micro 5.5 | kernel-source-rt | Analysis |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-default | Analysis |
| SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | kernel-default | Analysis |
| SUSE Linux Enterprise Module for Basesystem 15 SP7 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | kernel-default | Analysis |
| SUSE Linux Enterprise Module for Development Tools 15 SP6 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | kernel-default | Analysis |
| SUSE Linux Enterprise Module for Development Tools 15 SP7 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Legacy 15 SP6 | kernel-default | Analysis |
| SUSE Linux Enterprise Module for Legacy 15 SP6 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Legacy 15 SP7 | kernel-default | Analysis |
| SUSE Linux Enterprise Module for Legacy 15 SP7 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Public Cloud 15 SP6 | kernel-source-azure | Analysis |
| SUSE Linux Enterprise Module for Public Cloud 15 SP7 | kernel-source-azure | Analysis |
| SUSE Linux Enterprise Real Time 15 SP6 | kernel-source-rt | Analysis |
| SUSE Linux Enterprise Real Time 15 SP7 | kernel-source-rt | Analysis |
| SUSE Linux Enterprise Server 15 SP6 | kernel-default | Analysis |
| SUSE Linux Enterprise Server 15 SP6 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP6 | kernel-source-azure | Analysis |
| SUSE Linux Enterprise Server 15 SP7 | kernel-default | Analysis |
| SUSE Linux Enterprise Server 15 SP7 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP7 | kernel-source-azure | Analysis |
| SUSE Linux Enterprise Server 16.0 | kernel-source | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | kernel-default | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | kernel-source | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | kernel-source-azure | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | kernel-default | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | kernel-source | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | kernel-source-azure | Analysis |
| SUSE Linux Enterprise Workstation Extension 15 SP6 | kernel-default | Analysis |
| SUSE Linux Enterprise Workstation Extension 15 SP6 | kernel-source | Analysis |
| SUSE Linux Enterprise Workstation Extension 15 SP7 | kernel-default | Analysis |
| SUSE Linux Enterprise Workstation Extension 15 SP7 | kernel-source | Analysis |
| SUSE Linux Micro 6.0 | kernel-default | Analysis |
| SUSE Linux Micro 6.0 | kernel-source | Analysis |
| SUSE Linux Micro 6.0 | kernel-source-rt | Analysis |
| SUSE Linux Micro 6.1 | kernel-default | Analysis |
| SUSE Linux Micro 6.1 | kernel-source | Analysis |
| SUSE Linux Micro 6.1 | kernel-source-rt | Analysis |
| SUSE Linux Micro 6.2 | kernel-source | Analysis |
| SUSE Real Time Module 15 SP6 | kernel-source-rt | Analysis |
| SUSE Real Time Module 15 SP7 | kernel-source-rt | Analysis |
| openSUSE Leap 15.6 | kernel-default | Analysis |
| openSUSE Leap 15.6 | kernel-source | Analysis |
| openSUSE Leap 15.6 | kernel-source-azure | Analysis |
| openSUSE Leap 15.6 | kernel-source-rt | Analysis |
| Products under Long Term Service Pack support and receiving important and critical security fixes. | ||
| SUSE Linux Enterprise High Performance Computing 15 SP3 | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-default | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Live Patching 12 SP5 | kernel-default | Analysis |
| SUSE Linux Enterprise Live Patching 12 SP5 | kernel-source | Analysis |
| SUSE Linux Enterprise Live Patching 15 SP3 | kernel-default | Analysis |
| SUSE Linux Enterprise Live Patching 15 SP3 | kernel-source | Analysis |
| SUSE Linux Enterprise Live Patching 15 SP4 | kernel-default | Analysis |
| SUSE Linux Enterprise Live Patching 15 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise Live Patching 15 SP5 | kernel-default | Analysis |
| SUSE Linux Enterprise Live Patching 15 SP5 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Basesystem 15 SP3 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Basesystem 15 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Basesystem 15 SP5 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Development Tools 15 SP3 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Development Tools 15 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Development Tools 15 SP5 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | kernel-default | Analysis |
| SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | kernel-source | Analysis |
| SUSE Linux Enterprise Server 12 SP5 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 12 SP5-LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise Server 12 SP5-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Server 12 SP5-LTSS Extended Security | kernel-default | Analysis |
| SUSE Linux Enterprise Server 12 SP5-LTSS Extended Security | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP3 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP3-LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise Server 15 SP3-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP4-LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise Server 15 SP4-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP5 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP5-LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise Server 15 SP5-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 | kernel-source | Analysis |
| SUSE Manager Proxy 4.3 | kernel-source | Analysis |
| SUSE Manager Proxy LTS 4.3 | kernel-default | Analysis |
| SUSE Manager Proxy LTS 4.3 | kernel-source | Analysis |
| SUSE Manager Retail Branch Server 4.3 | kernel-source | Analysis |
| SUSE Manager Retail Branch Server LTS 4.3 | kernel-default | Analysis |
| SUSE Manager Retail Branch Server LTS 4.3 | kernel-source | Analysis |
| SUSE Manager Server 4.3 | kernel-source | Analysis |
| SUSE Manager Server LTS 4.3 | kernel-default | Analysis |
| SUSE Manager Server LTS 4.3 | kernel-source | Analysis |
| Products past their end of life and not receiving proactive updates anymore. | ||
| SUSE CaaS Platform 4.0 | kernel-source | Analysis |
| SUSE Enterprise Storage 6 | kernel-source | Analysis |
| SUSE Enterprise Storage 7 | kernel-source | Analysis |
| SUSE Enterprise Storage 7.1 | kernel-source | Analysis |
| SUSE Linux Enterprise Desktop 11 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise Desktop 12 SP2 | kernel-source | Analysis |
| SUSE Linux Enterprise Desktop 12 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise Desktop 15 | kernel-source | Analysis |
| SUSE Linux Enterprise Desktop 15 SP1 | kernel-source | Analysis |
| SUSE Linux Enterprise Desktop 15 SP2 | kernel-source | Analysis |
| SUSE Linux Enterprise Desktop 15 SP3 | kernel-source | Analysis |
| SUSE Linux Enterprise Desktop 15 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise Desktop 15 SP5 | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP1 | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15-ESPOS | kernel-source | Analysis |
| SUSE Linux Enterprise High Performance Computing 15-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Micro 5.0 | kernel-default | Analysis |
| SUSE Linux Enterprise Micro 5.1 | kernel-default | Analysis |
| SUSE Linux Enterprise Micro 5.1 | kernel-rt | Analysis |
| SUSE Linux Enterprise Micro 5.1 | kernel-source-rt | Analysis |
| SUSE Linux Enterprise Module for Basesystem 15 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Basesystem 15 SP1 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Basesystem 15 SP2 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Development Tools 15 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Development Tools 15 SP1 | kernel-source | Analysis |
| SUSE Linux Enterprise Module for Development Tools 15 SP2 | kernel-source | Analysis |
| SUSE Linux Enterprise Point of Sale 12 SP2-CLIENT | kernel-source | Analysis |
| SUSE Linux Enterprise Real Time 15 SP2 | kernel-source | Analysis |
| SUSE Linux Enterprise Real Time 15 SP3 | kernel-source | Analysis |
| SUSE Linux Enterprise Real Time 15 SP3 | kernel-source-rt | Analysis |
| SUSE Linux Enterprise Real Time 15 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise Real Time 15 SP4 | kernel-source-rt | Analysis |
| SUSE Linux Enterprise Real Time 15 SP5 | kernel-source-rt | Analysis |
| SUSE Linux Enterprise Server 11 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 11 SP4 LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise Server 11 SP4 LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Server 11 SP4-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Server 12 SP2 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 12 SP2-BCL | kernel-source | Analysis |
| SUSE Linux Enterprise Server 12 SP2-ESPOS | kernel-source | Analysis |
| SUSE Linux Enterprise Server 12 SP2-LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise Server 12 SP2-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Server 12 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 12 SP4-ESPOS | kernel-source | Analysis |
| SUSE Linux Enterprise Server 12 SP4-LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise Server 12 SP4-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP1 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP1-BCL | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP1-LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise Server 15 SP1-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP2 | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP2-BCL | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP2-LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise Server 15 SP2-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15 SP3-BCL | kernel-source | Analysis |
| SUSE Linux Enterprise Server 15-LTSS | kernel-default | Analysis |
| SUSE Linux Enterprise Server 15-LTSS | kernel-source | Analysis |
| SUSE Linux Enterprise Server for Raspberry Pi 12 SP2 | kernel-source | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 12 SP2 | kernel-source | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 12 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 | kernel-source | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP1 | kernel-source | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | kernel-source | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | kernel-default | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | kernel-source | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | kernel-default | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | kernel-source | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | kernel-default | Analysis |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | kernel-source | Analysis |
| SUSE Manager Proxy 4.0 | kernel-source | Analysis |
| SUSE Manager Proxy 4.1 | kernel-source | Analysis |
| SUSE Manager Proxy 4.2 | kernel-source | Analysis |
| SUSE Manager Retail Branch Server 4.0 | kernel-source | Analysis |
| SUSE Manager Retail Branch Server 4.1 | kernel-source | Analysis |
| SUSE Manager Retail Branch Server 4.2 | kernel-source | Analysis |
| SUSE Manager Server 4.0 | kernel-source | Analysis |
| SUSE Manager Server 4.1 | kernel-source | Analysis |
| SUSE Manager Server 4.2 | kernel-source | Analysis |
| SUSE OpenStack Cloud 7 | kernel-source | Analysis |
| SUSE OpenStack Cloud 9 | kernel-source | Analysis |
| SUSE OpenStack Cloud Crowbar 9 | kernel-source | Analysis |
| SUSE Real Time Module 15 SP3 | kernel-source-rt | Analysis |
| SUSE Real Time Module 15 SP4 | kernel-source-rt | Analysis |
| SUSE Real Time Module 15 SP5 | kernel-source-rt | Analysis |
| openSUSE Leap 15.3 | kernel-source | Analysis |
| openSUSE Leap 15.3 | kernel-source-rt | Analysis |
| openSUSE Leap 15.4 | kernel-source | Analysis |
| openSUSE Leap 15.4 | kernel-source-rt | Analysis |
| openSUSE Leap 15.5 | kernel-source | Analysis |
| openSUSE Leap 15.5 | kernel-source-rt | Analysis |
| Products at an unknown state of their lifecycle. | ||
| SUSE Linux Enterprise Server for SAP Applications 16.0 | kernel-source | Analysis |
SUSE Timeline for this CVE
CVE page created: Mon Dec 8 04:02:27 2025CVE page last modified: Tue Dec 9 13:35:23 2025