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