In the Linux kernel, the following vulnerability has been resolved:
nilfs2: do not force clear folio if buffer is referenced
Patch series "nilfs2: protect busy buffer heads from being force-cleared".
This series fixes the buffer head state inconsistency issues reported by syzbot that occurs when the filesystem is corrupted and falls back to read-only, and the associated buffer head use-after-free issue.
This patch (of 2):
Syzbot has reported that after nilfs2 detects filesystem corruption and falls back to read-only, inconsistencies in the buffer state may occur.
One of the inconsistencies is that when nilfs2 calls mark_buffer_dirty() to set a data or metadata buffer as dirty, but it detects that the buffer is not in the uptodate state:
WARNING: CPU: 0 PID: 6049 at fs/buffer.c:1177 mark_buffer_dirty+0x2e5/0x520 fs/buffer.c:1177 ... Call Trace: <TASK> nilfs_palloc_commit_alloc_entry+0x4b/0x160 fs/nilfs2/alloc.c:598 nilfs_ifile_create_inode+0x1dd/0x3a0 fs/nilfs2/ifile.c:73 nilfs_new_inode+0x254/0x830 fs/nilfs2/inode.c:344 nilfs_mkdir+0x10d/0x340 fs/nilfs2/namei.c:218 vfs_mkdir+0x2f9/0x4f0 fs/namei.c:4257 do_mkdirat+0x264/0x3a0 fs/namei.c:4280 __do_sys_mkdirat fs/namei.c:4295 [inline] __se_sys_mkdirat fs/namei.c:4293 [inline] __x64_sys_mkdirat+0x87/0xa0 fs/namei.c:4293 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xf3/0x230 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f
The other is when nilfs_btree_propagate(), which propagates the dirty state to the ancestor nodes of a b-tree that point to a dirty buffer, detects that the origin buffer is not dirty, even though it should be:
WARNING: CPU: 0 PID: 5245 at fs/nilfs2/btree.c:2089 nilfs_btree_propagate+0xc79/0xdf0 fs/nilfs2/btree.c:2089 ... Call Trace: <TASK> nilfs_bmap_propagate+0x75/0x120 fs/nilfs2/bmap.c:345 nilfs_collect_file_data+0x4d/0xd0 fs/nilfs2/segment.c:587 nilfs_segctor_apply_buffers+0x184/0x340 fs/nilfs2/segment.c:1006 nilfs_segctor_scan_file+0x28c/0xa50 fs/nilfs2/segment.c:1045 nilfs_segctor_collect_blocks fs/nilfs2/segment.c:1216 [inline] nilfs_segctor_collect fs/nilfs2/segment.c:1540 [inline] nilfs_segctor_do_construct+0x1c28/0x6b90 fs/nilfs2/segment.c:2115 nilfs_segctor_construct+0x181/0x6b0 fs/nilfs2/segment.c:2479 nilfs_segctor_thread_construct fs/nilfs2/segment.c:2587 [inline] nilfs_segctor_thread+0x69e/0xe80 fs/nilfs2/segment.c:2701 kthread+0x2f0/0x390 kernel/kthread.c:389 ret_from_fork+0x4b/0x80 arch/x86/kernel/process.c:147 ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:244 </TASK>
Both of these issues are caused by the callbacks that handle the page/folio write requests, forcibly clear various states, including the working state of the buffers they hold, at unexpected times when they detect read-only fallback.
Fix these issues by checking if the buffer is referenced before clearing the page/folio state, and skipping the clear if it is.
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-tools-develUpgrade kernel-livepatch-4.14.355-277.647Upgrade kernel-toolsUpgrade kernel-livepatch-5.10.235-227.919Upgrade perf-debuginfoUpgrade perfUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-debuginfoUpgrade python-perfUpgrade python-perf-debuginfoUpgrade kernelUpgrade bpftool-debuginfoUpgrade kernel-headersUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade bpftool | Apr 2, 2025 | Feb 27, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Mar 17, 2025 | Feb 27, 2025 |
| Ubuntu | — | Upgrade linux-image-4.15.0-2125-aws-fipsUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-4.4.0-1188-awsUpgrade linux-image-5.4.0-1133-kvmUpgrade linux-image-6.8.0-1031-nvidia-lowlatency-64kUpgrade linux-image-4.15.0-1180-gcpUpgrade linux-image-realtimeUpgrade linux-image-oracle-4.15Upgrade linux-image-6.8.1-1025-realtimeUpgrade linux-image-4.15.0-1142-fipsUpgrade linux-image-5.15.0-140-lowlatency-64kUpgrade linux-image-generic-hwe-16.04Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-nvidiaUpgrade linux-image-lowlatency-lts-xenialUpgrade linux-image-5.15.0-1026-nvidia-tegra-igxUpgrade linux-image-6.8.0-1022-azure-nvidiaUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.4.0-1146-awsUpgrade linux-image-5.4.0-1149-gcp-fipsUpgrade linux-image-4.4.0-1120-fipsUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-5.15.0-140-lowlatencyUpgrade linux-image-oracleUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-lowlatency-hwe-16.04Upgrade linux-image-6.8.0-1015-gkeopUpgrade linux-image-fipsUpgrade linux-image-ibmUpgrade linux-image-oem-22.04aUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-6.8.0-1031-raspiUpgrade linux-image-6.8.0-1033-gcpUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1032-aws-64kUpgrade linux-image-5.15.0-1083-gcp-fipsUpgrade linux-image-5.15.0-1089-azure-fipsUpgrade linux-image-4.15.0-245-lowlatencyUpgrade linux-image-oemUpgrade linux-image-gkeop-6.8Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-virtual-lts-xenialUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-5.15.0-140-generic-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-1078-raspiUpgrade linux-image-gcp-4.15Upgrade linux-image-gcp-6.8Upgrade linux-image-nvidia-6.8Upgrade linux-image-5.4.0-1092-ibmUpgrade linux-image-azure-fips-4.15Upgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1084-realtimeUpgrade linux-image-lowlatency-6.8Upgrade linux-image-azure-lts-20.04Upgrade linux-image-4.15.0-2088-gcp-fipsUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-5.4.0-216-genericUpgrade linux-image-6.8.0-1031-nvidia-lowlatencyUpgrade linux-image-bluefieldUpgrade linux-image-5.4.0-1149-gcpUpgrade linux-image-5.15.0-1078-nvidia-lowlatencyUpgrade linux-image-5.4.0-1105-bluefieldUpgrade linux-image-generic-64k-6.8Upgrade linux-image-6.8.0-1033-gcp-64kUpgrade linux-image-azure-cvmUpgrade linux-image-4.15.0-2104-azure-fipsUpgrade linux-image-5.4.0-1144-oracleUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-5.15.0-1037-nvidia-tegra-rtUpgrade linux-image-5.15.0-1037-nvidia-tegraUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-aws-fipsUpgrade linux-image-5.4.0-216-lowlatencyUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-5.15.0-1066-gkeopUpgrade linux-image-4.15.0-1187-awsUpgrade linux-image-4.4.0-1151-kvmUpgrade linux-image-raspi-nolpaeUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-5.4.0-216-generic-lpaeUpgrade linux-image-awsUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-4.15.0-1195-azureUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-5.15.0-142-generic-lpaeUpgrade linux-image-raspi-realtime-6.8Upgrade linux-image-4.15.0-1149-oracleUpgrade linux-image-5.15.0-1083-gcpUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-azure-fipsUpgrade linux-image-gcp-fipsUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-aws-lts-20.04Upgrade linux-image-generic-lts-xenialUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-aws-lts-18.04Upgrade linux-image-azure-fdeUpgrade linux-image-virtual-6.8Upgrade linux-image-4.4.0-1150-awsUpgrade linux-image-lowlatencyUpgrade linux-image-5.15.0-1077-intel-iot-realtimeUpgrade linux-image-virtual-hwe-16.04Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-5.4.0-1051-iotUpgrade linux-image-5.4.0-1064-xilinx-zynqmpUpgrade linux-image-5.4.0-1120-fipsUpgrade linux-image-aws-hweUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-6.8.0-1031-oemUpgrade linux-image-generic-64kUpgrade linux-image-azure-lts-18.04Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-gkeUpgrade linux-image-gcp-lts-18.04Upgrade linux-image-gcp-64kUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-1031-nvidiaUpgrade linux-image-6.8.0-1029-oracle-64kUpgrade linux-image-oracle-lts-18.04Upgrade linux-image-oem-20.04Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-oem-22.04dUpgrade linux-image-kvmUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-azure-nvidia-6.8Upgrade linux-image-azure-6.8Upgrade linux-image-aws-64kUpgrade linux-image-5.15.0-1089-azureUpgrade linux-image-5.15.0-1081-gkeUpgrade linux-image-4.4.0-276-lowlatencyUpgrade linux-image-oracle-6.8Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-intelUpgrade linux-image-ibm-classicUpgrade linux-image-gkeop-5.15Upgrade linux-image-gke-6.8Upgrade linux-image-gcpUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-oem-20.04dUpgrade linux-image-6.8.0-1029-oracleUpgrade linux-image-5.15.0-1084-awsUpgrade linux-image-nvidia-64kUpgrade linux-image-azureUpgrade linux-image-5.15.0-1081-oracleUpgrade linux-image-5.15.0-1050-xilinx-zynqmpUpgrade linux-image-gcp-fips-4.15Upgrade linux-image-5.15.0-1079-intel-iotgUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-64-generic-64kUpgrade linux-image-6.8.0-1028-gkeUpgrade linux-image-ibm-6.8Upgrade linux-image-azure-lts-22.04Upgrade linux-image-azure-4.15Upgrade linux-image-azure-nvidiaUpgrade linux-image-azure-nvidia-lts-24.04Upgrade linux-image-raspi2Upgrade linux-image-aws-fips-4.15Upgrade linux-image-5.15.0-140-generic-lpaeUpgrade linux-image-5.15.0-1084-aws-fipsUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-1076-ibmUpgrade linux-image-6.8.0-64-genericUpgrade linux-image-6.8.0-1032-awsUpgrade linux-image-4.4.0-276-genericUpgrade linux-image-azure-lts-24.04Upgrade linux-image-5.4.0-1151-azureUpgrade linux-image-oem-osp1Upgrade linux-image-generic-6.8Upgrade linux-image-oem-6.8Upgrade linux-image-6.8.0-64-lowlatency-64kUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-aws-6.8Upgrade linux-image-aws-lts-22.04Upgrade linux-image-aws-lts-24.04Upgrade linux-image-aws-4.15Upgrade linux-image-4.15.0-245-genericUpgrade linux-image-realtime-6.8.1Upgrade linux-image-genericUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.8.0-64-lowlatencyUpgrade linux-image-6.8.0-1034-azureUpgrade linux-image-5.4.0-1151-azure-fipsUpgrade linux-image-5.15.0-142-generic-64kUpgrade linux-image-raspi-realtimeUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-oem-22.04cUpgrade linux-image-oem-22.04bUpgrade linux-image-oem-20.04cUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-azure-fde-6.8Upgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1026-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-1034-azure-fdeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-raspiUpgrade linux-image-nvidia-tegraUpgrade linux-image-aws-64k-6.8Upgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1031-nvidia-64kUpgrade linux-image-5.15.0-140-fipsUpgrade linux-image-5.4.0-1146-aws-fipsUpgrade linux-image-virtualUpgrade linux-image-6.8.0-1029-ibmUpgrade linux-image-5.15.0-142-genericUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-6.8.0-2026-raspi-realtimeUpgrade linux-image-5.15.0-1080-kvmUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-5.15.0-140-genericUpgrade linux-image-gkeopUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.15.0-1078-nvidiaUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-intel-iotgUpgrade linux-image-raspi-6.8Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-4.15.0-1169-kvm | May 20, 2025 | Feb 27, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Sep 22, 2025 | Feb 27, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub