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