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-azure-baseUpgrade kernel-azure-optionalUpgrade dlm-kmp-rtUpgrade dtb-sprdUpgrade ocfs2-kmp-azureUpgrade kernel-rt_debugUpgrade kernel-docsUpgrade kernel-rt-extraUpgrade dtb-socionextUpgrade reiserfs-kmp-rtUpgrade dlm-kmp-defaultUpgrade kernel-rt-vdsoUpgrade dtb-renesasUpgrade kselftests-kmp-azureUpgrade dtb-caviumUpgrade ocfs2-kmp-64kbUpgrade cluster-md-kmp-rtUpgrade dtb-alteraUpgrade dtb-amdUpgrade reiserfs-kmp-defaultUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt-livepatchUpgrade dtb-xilinxUpgrade kernel-rt_debug-develUpgrade reiserfs-kmp-64kbUpgrade kernel-source-rtUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-debug-vdsoUpgrade kernel-defaultUpgrade kernel-64kb-extraUpgrade kernel-default-optionalUpgrade kernel-debug-develUpgrade kernel-default-baseUpgrade gfs2-kmp-defaultUpgrade dtb-allwinnerUpgrade kselftests-kmp-rtUpgrade gfs2-kmp-azureUpgrade dtb-nvidiaUpgrade kernel-rt-optionalUpgrade kernel-default-base-rebuildUpgrade kernel-source-vanillaUpgrade ocfs2-kmp-defaultUpgrade kernel-docs-htmlUpgrade kernel-obs-buildUpgrade kernel-default-livepatch-develUpgrade cluster-md-kmp-64kbUpgrade kernel-azureUpgrade kernel-develUpgrade dtb-rockchipUpgrade dtb-broadcomUpgrade dtb-marvellUpgrade reiserfs-kmp-azureUpgrade dtb-apmUpgrade kernel-kvmsmall-develUpgrade kernel-zfcpdumpUpgrade kernel-syms-azureUpgrade kernel-debugUpgrade kernel-default-vdsoUpgrade kernel-rt-livepatch-develUpgrade dtb-armUpgrade dlm-kmp-azureUpgrade kernel-syms-rtUpgrade kernel-source-azureUpgrade kernel-default-manUpgrade kernel-azure-extraUpgrade kernel-64kbUpgrade gfs2-kmp-64kbUpgrade kernel-devel-azureUpgrade dtb-amazonUpgrade cluster-md-kmp-defaultUpgrade kernel-devel-rtUpgrade dtb-lgUpgrade dtb-qcomUpgrade ocfs2-kmp-rtUpgrade kernel-64kb-livepatch-develUpgrade kernel-debug-livepatch-develUpgrade dtb-appleUpgrade dlm-kmp-64kbUpgrade kernel-rt_debug-vdsoUpgrade kernel-macrosUpgrade dtb-amlogicUpgrade kselftests-kmp-64kbUpgrade kernel-64kb-develUpgrade gfs2-kmp-rtUpgrade kernel-rtUpgrade kernel-64kb-optionalUpgrade dtb-hisiliconUpgrade kernel-default-extraUpgrade kernel-default-develUpgrade kernel-azure-livepatch-develUpgrade kernel-symsUpgrade kernel-obs-qaUpgrade kernel-rt-develUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-kvmsmallUpgrade kernel-azure-vdsoUpgrade dtb-exynosUpgrade kernel-default-livepatchUpgrade dtb-freescaleUpgrade cluster-md-kmp-azureUpgrade dtb-mediatekUpgrade kernel-azure-develUpgrade kselftests-kmp-defaultUpgrade kernel-source | Aug 14, 2024 | Jul 12, 2024 |
| Ubuntu | — | Upgrade linux-image-5.15.0-1066-gkeUpgrade linux-image-lowlatencyUpgrade linux-image-aws-lts-20.04Upgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-6.8.0-1012-oracle-64kUpgrade linux-image-azure-lts-20.04Upgrade linux-image-azureUpgrade linux-image-oem-22.04bUpgrade linux-image-5.15.0-1052-gkeopUpgrade linux-image-ibmUpgrade linux-image-5.4.0-1043-iotUpgrade linux-image-6.8.0-1014-azureUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-5.4.0-1079-ibmUpgrade linux-image-lowlatency-lts-xenialUpgrade linux-image-5.15.0-1064-intel-iotgUpgrade linux-image-6.8.0-44-genericUpgrade linux-image-5.4.0-1051-xilinx-zynqmpUpgrade linux-image-6.8.0-44-lowlatencyUpgrade linux-image-5.15.0-1064-nvidia-lowlatencyUpgrade linux-image-6.8.0-45-genericUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-ibm-classicUpgrade linux-image-gcpUpgrade linux-image-oem-22.04aUpgrade linux-image-5.15.0-1067-oracleUpgrade linux-image-nvidia-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-generic-64kUpgrade linux-image-6.8.0-1014-gcpUpgrade linux-image-4.15.0-1140-oracleUpgrade linux-image-5.4.0-1132-awsUpgrade linux-image-4.4.0-1141-awsUpgrade linux-image-generic-hwe-18.04Upgrade linux-image-raspi2-hwe-18.04Upgrade linux-image-5.15.0-121-generic-lpaeUpgrade linux-image-oem-20.04bUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-azure-fdeUpgrade linux-image-gke-5.15Upgrade linux-image-oracle-64kUpgrade linux-image-5.15.0-1062-ibmUpgrade linux-image-raspi2Upgrade linux-image-4.15.0-235-genericUpgrade linux-image-nvidiaUpgrade linux-image-4.4.0-1179-awsUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-20.04dUpgrade linux-image-6.8.0-1012-oemUpgrade linux-image-5.4.0-1120-kvmUpgrade linux-image-kvmUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-awsUpgrade linux-image-aws-hweUpgrade linux-image-6.8.0-1013-nvidia-lowlatencyUpgrade linux-image-5.15.0-1064-nvidiaUpgrade linux-image-4.4.0-1142-kvmUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.15.0-1068-gcpUpgrade linux-image-5.15.0-121-lowlatency-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-oem-22.04cUpgrade linux-image-raspiUpgrade linux-image-virtual-hwe-16.04Upgrade linux-image-5.4.0-1116-raspiUpgrade linux-image-5.15.0-1072-azure-fdeUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-121-lowlatencyUpgrade linux-image-5.15.0-121-genericUpgrade linux-image-6.8.0-44-generic-64kUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-6.8.0-45-generic-64kUpgrade linux-image-intel-iotgUpgrade linux-image-azure-lts-18.04Upgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-1069-awsUpgrade linux-image-nvidia-6.8Upgrade linux-image-6.8.0-1014-azure-fdeUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-lowlatency-64kUpgrade linux-image-5.4.0-1092-bluefieldUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1012-ibmUpgrade linux-image-generic-lts-xenialUpgrade linux-image-6.8.0-1013-nvidia-lowlatency-64kUpgrade linux-image-gcp-lts-18.04Upgrade linux-image-4.4.0-266-genericUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-1012-oracleUpgrade linux-image-6.8.0-44-lowlatency-64kUpgrade linux-image-azure-lts-22.04Upgrade linux-image-5.4.0-1137-azureUpgrade linux-image-oem-20.04cUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-aws-lts-18.04Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-virtual-hwe-18.04Upgrade linux-image-gkeopUpgrade linux-image-genericUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.4.0-195-lowlatencyUpgrade linux-image-5.4.0-1099-gkeopUpgrade linux-image-gkeUpgrade linux-image-4.15.0-1171-gcpUpgrade linux-image-5.4.0-195-genericUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-4.4.0-266-lowlatencyUpgrade linux-image-5.4.0-195-generic-lpaeUpgrade linux-image-intelUpgrade linux-image-oracleUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-5.15.0-1072-azureUpgrade linux-image-5.4.0-1131-oracleUpgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-121-generic-64kUpgrade linux-image-oracle-lts-18.04Upgrade linux-image-gkeop-5.4Upgrade linux-image-6.8.0-1015-awsUpgrade linux-image-6.8.0-1013-nvidiaUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.15.0-1062-raspiUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-oemUpgrade linux-image-bluefieldUpgrade linux-image-5.15.0-1066-kvmUpgrade linux-image-virtual-lts-xenialUpgrade linux-image-gkeop-5.15Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-lowlatency-hwe-16.04Upgrade linux-image-5.4.0-1136-gcpUpgrade linux-image-virtualUpgrade linux-image-4.15.0-235-lowlatencyUpgrade linux-image-4.15.0-1178-awsUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-1013-nvidia-64kUpgrade linux-image-generic-hwe-16.04Upgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-oem-osp1Upgrade linux-image-4.15.0-1186-azureUpgrade linux-image-oem-22.04dUpgrade linux-image-6.8.0-1011-raspiUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.0-1010-gkeUpgrade linux-image-4.15.0-1161-kvmUpgrade linux-image-azure-fde-lts-22.04 | 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