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 bpftool-debuginfoUpgrade kernel-livepatch-5.15.178-120.178Upgrade kernel-debuginfoUpgrade python-perfUpgrade bpftoolUpgrade kernelUpgrade kernel-tools-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade perf-debuginfoUpgrade kernel-toolsUpgrade kernel-livepatch-5.10.234-225.895Upgrade kernel-tools-develUpgrade python-perf-debuginfoUpgrade kernel-headersUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-develUpgrade perf | Mar 14, 2025 | Jan 21, 2025 |
| Amazon_linux_2023 | — | Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-modules-extra-commonUpgrade perfUpgrade bpftoolUpgrade bpftool-debuginfoUpgrade kernel-toolsUpgrade python3-perfUpgrade kernel-debuginfoUpgrade kernelUpgrade python3-perf-debuginfoUpgrade kernel-livepatch-6.1.127-135.201Upgrade kernel-libbpfUpgrade kernel-develUpgrade kernel-libbpf-staticUpgrade kernel-modules-extraUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-tools-develUpgrade kernel-libbpf-develUpgrade perf-debuginfoUpgrade kernel-headersUpgrade kernel-tools-debuginfo | Mar 27, 2025 | Jan 21, 2025 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Feb 10, 2025 | Jan 21, 2025 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-toolsUpgrade bpftoolUpgrade kernelUpgrade kernel-tools-libsUpgrade kernel-abi-stablelistsUpgrade python3-perf | Jun 13, 2025 | Jan 21, 2025 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-toolsUpgrade kernelUpgrade bpftoolUpgrade kernel-tools-libsUpgrade python3-perfUpgrade kernel-abi-stablelists | Jul 21, 2025 | Jan 21, 2025 |
| Huawei Euleros 2_0_sp13 | — | Upgrade kernel-tools-libsUpgrade bpftoolUpgrade kernelUpgrade kernel-abi-stablelistsUpgrade python3-perfUpgrade kernel-tools | Jul 1, 2025 | Jan 21, 2025 |
| Redhat_linux | — | No solution exists | Jul 9, 2025 | Jan 21, 2025 |
| Suse | — | Upgrade dtb-mediatekUpgrade dlm-kmp-rtUpgrade kselftests-kmp-rtUpgrade dtb-amlogicUpgrade kernel-64kb-develUpgrade kernel-default-optionalUpgrade dtb-xilinxUpgrade kernel-defaultUpgrade kselftests-kmp-defaultUpgrade kernel-rtUpgrade kernel-default-extraUpgrade dtb-sprdUpgrade kernel-default-vdsoUpgrade kernel-rt-extraUpgrade ocfs2-kmp-azureUpgrade kernel-default-baseUpgrade dtb-armUpgrade reiserfs-kmp-azureUpgrade kernel-default-base-rebuildUpgrade dlm-kmp-defaultUpgrade kernel-rt-develUpgrade cluster-md-kmp-rtUpgrade kernel-symsUpgrade kernel-docsUpgrade kernel-syms-azureUpgrade cluster-md-kmp-defaultUpgrade cluster-md-kmp-64kbUpgrade dtb-qcomUpgrade kernel-macrosUpgrade dtb-nvidiaUpgrade kernel-obs-buildUpgrade kernel-obs-qaUpgrade kernel-rt_debug-vdsoUpgrade kernel-develUpgrade dtb-apmUpgrade dtb-rockchipUpgrade kernel-64kb-extraUpgrade kernel-azure-develUpgrade dlm-kmp-azureUpgrade kernel-devel-rtUpgrade gfs2-kmp-64kbUpgrade kernel-default-develUpgrade kernel-64kb-optionalUpgrade gfs2-kmp-azureUpgrade kernel-default-livepatch-develUpgrade dtb-socionextUpgrade kernel-azureUpgrade kselftests-kmp-64kbUpgrade kernel-source-rtUpgrade dtb-amazonUpgrade kernel-rt_debugUpgrade kernel-rt-vdsoUpgrade kernel-rt-livepatch-develUpgrade reiserfs-kmp-64kbUpgrade ocfs2-kmp-64kbUpgrade kernel-syms-rtUpgrade kernel-source-vanillaUpgrade kernel-rt-optionalUpgrade kernel-default-livepatchUpgrade kernel-debug-vdsoUpgrade dtb-exynosUpgrade kernel-azure-vdsoUpgrade kernel-devel-azureUpgrade dlm-kmp-64kbUpgrade kernel-64kbUpgrade ocfs2-kmp-defaultUpgrade cluster-md-kmp-azureUpgrade kernel-default-manUpgrade kernel-sourceUpgrade dtb-alteraUpgrade kernel-kvmsmallUpgrade ocfs2-kmp-rtUpgrade kernel-docs-htmlUpgrade gfs2-kmp-rtUpgrade dtb-renesasUpgrade dtb-lgUpgrade dtb-caviumUpgrade kernel-source-azureUpgrade dtb-broadcomUpgrade reiserfs-kmp-rtUpgrade reiserfs-kmp-defaultUpgrade kselftests-kmp-azureUpgrade kernel-debug-develUpgrade kernel-debugUpgrade kernel-zfcpdumpUpgrade kernel-kvmsmall-develUpgrade kernel-azure-optionalUpgrade gfs2-kmp-defaultUpgrade dtb-freescaleUpgrade dtb-appleUpgrade dtb-allwinnerUpgrade dtb-amdUpgrade kernel-kvmsmall-vdsoUpgrade kernel-azure-extraUpgrade dtb-marvellUpgrade dtb-hisiliconUpgrade kernel-rt_debug-devel | Feb 12, 2025 | Jan 21, 2025 |
| Ubuntu | — | Upgrade linux-image-virtualUpgrade linux-image-5.15.0-1033-nvidia-tegra-rtUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-1012-gkeopUpgrade linux-image-5.4.0-1142-aws-fipsUpgrade linux-image-oem-20.04Upgrade linux-image-generic-64kUpgrade linux-image-oem-24.04bUpgrade linux-image-5.4.0-1145-gcp-fipsUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-135-lowlatency-64kUpgrade linux-image-5.4.0-1147-azure-fipsUpgrade linux-image-gkeUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.4.0-1090-ibmUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.15.0-1076-kvmUpgrade linux-image-5.15.0-1077-intel-iotgUpgrade linux-image-intel-iot-realtimeUpgrade linux-image-5.15.0-136-genericUpgrade linux-image-5.15.0-1075-intel-iotgUpgrade linux-image-6.8.0-1028-nvidiaUpgrade linux-image-gcp-lts-20.04Upgrade linux-image-nvidia-64kUpgrade linux-image-5.15.0-1084-azureUpgrade linux-image-5.15.0-1073-intel-iot-realtimeUpgrade linux-image-5.15.0-1072-ibmUpgrade linux-image-5.15.0-1083-azure-fipsUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-oracle-lts-20.04Upgrade linux-image-realtimeUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-raspi2Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-oem-22.04cUpgrade linux-image-oracleUpgrade linux-image-6.11.0-1011-lowlatency-64kUpgrade linux-image-gcpUpgrade linux-image-5.15.0-1077-oracleUpgrade linux-image-5.15.0-1079-gcpUpgrade linux-image-genericUpgrade linux-image-5.15.0-1074-raspiUpgrade linux-image-intelUpgrade linux-image-oem-24.04Upgrade linux-image-oem-20.04dUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-5.4.0-1129-kvmUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-6.11.0-21-genericUpgrade linux-image-azure-lts-22.04Upgrade linux-image-oem-osp1Upgrade linux-image-6.11.0-1010-raspiUpgrade linux-image-6.8.0-1028-nvidia-lowlatency-64kUpgrade linux-image-5.4.0-1147-azureUpgrade linux-image-5.15.0-136-generic-lpaeUpgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-5.15.0-1033-nvidia-tegraUpgrade linux-image-5.4.0-211-lowlatencyUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.8.0-1028-oemUpgrade linux-image-5.15.0-1086-azureUpgrade linux-image-oem-22.04Upgrade linux-image-6.8.1-1022-realtimeUpgrade linux-image-5.15.0-1086-azure-fdeUpgrade linux-image-oracle-64kUpgrade linux-image-raspi-hwe-18.04Upgrade linux-image-6.8.0-60-lowlatency-64kUpgrade linux-image-nvidiaUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1029-azureUpgrade linux-image-bluefieldUpgrade linux-image-nvidia-tegraUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-oem-22.04dUpgrade linux-image-gkeopUpgrade linux-image-6.8.0-1030-gcpUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-5.15.0-1074-nvidiaUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-5.15.0-1081-gcpUpgrade linux-image-oemUpgrade linux-image-6.8.0-1026-oracleUpgrade linux-image-6.8.0-1026-ibmUpgrade linux-image-5.15.0-1080-awsUpgrade linux-image-5.15.0-135-genericUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-oem-20.04cUpgrade linux-image-6.8.0-1030-gcp-64kUpgrade linux-image-5.15.0-1077-gkeUpgrade linux-image-5.4.0-1088-ibmUpgrade linux-image-oem-20.04bUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-60-generic-64kUpgrade linux-image-6.8.0-60-lowlatencyUpgrade linux-image-6.8.0-1029-azure-fdeUpgrade linux-image-generic-lpaeUpgrade linux-image-6.8.0-2023-raspi-realtimeUpgrade linux-image-lowlatencyUpgrade linux-image-5.15.0-1074-nvidia-lowlatencyUpgrade linux-image-raspi-nolpaeUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-5.15.0-1021-nvidia-tegra-igx-rtUpgrade linux-image-5.4.0-211-genericUpgrade linux-image-aws-lts-24.04Upgrade linux-image-azureUpgrade linux-image-6.11.0-21-generic-64kUpgrade linux-image-azure-fipsUpgrade linux-image-6.8.0-1025-gkeUpgrade linux-image-6.11.0-1011-awsUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-realtime-hwe-24.04Upgrade linux-image-generic-hwe-18.04Upgrade linux-image-5.4.0-1140-oracleUpgrade linux-image-5.15.0-1074-ibmUpgrade linux-image-fipsUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-ibmUpgrade linux-image-5.15.0-1080-realtimeUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-nvidia-tegra-rtUpgrade linux-image-aws-fipsUpgrade linux-image-5.15.0-135-lowlatencyUpgrade linux-image-6.11.0-1011-gcpUpgrade linux-image-5.15.0-1079-gcp-fipsUpgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-ibm-classicUpgrade linux-image-aws-lts-20.04Upgrade linux-image-gke-5.15Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-6.8.0-1028-nvidia-64kUpgrade linux-image-raspiUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-5.15.0-1021-nvidia-tegra-igxUpgrade linux-image-5.15.0-135-generic-lpaeUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-5.15.0-135-fipsUpgrade linux-image-6.11.0-1007-realtimeUpgrade linux-image-5.4.0-1129-raspiUpgrade linux-image-5.4.0-1101-bluefieldUpgrade linux-image-5.4.0-1116-fipsUpgrade linux-image-5.4.0-1048-iotUpgrade linux-image-5.15.0-1062-gkeopUpgrade linux-image-oem-22.04aUpgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-ibm-lts-20.04Upgrade linux-image-6.8.0-1028-nvidia-lowlatencyUpgrade linux-image-6.8.0-1016-azure-nvidiaUpgrade linux-image-gcp-fipsUpgrade linux-image-6.11.0-1017-oemUpgrade linux-image-gcp-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-1028-raspiUpgrade linux-image-6.8.0-1026-oracle-64kUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-azure-cvmUpgrade linux-image-5.15.0-1080-aws-fipsUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-6.11.0-1013-oracle-64kUpgrade linux-image-generic-hwe-22.04Upgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.11.0-1012-azureUpgrade linux-image-6.11.0-1011-lowlatencyUpgrade linux-image-azure-lts-20.04Upgrade linux-image-gkeop-6.8Upgrade linux-image-gcp-lts-22.04Upgrade linux-image-azure-fde-lts-24.04Upgrade linux-image-aws-lts-22.04Upgrade linux-image-awsUpgrade linux-image-6.8.0-60-genericUpgrade linux-image-6.11.0-1012-azure-fdeUpgrade linux-image-6.11.0-1013-oracleUpgrade linux-image-5.15.0-135-generic-64kUpgrade linux-image-5.4.0-211-generic-lpaeUpgrade linux-image-5.15.0-1044-xilinx-zynqmpUpgrade linux-image-azure-lts-24.04Upgrade linux-image-kvmUpgrade linux-image-azure-nvidiaUpgrade linux-image-5.4.0-1142-awsUpgrade linux-image-6.8.0-1029-awsUpgrade linux-image-5.4.0-1145-gcpUpgrade linux-image-5.4.0-1060-xilinx-zynqmpUpgrade linux-image-5.15.0-136-generic-64kUpgrade linux-image-nvidia-tegra-igxUpgrade linux-image-gcp-lts-24.04Upgrade linux-image-6.11.0-1011-gcp-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