In the Linux kernel, the following vulnerability has been resolved:
ocfs2: fix races between hole punching and AIO+DIO
After commit "ocfs2: return real error code in ocfs2_dio_wr_get_block", fstests/generic/300 become from always failed to sometimes failed:
======================================================================== [ 473.293420 ] run fstests generic/300
[ 475.296983 ] JBD2: Ignoring recovery information on journal [ 475.302473 ] ocfs2: Mounting device (253,1) on (node local, slot 0) with ordered data mode. [ 494.290998 ] OCFS2: ERROR (device dm-1): ocfs2_change_extent_flag: Owner 5668 has an extent at cpos 78723 which can no longer be found [ 494.291609 ] On-disk corruption discovered. Please run fsck.ocfs2 once the filesystem is unmounted. [ 494.292018 ] OCFS2: File system is now read-only. [ 494.292224 ] (kworker/19:11,2628,19):ocfs2_mark_extent_written:5272 ERROR: status = -30 [ 494.292602 ] (kworker/19:11,2628,19):ocfs2_dio_end_io_write:2374 ERROR: status = -3 fio: io_u error on file /mnt/scratch/racer: Read-only file system: write offset=460849152, buflen=131072 =========================================================================
In __blockdev_direct_IO, ocfs2_dio_wr_get_block is called to add unwritten extents to a list. extents are also inserted into extent tree in ocfs2_write_begin_nolock. Then another thread call fallocate to puch a hole at one of the unwritten extent. The extent at cpos was removed by ocfs2_remove_extent(). At end io worker thread, ocfs2_search_extent_list found there is no such extent at the cpos.
T1 T2 T3 inode lock ... insert extents ... inode unlock ocfs2_fallocate __ocfs2_change_file_space inode lock lock ip_alloc_sem ocfs2_remove_inode_range inode ocfs2_remove_btree_range ocfs2_remove_extent ^---remove the extent at cpos 78723 ... unlock ip_alloc_sem inode unlock ocfs2_dio_end_io ocfs2_dio_end_io_write lock ip_alloc_sem ocfs2_mark_extent_written ocfs2_change_extent_flag ocfs2_search_extent_list ^---failed to find extent ... unlock ip_alloc_sem
In most filesystems, fallocate is not compatible with racing with AIO+DIO, so fix it by adding to wait for all dio before fallocate/punch_hole like ext4.
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 |
|---|---|---|---|---|
| Debian | — | Upgrade linux-6.1Upgrade linux | Jul 17, 2024 | Jul 12, 2024 |
| Oracle_linux | — | Upgrade kernel-uek | Oct 16, 2024 | Jul 12, 2024 |
| Suse | — | Upgrade kernel-debug-livepatch-develUpgrade kernel-kvmsmall-livepatch-develUpgrade gfs2-kmp-rtUpgrade kernel-rtUpgrade dtb-qcomUpgrade kernel-64kb-optionalUpgrade cluster-md-kmp-defaultUpgrade ocfs2-kmp-rtUpgrade dtb-lgUpgrade dtb-hisiliconUpgrade dtb-amazonUpgrade cluster-md-kmp-azureUpgrade kernel-devel-rtUpgrade kernel-64kb-livepatch-develUpgrade dtb-amlogicUpgrade dtb-mediatekUpgrade kernel-azure-develUpgrade kernel-azure-livepatch-develUpgrade kselftests-kmp-defaultUpgrade kernel-symsUpgrade kernel-azure-vdsoUpgrade dtb-apmUpgrade dtb-appleUpgrade kernel-default-extraUpgrade kernel-obs-qaUpgrade dtb-freescaleUpgrade kernel-kvmsmallUpgrade dtb-exynosUpgrade kernel-devel-azureUpgrade kernel-default-livepatchUpgrade kernel-default-develUpgrade kernel-source-azureUpgrade kernel-syms-azureUpgrade kernel-sourceUpgrade kernel-syms-rtUpgrade kernel-rt-livepatch-develUpgrade kernel-debugUpgrade kernel-default-manUpgrade kernel-zfcpdumpUpgrade kernel-azure-extraUpgrade dtb-armUpgrade kernel-64kbUpgrade gfs2-kmp-64kbUpgrade kernel-rt_debug-vdsoUpgrade dlm-kmp-azureUpgrade kernel-default-vdsoUpgrade kernel-rt-develUpgrade kselftests-kmp-64kbUpgrade kernel-64kb-develUpgrade kernel-kvmsmall-develUpgrade kernel-macrosUpgrade dlm-kmp-64kbUpgrade kernel-rt-optionalUpgrade kernel-develUpgrade kernel-defaultUpgrade dtb-caviumUpgrade kernel-default-livepatch-develUpgrade reiserfs-kmp-azureUpgrade kernel-azureUpgrade dtb-broadcomUpgrade cluster-md-kmp-64kbUpgrade reiserfs-kmp-defaultUpgrade ocfs2-kmp-64kbUpgrade kselftests-kmp-azureUpgrade kernel-docs-htmlUpgrade dtb-marvellUpgrade kernel-rt_debug-livepatch-develUpgrade gfs2-kmp-azureUpgrade dtb-allwinnerUpgrade kernel-default-optionalUpgrade kernel-debug-vdsoUpgrade kernel-default-baseUpgrade kernel-64kb-extraUpgrade gfs2-kmp-defaultUpgrade kernel-rt_debugUpgrade kernel-docsUpgrade dtb-socionextUpgrade reiserfs-kmp-rtUpgrade kernel-rt-extraUpgrade kernel-source-rtUpgrade reiserfs-kmp-64kbUpgrade kernel-rt_debug-develUpgrade kernel-rt-livepatchUpgrade kernel-kvmsmall-vdsoUpgrade dtb-nvidiaUpgrade dtb-amdUpgrade dtb-alteraUpgrade dlm-kmp-rtUpgrade ocfs2-kmp-azureUpgrade kernel-default-base-rebuildUpgrade dtb-rockchipUpgrade ocfs2-kmp-defaultUpgrade kernel-source-vanillaUpgrade dlm-kmp-defaultUpgrade kselftests-kmp-rtUpgrade kernel-azure-optionalUpgrade kernel-rt-vdsoUpgrade kernel-azure-baseUpgrade dtb-sprdUpgrade dtb-xilinxUpgrade cluster-md-kmp-rtUpgrade kernel-debug-develUpgrade kernel-obs-buildUpgrade dtb-renesas | Aug 14, 2024 | Jul 12, 2024 |
| Ubuntu | — | Upgrade linux-image-raspi2Upgrade linux-image-oem-22.04cUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-kvmUpgrade linux-image-6.8.0-1013-nvidia-lowlatencyUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-awsUpgrade linux-image-raspi2-hwe-18.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-6.8.0-45-genericUpgrade linux-image-5.4.0-1043-iotUpgrade linux-image-azure-fdeUpgrade linux-image-aws-hweUpgrade linux-image-raspi-nolpaeUpgrade linux-image-5.4.0-1116-raspiUpgrade linux-image-6.8.0-44-generic-64kUpgrade linux-image-5.15.0-1066-gkeUpgrade linux-image-4.4.0-1179-awsUpgrade linux-image-5.15.0-121-generic-lpaeUpgrade linux-image-generic-lpaeUpgrade linux-image-azure-lts-20.04Upgrade linux-image-6.8.0-1012-oemUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.4.0-1079-ibmUpgrade linux-image-oracle-64kUpgrade linux-image-6.8.0-1012-oracle-64kUpgrade linux-image-5.15.0-121-lowlatencyUpgrade linux-image-5.15.0-1068-gcpUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-45-generic-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-virtual-hwe-16.04Upgrade linux-image-lowlatency-lts-xenialUpgrade linux-image-4.15.0-235-genericUpgrade linux-image-5.4.0-1132-awsUpgrade linux-image-oem-22.04aUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-6.8.0-1014-gcpUpgrade linux-image-4.4.0-1141-awsUpgrade linux-image-ibm-classicUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-4.15.0-1140-oracleUpgrade linux-image-gcpUpgrade linux-image-nvidia-64kUpgrade linux-image-5.15.0-121-lowlatency-64kUpgrade linux-image-5.15.0-1062-ibmUpgrade linux-image-azureUpgrade linux-image-5.15.0-1072-azure-fdeUpgrade linux-image-5.15.0-121-genericUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-oem-20.04dUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-1064-nvidiaUpgrade linux-image-4.4.0-1142-kvmUpgrade linux-image-aws-lts-22.04Upgrade linux-image-nvidiaUpgrade linux-image-raspiUpgrade linux-image-5.4.0-1120-kvmUpgrade linux-image-oem-22.04bUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1010-gkeUpgrade linux-image-oem-22.04dUpgrade linux-image-4.15.0-1186-azureUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-121-generic-64kUpgrade linux-image-oem-20.04cUpgrade linux-image-4.15.0-235-lowlatencyUpgrade linux-image-4.4.0-266-lowlatencyUpgrade linux-image-6.8.0-1013-nvidia-64kUpgrade linux-image-6.8.0-44-lowlatency-64kUpgrade linux-image-6.8.0-1011-raspiUpgrade linux-image-4.15.0-1161-kvmUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-oem-osp1Upgrade linux-image-lowlatencyUpgrade linux-image-generic-64kUpgrade linux-image-5.4.0-1051-xilinx-zynqmpUpgrade linux-image-5.15.0-1067-oracleUpgrade linux-image-6.8.0-44-genericUpgrade linux-image-5.15.0-1052-gkeopUpgrade linux-image-5.15.0-1064-nvidia-lowlatencyUpgrade linux-image-6.8.0-1014-azureUpgrade linux-image-gke-5.15Upgrade linux-image-6.8.0-44-lowlatencyUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-5.15.0-1064-intel-iotg | Sep 12, 2024 | Jul 12, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 13, 2025 | Jul 12, 2024 |
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