In the Linux kernel, the following vulnerability has been resolved:
ocfs2: fix recursive semaphore deadlock in fiemap call
syzbot detected a OCFS2 hang due to a recursive semaphore on a FS_IOC_FIEMAP of the extent list on a specially crafted mmap file.
context_switch kernel/sched/core.c:5357 [inline] __schedule+0x1798/0x4cc0 kernel/sched/core.c:6961 __schedule_loop kernel/sched/core.c:7043 [inline] schedule+0x165/0x360 kernel/sched/core.c:7058 schedule_preempt_disabled+0x13/0x30 kernel/sched/core.c:7115 rwsem_down_write_slowpath+0x872/0xfe0 kernel/locking/rwsem.c:1185 __down_write_common kernel/locking/rwsem.c:1317 [inline] __down_write kernel/locking/rwsem.c:1326 [inline] down_write+0x1ab/0x1f0 kernel/locking/rwsem.c:1591 ocfs2_page_mkwrite+0x2ff/0xc40 fs/ocfs2/mmap.c:142 do_page_mkwrite+0x14d/0x310 mm/memory.c:3361 wp_page_shared mm/memory.c:3762 [inline] do_wp_page+0x268d/0x5800 mm/memory.c:3981 handle_pte_fault mm/memory.c:6068 [inline] __handle_mm_fault+0x1033/0x5440 mm/memory.c:6195 handle_mm_fault+0x40a/0x8e0 mm/memory.c:6364 do_user_addr_fault+0x764/0x1390 arch/x86/mm/fault.c:1387 handle_page_fault arch/x86/mm/fault.c:1476 [inline] exc_page_fault+0x76/0xf0 arch/x86/mm/fault.c:1532 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623 RIP: 0010:copy_user_generic arch/x86/include/asm/uaccess_64.h:126 [inline] RIP: 0010:raw_copy_to_user arch/x86/include/asm/uaccess_64.h:147 [inline] RIP: 0010:_inline_copy_to_user include/linux/uaccess.h:197 [inline] RIP: 0010:_copy_to_user+0x85/0xb0 lib/usercopy.c:26 Code: e8 00 bc f7 fc 4d 39 fc 72 3d 4d 39 ec 77 38 e8 91 b9 f7 fc 4c 89 f7 89 de e8 47 25 5b fd 0f 01 cb 4c 89 ff 48 89 d9 4c 89 f6 <f3> a4 0f 1f 00 48 89 cb 0f 01 ca 48 89 d8 5b 41 5c 41 5d 41 5e 41 RSP: 0018:ffffc9000403f950 EFLAGS: 00050256 RAX: ffffffff84c7f101 RBX: 0000000000000038 RCX: 0000000000000038 RDX: 0000000000000000 RSI: ffffc9000403f9e0 RDI: 0000200000000060 RBP: ffffc9000403fa90 R08: ffffc9000403fa17 R09: 1ffff92000807f42 R10: dffffc0000000000 R11: fffff52000807f43 R12: 0000200000000098 R13: 00007ffffffff000 R14: ffffc9000403f9e0 R15: 0000200000000060 copy_to_user include/linux/uaccess.h:225 [inline] fiemap_fill_next_extent+0x1c0/0x390 fs/ioctl.c:145 ocfs2_fiemap+0x888/0xc90 fs/ocfs2/extent_map.c:806 ioctl_fiemap fs/ioctl.c:220 [inline] do_vfs_ioctl+0x1173/0x1430 fs/ioctl.c:532 __do_sys_ioctl fs/ioctl.c:596 [inline] __se_sys_ioctl+0x82/0x170 fs/ioctl.c:584 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f5f13850fd9 RSP: 002b:00007ffe3b3518b8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 0000200000000000 RCX: 00007f5f13850fd9 RDX: 0000200000000040 RSI: 00000000c020660b RDI: 0000000000000004 RBP: 6165627472616568 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffe3b3518f0 R13: 00007ffe3b351b18 R14: 431bde82d7b634db R15: 00007f5f1389a03b
ocfs2_fiemap() takes a read lock of the ip_alloc_sem semaphore (since v2.6.22-527-g7307de80510a) and calls fiemap_fill_next_extent() to read the extent list of this running mmap executable. The user supplied buffer to hold the fiemap information page faults calling ocfs2_page_mkwrite() which will take a write lock (since v2.6.27-38-g00dc417fa3e7) of the same semaphore. This recursive semaphore will hold filesystem locks and causes a hang of the fileystem.
The ip_alloc_sem protects the inode extent list and size. Release the read semphore before calling fiemap_fill_next_extent() in ocfs2_fiemap() and ocfs2_fiemap_inline(). This does an unnecessary semaphore lock/unlock on the last extent but simplifies the error path.
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Sep 25, 2025 | Sep 25, 2025 |
| Oracle_linux | — | Upgrade kernel-uek | Nov 11, 2025 | Sep 23, 2025 |
| Suse | — | Upgrade kernel-obs-qaUpgrade kernel-symsUpgrade kernel-debugUpgrade kernel-zfcpdumpUpgrade reiserfs-kmp-defaultUpgrade reiserfs-kmp-rtUpgrade kernel-rt-livepatchUpgrade kernel-default-optionalUpgrade ocfs2-kmp-rtUpgrade dtb-renesasUpgrade dlm-kmp-defaultUpgrade kernel-devel-azureUpgrade dlm-kmp-azureUpgrade gfs2-kmp-rtUpgrade kernel-syms-rtUpgrade dtb-xilinxUpgrade gfs2-kmp-64kbUpgrade kernel-macrosUpgrade kernel-kvmsmallUpgrade kernel-kvmsmall-develUpgrade kernel-devel-rtUpgrade kernel-rt_debug-vdsoUpgrade dtb-armUpgrade dtb-mediatekUpgrade kernel-64kbUpgrade kernel-syms-azureUpgrade dtb-apmUpgrade dtb-amlogicUpgrade kernel-debug-develUpgrade cluster-md-kmp-rtUpgrade dtb-hisiliconUpgrade dtb-amdUpgrade kselftests-kmp-defaultUpgrade kernel-rt-develUpgrade kernel-develUpgrade kernel-docsUpgrade kselftests-kmp-rtUpgrade cluster-md-kmp-defaultUpgrade kernel-64kb-develUpgrade kernel-64kb-optionalUpgrade cluster-md-kmp-azureUpgrade reiserfs-kmp-azureUpgrade kernel-default-extraUpgrade ocfs2-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade reiserfs-kmp-64kbUpgrade kernel-azure-vdsoUpgrade gfs2-kmp-azureUpgrade kselftests-kmp-64kbUpgrade kernel-source-vanillaUpgrade kernel-debug-vdsoUpgrade dtb-allwinnerUpgrade kernel-default-develUpgrade gfs2-kmp-defaultUpgrade dtb-nvidiaUpgrade kernel-source-azureUpgrade kernel-rt_debugUpgrade kernel-source-rtUpgrade kernel-azure-optionalUpgrade kernel-azure-extraUpgrade dtb-rockchipUpgrade dtb-caviumUpgrade kernel-docs-htmlUpgrade dtb-appleUpgrade kernel-default-vdsoUpgrade kernel-defaultUpgrade dtb-lgUpgrade kselftests-kmp-azureUpgrade kernel-sourceUpgrade kernel-rtUpgrade kernel-default-manUpgrade dtb-qcomUpgrade kernel-rt-livepatch-develUpgrade kernel-obs-buildUpgrade kernel-azure-develUpgrade dtb-socionextUpgrade dtb-alteraUpgrade ocfs2-kmp-64kbUpgrade dlm-kmp-64kbUpgrade kernel-kvmsmall-vdsoUpgrade kernel-rt-vdsoUpgrade kernel-default-livepatchUpgrade kernel-rt-extraUpgrade kernel-azureUpgrade kernel-default-base-rebuildUpgrade dtb-amazonUpgrade dlm-kmp-rtUpgrade dtb-broadcomUpgrade kernel-default-livepatch-develUpgrade kernel-default-baseUpgrade kernel-rt_debug-develUpgrade kernel-rt-optionalUpgrade ocfs2-kmp-defaultUpgrade kernel-64kb-extraUpgrade dtb-sprdUpgrade dtb-marvellUpgrade dtb-freescaleUpgrade dtb-exynos | Dec 5, 2025 | Oct 15, 2025 |
| Ubuntu | — | Upgrade linux-image-oem-20.04cUpgrade linux-image-5.15.0-170-generic-lpaeUpgrade linux-image-ibmUpgrade linux-image-aws-fipsUpgrade linux-image-azure-fipsUpgrade linux-image-gkeopUpgrade linux-image-gcp-fipsUpgrade linux-image-nvidia-tegraUpgrade linux-image-oracle-5.15Upgrade linux-image-ibm-5.15Upgrade linux-image-azure-lts-22.04Upgrade linux-image-azure-5.15Upgrade linux-image-5.15.0-1052-nvidia-tegraUpgrade linux-image-gke-5.15Upgrade linux-image-generic-64kUpgrade linux-image-5.15.0-1110-azureUpgrade linux-image-oracle-64kUpgrade linux-image-kvm-5.15Upgrade linux-image-6.8.0-106-lowlatencyUpgrade linux-image-5.15.0-1095-nvidiaUpgrade linux-image-generic-64k-6.8Upgrade linux-image-5.15.0-1100-aws-64kUpgrade linux-image-oem-20.04bUpgrade linux-image-raspi-6.8Upgrade linux-image-6.8.0-1047-oracle-64kUpgrade linux-image-oem-22.04cUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1050-aws-64kUpgrade linux-image-xilinx-6.8Upgrade linux-image-nvidia-64kUpgrade linux-image-virtual-6.8Upgrade linux-image-5.15.0-1083-gkeopUpgrade linux-image-6.8.0-1049-nvidia-lowlatency-64kUpgrade linux-image-gcp-64kUpgrade linux-image-5.15.0-1100-gcpUpgrade linux-image-gke-64kUpgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-gcp-fips-5.15Upgrade linux-image-6.8.0-106-lowlatency-64kUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-ibm-classicUpgrade linux-image-azureUpgrade linux-image-6.8.0-1052-gcp-64kUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-5.15.0-1092-intel-iot-realtimeUpgrade linux-image-gke-6.8Upgrade linux-image-realtime-6.8.1Upgrade linux-image-6.8.0-1029-xilinxUpgrade linux-image-oracle-64k-6.8Upgrade linux-image-generic-64k-5.15Upgrade linux-image-gke-64k-6.8Upgrade linux-image-nvidiaUpgrade linux-image-5.15.0-1097-oracleUpgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-6.8.0-2040-raspi-realtimeUpgrade linux-image-5.15.0-1095-intel-iotgUpgrade linux-image-5.15.0-1096-gkeUpgrade linux-image-oracle-6.8Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-azure-lts-24.04Upgrade linux-image-nvidia-lowlatency-5.15Upgrade linux-image-lowlatency-6.8Upgrade linux-image-gkeop-5.15Upgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-aws-lts-24.04Upgrade linux-image-intelUpgrade linux-image-nvidia-6.8Upgrade linux-image-aws-6.8Upgrade linux-image-oem-22.04aUpgrade linux-image-5.15.0-170-lowlatency-64kUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-raspiUpgrade linux-image-6.8.0-1035-gkeopUpgrade linux-image-6.8.0-1048-gke-64kUpgrade linux-image-oem-22.04dUpgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-realtime-5.15Upgrade linux-image-nvidia-5.15Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-raspi-5.15Upgrade linux-image-lowlatency-64kUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1041-nvidia-tegra-igx-rtUpgrade linux-image-6.8.0-1052-azure-fipsUpgrade linux-image-5.15.0-1094-ibmUpgrade linux-image-5.15.0-1095-nvidia-lowlatencyUpgrade linux-image-6.8.0-106-genericUpgrade linux-image-6.8.0-1049-ibmUpgrade linux-image-5.15.0-170-lowlatencyUpgrade linux-image-genericUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-6.8.0-106-fipsUpgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-aws-fips-5.15Upgrade linux-image-gcp-lts-24.04Upgrade linux-image-oracleUpgrade linux-image-5.15.0-1064-xilinx-zynqmpUpgrade linux-image-generic-lpae-5.15Upgrade linux-image-aws-64kUpgrade linux-image-6.8.1-1045-realtimeUpgrade linux-image-xilinxUpgrade linux-image-6.8.0-1050-aws-fipsUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-fips-6.8Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-6.8.0-106-generic-64kUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-gcp-64k-6.8Upgrade linux-image-gcpUpgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-1052-gcpUpgrade linux-image-6.8.0-1049-nvidia-64kUpgrade linux-image-6.8.0-1049-nvidiaUpgrade linux-image-5.15.0-1109-azureUpgrade linux-image-5.15.0-1100-gcp-fipsUpgrade linux-image-5.15.0-1052-nvidia-tegra-rtUpgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-oem-22.04bUpgrade linux-image-oem-20.04dUpgrade linux-image-oem-20.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-aws-fips-6.8Upgrade linux-image-generic-lpaeUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-generic-5.15Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-5.15.0-1100-awsUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-virtualUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-1041-nvidia-tegra-igxUpgrade linux-image-6.8.0-1050-awsUpgrade linux-image-generic-6.8Upgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-lowlatency-5.15Upgrade linux-image-fips-5.15Upgrade linux-image-raspi-realtimeUpgrade linux-image-gkeop-6.8Upgrade linux-image-5.15.0-1100-aws-fipsUpgrade linux-image-virtual-5.15Upgrade linux-image-oem-22.04Upgrade linux-image-fipsUpgrade linux-image-azure-6.8Upgrade linux-image-aws-5.15Upgrade linux-image-6.8.0-1050-raspiUpgrade linux-image-5.15.0-170-generic-64kUpgrade linux-image-kvmUpgrade linux-image-aws-64k-5.15Upgrade linux-image-intel-iotgUpgrade linux-image-azure-fips-5.15Upgrade linux-image-aws-64k-6.8Upgrade linux-image-6.8.0-1047-oracleUpgrade linux-image-gcp-5.15Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.15.0-1099-realtimeUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-gcp-6.8Upgrade linux-image-5.15.0-1109-azure-fipsUpgrade linux-image-6.8.0-1052-gcp-fipsUpgrade linux-image-awsUpgrade linux-image-gkeUpgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-ibm-6.8Upgrade linux-image-5.15.0-170-genericUpgrade linux-image-5.15.0-1097-raspiUpgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-6.8.0-1049-nvidia-lowlatencyUpgrade linux-image-6.8.0-1048-gkeUpgrade linux-image-5.15.0-170-fipsUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-realtimeUpgrade linux-image-raspi-nolpaeUpgrade linux-image-5.15.0-1092-kvmUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-aws-64k-lts-22.04 | Feb 13, 2026 | Feb 12, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 10, 2025 | Sep 23, 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