In the Linux kernel, the following vulnerability has been resolved:
dm thin: make get_first_thin use rcu-safe list first function
The documentation in rculist.h explains the absence of list_empty_rcu() and cautions programmers against relying on a list_empty() -> list_first() sequence in RCU safe code. This is because each of these functions performs its own READ_ONCE() of the list head. This can lead to a situation where the list_empty() sees a valid list entry, but the subsequent list_first() sees a different view of list head state after a modification.
In the case of dm-thin, this author had a production box crash from a GP fault in the process_deferred_bios path. This function saw a valid list head in get_first_thin() but when it subsequently dereferenced that and turned it into a thin_c, it got the inside of the struct pool, since the list was now empty and referring to itself. The kernel on which this occurred printed both a warning about a refcount_t being saturated, and a UBSAN error for an out-of-bounds cpuid access in the queued spinlock, prior to the fault itself. When the resulting kdump was examined, it was possible to see another thread patiently waiting in thin_dtr's synchronize_rcu.
The thin_dtr call managed to pull the thin_c out of the active thins list (and have it be the last entry in the active_thins list) at just the wrong moment which lead to this crash.
Fortunately, the fix here is straight forward. Switch get_first_thin() function to use list_first_or_null_rcu() which performs just a single READ_ONCE() and returns NULL if the list is already empty.
This was run against the devicemapper test suite's thin-provisioning suites for delete and suspend and no regressions were observed.
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 |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-tools-debuginfoUpgrade bpftoolUpgrade python-perfUpgrade kernel-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-livepatch-5.15.178-120.178Upgrade bpftool-debuginfoUpgrade kernelUpgrade kernel-livepatch-5.10.234-225.895Upgrade perf-debuginfoUpgrade python-perf-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade kernel-toolsUpgrade kernel-develUpgrade perfUpgrade kernel-headers | Mar 14, 2025 | Jan 21, 2025 |
| Amazon_linux_2023 | — | Upgrade perfUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-modules-extra-commonUpgrade kernel-toolsUpgrade bpftoolUpgrade bpftool-debuginfoUpgrade kernel-debuginfoUpgrade kernelUpgrade python3-perfUpgrade kernel-libbpf-develUpgrade perf-debuginfoUpgrade kernel-libbpf-staticUpgrade python3-perf-debuginfoUpgrade kernel-libbpfUpgrade kernel-livepatch-6.1.127-135.201Upgrade kernel-tools-develUpgrade kernel-develUpgrade kernel-tools-debuginfoUpgrade kernel-headersUpgrade kernel-modules-extraUpgrade kernel-debuginfo-common-x86_64 | Mar 27, 2025 | Jan 21, 2025 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Feb 10, 2025 | Jan 21, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernelUpgrade bpftoolUpgrade kernel-tools | Jun 13, 2025 | Jan 21, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade kernelUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade python3-perf | Jul 21, 2025 | Jan 21, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernelUpgrade kernel-toolsUpgrade bpftoolUpgrade kernel-tools-libs | Jul 1, 2025 | Jan 21, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Jan 21, 2025 |
| Suse | — | Upgrade dtb-xilinxUpgrade kernel-rt-extraUpgrade dtb-qcomUpgrade dlm-kmp-rtUpgrade kernel-macrosUpgrade dtb-mediatekUpgrade dtb-nvidiaUpgrade kernel-default-optionalUpgrade kernel-docsUpgrade cluster-md-kmp-defaultUpgrade kernel-default-base-rebuildUpgrade cluster-md-kmp-rtUpgrade dlm-kmp-defaultUpgrade dtb-armUpgrade kernel-syms-azureUpgrade kernel-64kb-develUpgrade kernel-64kb-extraUpgrade kernel-devel-rtUpgrade kernel-azure-develUpgrade dtb-sprdUpgrade kernel-obs-buildUpgrade kernel-rt-develUpgrade reiserfs-kmp-azureUpgrade kernel-defaultUpgrade dtb-rockchipUpgrade ocfs2-kmp-azureUpgrade cluster-md-kmp-64kbUpgrade kernel-default-baseUpgrade dtb-apmUpgrade kernel-develUpgrade kernel-rtUpgrade kernel-obs-qaUpgrade kernel-default-extraUpgrade dtb-amlogicUpgrade kselftests-kmp-rtUpgrade kernel-symsUpgrade kselftests-kmp-defaultUpgrade dlm-kmp-azureUpgrade kernel-rt_debug-vdsoUpgrade kernel-default-vdsoUpgrade ocfs2-kmp-rtUpgrade dtb-broadcomUpgrade reiserfs-kmp-rtUpgrade ocfs2-kmp-defaultUpgrade kernel-docs-htmlUpgrade kernel-source-rtUpgrade kernel-rt_debug-develUpgrade kernel-rt_debugUpgrade kernel-rt-vdsoUpgrade kernel-rt-livepatch-develUpgrade gfs2-kmp-64kbUpgrade dtb-amazonUpgrade dtb-caviumUpgrade kernel-default-develUpgrade dtb-alteraUpgrade dlm-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade kernel-source-azureUpgrade kernel-default-manUpgrade kernel-debug-develUpgrade kernel-debugUpgrade dtb-allwinnerUpgrade kselftests-kmp-azureUpgrade kernel-zfcpdumpUpgrade kernel-kvmsmall-develUpgrade kernel-azure-optionalUpgrade gfs2-kmp-defaultUpgrade dtb-freescaleUpgrade dtb-appleUpgrade dtb-exynosUpgrade ocfs2-kmp-64kbUpgrade kernel-syms-rtUpgrade kernel-source-vanillaUpgrade kernel-rt-optionalUpgrade kernel-devel-azureUpgrade kernel-default-livepatchUpgrade kernel-debug-vdsoUpgrade kernel-azure-vdsoUpgrade dtb-hisiliconUpgrade dtb-amdUpgrade dtb-marvellUpgrade kernel-kvmsmall-vdsoUpgrade kernel-azure-extraUpgrade dtb-socionextUpgrade kernel-64kb-optionalUpgrade kernel-azureUpgrade reiserfs-kmp-defaultUpgrade gfs2-kmp-azureUpgrade kernel-default-livepatch-develUpgrade reiserfs-kmp-64kbUpgrade kselftests-kmp-64kbUpgrade kernel-sourceUpgrade kernel-kvmsmallUpgrade kernel-64kbUpgrade gfs2-kmp-rtUpgrade dtb-renesasUpgrade dtb-lg | Feb 12, 2025 | Jan 21, 2025 |
| Ubuntu | — | Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-6.11.0-1011-awsUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-aws-lts-22.04Upgrade linux-image-kvmUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.4.0-1145-gcpUpgrade linux-image-gcp-fipsUpgrade linux-image-oem-22.04bUpgrade linux-image-6.8.0-1028-nvidia-64kUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-raspiUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-ibm-classicUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-gke-5.15Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-lowlatencyUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-6.8.0-1026-oracle-64kUpgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-aws-fipsUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-ibmUpgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.4.0-1140-oracleUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-generic-hwe-18.04Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-fipsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-5.15.0-135-fipsUpgrade linux-image-6.8.0-1016-azure-nvidiaUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-aws-lts-24.04Upgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-azureUpgrade linux-image-oem-22.04aUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-5.4.0-1048-iotUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-5.4.0-211-genericUpgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1028-nvidia-lowlatencyUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-6.11.0-1012-azureUpgrade linux-image-6.8.0-1025-gkeUpgrade linux-image-5.4.0-1101-bluefieldUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-gcp-64kUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-5.4.0-1142-awsUpgrade linux-image-6.11.0-1011-gcp-64kUpgrade linux-image-5.4.0-1060-xilinx-zynqmpUpgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-azure-fipsUpgrade linux-image-gkeop-6.8Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-azure-lts-20.04Upgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-5.4.0-211-generic-lpaeUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-azure-nvidiaUpgrade linux-image-azure-lts-24.04Upgrade linux-image-6.8.0-1029-awsUpgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-6.8.0-60-genericUpgrade linux-image-azure-cvmUpgrade linux-image-awsUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-oracleUpgrade linux-image-6.8.0-60-generic-64kUpgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-oem-20.04Upgrade linux-image-5.15.0-1080-awsUpgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-realtimeUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-intel-iotgUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-oem-20.04cUpgrade linux-image-oem-22.04Upgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-5.4.0-1088-ibmUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-oem-osp1Upgrade linux-image-virtualUpgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-intelUpgrade linux-image-6.8.0-1026-ibmUpgrade linux-image-oem-20.04dUpgrade linux-image-raspi2Upgrade linux-image-5.4.0-1090-ibmUpgrade linux-image-6.8.0-1029-azure-fdeUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-5.15.0-1086-azureUpgrade linux-image-5.15.0-1084-azureUpgrade linux-image-nvidia-tegraUpgrade linux-image-oem-24.04Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-6.8.0-1012-gkeopUpgrade linux-image-nvidia-64kUpgrade linux-image-5.4.0-1145-gcp-fipsUpgrade linux-image-raspi-realtimeUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-5.15.0-136-genericUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-nvidiaUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-6.8.0-1028-nvidiaUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-5.4.0-1147-azureUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-22.04cUpgrade linux-image-5.4.0-1142-aws-fipsUpgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-5.4.0-1129-kvmUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-5.4.0-211-lowlatencyUpgrade linux-image-6.8.0-1030-gcp-64kUpgrade linux-image-6.8.0-1028-oemUpgrade linux-image-6.8.0-1029-azureUpgrade linux-image-oem-24.04bUpgrade linux-image-6.8.0-1030-gcpUpgrade linux-image-6.8.1-1022-realtimeUpgrade linux-image-oracle-64kUpgrade linux-image-oemUpgrade linux-image-oem-22.04dUpgrade linux-image-oem-24.04aUpgrade linux-image-bluefieldUpgrade linux-image-6.8.0-60-lowlatency-64kUpgrade linux-image-gkeopUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-generic-64kUpgrade linux-image-6.11.0-21-genericUpgrade linux-image-gkeUpgrade linux-image-genericUpgrade linux-image-gcpUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-6.8.0-60-lowlatencyUpgrade linux-image-6.8.0-1026-oracleUpgrade linux-image-5.4.0-1147-azure-fipsUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-lowlatency-64kUpgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-135-genericUpgrade linux-image-6.8.0-1028-nvidia-lowlatency-64k | Mar 28, 2025 | Jan 21, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 2, 2025 | Jan 21, 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