In the Linux kernel, the following vulnerability has been resolved:
x86: stop playing stack games in profile_pc()
The 'profile_pc()' function is used for timer-based profiling, which isn't really all that relevant any more to begin with, but it also ends up making assumptions based on the stack layout that aren't necessarily valid.
Basically, the code tries to account the time spent in spinlocks to the caller rather than the spinlock, and while I support that as a concept, it's not worth the code complexity or the KASAN warnings when no serious profiling is done using timers anyway these days.
And the code really does depend on stack layout that is only true in the simplest of cases. We've lost the comment at some point (I think when the 32-bit and 64-bit code was unified), but it used to say:
Assume the lock function has either no stack frame or a copy of eflags from PUSHF.
which explains why it just blindly loads a word or two straight off the stack pointer and then takes a minimal look at the values to just check if they might be eflags or the return pc:
Eflags always has bits 22 and up cleared unlike kernel addresses
but that basic stack layout assumption assumes that there isn't any lock debugging etc going on that would complicate the code and cause a stack frame.
It causes KASAN unhappiness reported for years by syzkaller [1] and others [2].
With no real practical reason for this any more, just remove the code.
Just for historical interest, here's some background commits relating to this code from 2006:
0cb91a229364 ("i386: Account spinlocks to the caller during profiling for !FP kernels") 31679f38d886 ("Simplify profile_pc on x86-64")
and a code unification from 2009:
ef4512882dbe ("x86: time_32/64.c unify profile_pc")
but the basics of this thing actually goes back to before the git tree.
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade kernel-modules-extraUpgrade kernel-64k-debug-modules-coreUpgrade kernel-zfcpdump-coreUpgrade kernel-uki-virtUpgrade kernel-rt-kvmUpgrade kernel-64k-develUpgrade rvUpgrade kernel-rt-develUpgrade kernel-rt-debug-modules-extraUpgrade kernel-64k-modules-extraUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-zfcpdumpUpgrade kernel-docUpgrade kernel-rt-debugUpgrade kernel-develUpgrade kernel-64k-devel-matchedUpgrade kernel-64k-debug-develUpgrade kernel-rt-modules-coreUpgrade kernel-zfcpdump-modulesUpgrade kernel-modulesUpgrade libperfUpgrade kernel-64k-debug-modulesUpgrade kernel-64k-debugUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rtUpgrade perfUpgrade kernel-rt-debug-modules-coreUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-modulesUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-rt-debug-develUpgrade kernel-toolsUpgrade kernel-debug-coreUpgrade kernel-debug-modules-extraUpgrade kernel-coreUpgrade kernel-devel-matchedUpgrade kernel-64k-debug-modules-extraUpgrade kernel-64k-modulesUpgrade kernel-abi-stablelistsUpgrade kernel-cross-headersUpgrade kernel-rt-debug-coreUpgrade kernel-debug-develUpgrade kernel-rt-debug-kvmUpgrade kernel-modules-coreUpgrade kernelUpgrade python3-perfUpgrade kernel-zfcpdump-develUpgrade kernel-debugUpgrade kernel-tools-libs-develUpgrade bpftoolUpgrade kernel-64k-debug-coreUpgrade rtlaUpgrade kernel-rt-modules-extraUpgrade kernel-rt-coreUpgrade kernel-debug-modules-coreUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-debug-uki-virtUpgrade kernel-headersUpgrade kernel-64kUpgrade kernel-debug-devel-matchedUpgrade kernel-64k-modules-coreUpgrade kernel-debug-modulesUpgrade kernel-tools-libsUpgrade kernel-64k-core | Sep 26, 2024 | Jul 29, 2024 |
| Amazon Linux Ami 2 | — | Upgrade kernel-headersUpgrade python-perfUpgrade kernel-debuginfo-common-x86_64Upgrade python-perf-debuginfoUpgrade kernel-toolsUpgrade kernel-livepatch-5.15.162-107.160Upgrade bpftool-debuginfoUpgrade kernelUpgrade bpftoolUpgrade kernel-tools-debuginfoUpgrade kernel-develUpgrade kernel-debuginfo-common-aarch64Upgrade perfUpgrade perf-debuginfoUpgrade kernel-livepatch-5.10.223-211.872Upgrade kernel-debuginfoUpgrade kernel-tools-devel | Aug 22, 2024 | Jul 29, 2024 |
| Amazon_linux_2023 | — | Upgrade kernel-tools-develUpgrade kernelUpgrade kernel-libbpf-staticUpgrade python3-perfUpgrade bpftoolUpgrade kernel-modules-extra-commonUpgrade kernel-libbpf-develUpgrade kernel-debuginfo-common-x86_64Upgrade python3-perf-debuginfoUpgrade perfUpgrade kernel-develUpgrade kernel-modules-extraUpgrade kernel-toolsUpgrade kernel-tools-debuginfoUpgrade perf-debuginfoUpgrade kernel-debuginfoUpgrade kernel-libbpfUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-aarch64Upgrade kernel-headersUpgrade kernel-livepatch-6.1.97-104.177 | Feb 17, 2025 | Jul 29, 2024 |
| Debian | — | Upgrade linuxUpgrade linux-6.1 | Aug 7, 2024 | Jul 29, 2024 |
| Huawei Euleros 2_0_sp10 | — | Upgrade kernelUpgrade python3-perfUpgrade kernel-abi-stablelistsUpgrade kernel-tools-libsUpgrade kernel-tools | Nov 11, 2024 | Jul 29, 2024 |
| Huawei Euleros 2_0_sp11 | — | Upgrade kernel-tools-libsUpgrade kernel-toolsUpgrade kernel-abi-stablelistsUpgrade bpftoolUpgrade kernelUpgrade python3-perf | Oct 9, 2024 | Jul 29, 2024 |
| Huawei Euleros 2_0_sp12 | — | Upgrade kernel-toolsUpgrade python3-perfUpgrade bpftoolUpgrade kernel-abi-stablelistsUpgrade kernelUpgrade kernel-tools-libs | Nov 5, 2024 | Jul 29, 2024 |
| Huawei Euleros 2_0_sp9 | — | Upgrade kernelUpgrade python3-perfUpgrade kernel-toolsUpgrade kernel-tools-libs | Nov 11, 2024 | Jul 29, 2024 |
| Oracle_linux | — | Upgrade kernel-uekUpgrade kernel | Oct 16, 2024 | Jul 29, 2024 |
| Redhat_linux | — | Upgrade kernel-rtNo solution existsUpgrade kernel | Sep 25, 2024 | Jul 29, 2024 |
| Rocky_linux | — | Upgrade kernel-modules-extraUpgrade kernel-rt-debug-develUpgrade bpftoolUpgrade kernel-debug-modules-coreUpgrade kernel-rtUpgrade kernel-tools-debuginfoUpgrade kernel-coreUpgrade kernel-zfcpdump-develUpgrade kernel-rt-develUpgrade kernel-rt-kvmUpgrade kernel-debug-modules-extraUpgrade kernel-debug-uki-virtUpgrade kernel-tools-libsUpgrade kernel-zfcpdump-modulesUpgrade kernel-rt-debuginfoUpgrade kernel-toolsUpgrade kernel-debug-coreUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-debug-modules-coreUpgrade kernel-debug-develUpgrade rtlaUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-modulesUpgrade kernel-debuginfoUpgrade kernel-debugUpgrade kernel-zfcpdumpUpgrade kernel-rt-modulesUpgrade kernel-rt-debugUpgrade kernel-rt-debug-debuginfoUpgrade kernel-rt-debuginfo-common-x86_64Upgrade kernel-debug-modulesUpgrade kernel-zfcpdump-devel-matchedUpgrade kernel-rt-debug-coreUpgrade kernel-uki-virtUpgrade rvUpgrade python3-perf-debuginfoUpgrade kernel-rt-modules-coreUpgrade kernel-debug-debuginfoUpgrade bpftool-debuginfoUpgrade kernel-rt-debug-kvmUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-debug-modules-extraUpgrade kernel-develUpgrade kernelUpgrade kernel-zfcpdump-coreUpgrade perf-debuginfoUpgrade kernel-zfcpdump-debuginfoUpgrade libperf-debuginfoUpgrade kernel-rt-coreUpgrade kernel-modules-coreUpgrade python3-perfUpgrade kernel-zfcpdump-modules-coreUpgrade libperfUpgrade kernel-headersUpgrade kernel-devel-matchedUpgrade kernel-rt-modules-extraUpgrade kernel-tools-libs-develUpgrade kernel-debug-devel-matchedUpgrade kernel-cross-headersUpgrade perf | Sep 17, 2024 | Jul 29, 2024 |
| Suse | — | Upgrade kernel-64kb-optionalUpgrade kernel-kvmsmall-develUpgrade gfs2-kmp-rtUpgrade kernel-kvmsmallUpgrade kernel-obs-qaUpgrade dtb-amlogicUpgrade dtb-exynosUpgrade kernel-source-azureUpgrade kselftests-kmp-64kbUpgrade dtb-freescaleUpgrade kernel-rt-livepatchUpgrade kernel-azure-livepatch-develUpgrade kselftests-kmp-defaultUpgrade kernel-64kb-develUpgrade kernel-docsUpgrade dtb-appleUpgrade kernel-macrosUpgrade kernel-64kb-livepatch-develUpgrade dtb-renesasUpgrade dtb-apmUpgrade kernel-64kbUpgrade dlm-kmp-azureUpgrade cluster-md-kmp-azureUpgrade kernel-debug-livepatch-develUpgrade kernel-debug-develUpgrade cluster-md-kmp-rtUpgrade kernel-syms-rtUpgrade dtb-amdUpgrade dtb-lgUpgrade kernel-rt-develUpgrade ocfs2-kmp-rtUpgrade kernel-rt_debug-vdsoUpgrade kernel-azure-extraUpgrade kernel-develUpgrade dtb-xilinxUpgrade kernel-sourceUpgrade kernel-default-optionalUpgrade kernel-devel-azureUpgrade kernel-default-develUpgrade kernel-rt-livepatch-develUpgrade reiserfs-kmp-azureUpgrade dtb-hisiliconUpgrade reiserfs-kmp-defaultUpgrade cluster-md-kmp-defaultUpgrade dtb-amazonUpgrade kernel-devel-rtUpgrade kernel-syms-azureUpgrade kernel-symsUpgrade kernel-zfcpdumpUpgrade ocfs2-kmp-azureUpgrade kernel-debugUpgrade dtb-armUpgrade dtb-mediatekUpgrade gfs2-kmp-64kbUpgrade kernel-default-extraUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-default-base-rebuildUpgrade cluster-md-kmp-64kbUpgrade ocfs2-kmp-defaultUpgrade kernel-source-vanillaUpgrade kernel-default-livepatch-develUpgrade dtb-sprdUpgrade kernel-kvmsmall-vdsoUpgrade dtb-nvidiaUpgrade kernel-defaultUpgrade dlm-kmp-rtUpgrade kselftests-kmp-rtUpgrade kernel-rt-extraUpgrade kernel-obs-buildUpgrade kernel-64kb-extraUpgrade kernel-source-rtUpgrade kernel-default-livepatchUpgrade dtb-socionextUpgrade dlm-kmp-defaultUpgrade kernel-azure-baseUpgrade dtb-alteraUpgrade kernel-default-vdsoUpgrade kernel-rt-vdsoUpgrade kernel-docs-htmlUpgrade kernel-azure-optionalUpgrade ocfs2-kmp-64kbUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-rt_debugUpgrade dtb-marvellUpgrade reiserfs-kmp-64kbUpgrade kernel-azure-develUpgrade kernel-rt-optionalUpgrade kernel-rtUpgrade kernel-default-baseUpgrade kernel-azureUpgrade dtb-rockchipUpgrade kernel-rt_debug-develUpgrade dtb-broadcomUpgrade dlm-kmp-64kbUpgrade reiserfs-kmp-rtUpgrade kselftests-kmp-azureUpgrade dtb-qcomUpgrade dtb-caviumUpgrade dtb-allwinnerUpgrade kernel-default-manUpgrade kernel-debug-vdsoUpgrade gfs2-kmp-defaultUpgrade gfs2-kmp-azureUpgrade kernel-azure-vdso | Aug 14, 2024 | Jul 29, 2024 |
| Ubuntu | — | Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-oem-20.04cUpgrade linux-image-nvidiaUpgrade linux-image-genericUpgrade linux-image-oem-22.04cUpgrade linux-image-oracle-64kUpgrade linux-image-5.4.0-1116-raspiUpgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-5.4.0-1043-iotUpgrade linux-image-ibm-classicUpgrade linux-image-5.15.0-1066-kvmUpgrade linux-image-azure-lts-22.04Upgrade linux-image-5.15.0-1064-nvidia-lowlatencyUpgrade linux-image-6.8.0-48-generic-64kUpgrade linux-image-5.4.0-1051-xilinx-zynqmpUpgrade linux-image-6.8.0-1017-azureUpgrade linux-image-aws-lts-20.04Upgrade linux-image-5.4.0-1099-gkeopUpgrade linux-image-ibmUpgrade linux-image-6.8.0-1014-raspiUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-5.4.0-1079-ibmUpgrade linux-image-raspiUpgrade linux-image-nvidia-64kUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-oem-22.04aUpgrade linux-image-snapdragon-hwe-18.04Upgrade linux-image-5.15.0-1072-azure-fdeUpgrade linux-image-5.15.0-1062-ibmUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-lowlatencyUpgrade linux-image-6.8.0-1017-gcpUpgrade linux-image-oem-22.04bUpgrade linux-image-ibm-lts-20.04Upgrade linux-image-5.15.0-1064-intel-iotgUpgrade linux-image-6.8.0-1016-azureUpgrade linux-image-nvidia-6.8Upgrade linux-image-5.15.0-121-lowlatency-64kUpgrade linux-image-6.8.0-48-lowlatencyUpgrade linux-image-5.15.0-121-lowlatencyUpgrade linux-image-aws-lts-22.04Upgrade linux-image-generic-hwe-18.04Upgrade linux-image-oem-22.04Upgrade linux-image-gkeopUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-121-generic-64kUpgrade linux-image-5.15.0-1069-awsUpgrade linux-image-oem-20.04bUpgrade linux-image-lowlatency-hwe-24.04Upgrade linux-image-intelUpgrade linux-image-gkeop-5.4Upgrade linux-image-5.15.0-1072-azureUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-generic-64kUpgrade linux-image-lowlatency-64kUpgrade linux-image-6.8.0-1017-nvidiaUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-azure-fdeUpgrade linux-image-6.8.0-48-lowlatency-64kUpgrade linux-image-6.8.0-1017-nvidia-64kUpgrade linux-image-6.8.0-1016-azure-fdeUpgrade linux-image-azureUpgrade linux-image-5.4.0-1131-oracleUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-5.4.0-1092-bluefieldUpgrade linux-image-generic-lpaeUpgrade linux-image-gkeop-6.8Upgrade linux-image-6.8.0-1002-gkeopUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-virtualUpgrade linux-image-oem-24.04Upgrade linux-image-oem-20.04dUpgrade linux-image-5.4.0-1120-kvmUpgrade linux-image-5.4.0-195-lowlatencyUpgrade linux-image-intel-iotgUpgrade linux-image-6.8.0-1013-gkeUpgrade linux-image-5.4.0-1132-awsUpgrade linux-image-nvidia-64k-6.8Upgrade linux-image-5.4.0-195-genericUpgrade linux-image-5.15.0-121-genericUpgrade linux-image-6.8.0-1016-gcpUpgrade linux-image-oemUpgrade linux-image-6.8.0-1015-oracleUpgrade linux-image-lowlatency-64k-hwe-24.04Upgrade linux-image-bluefieldUpgrade linux-image-5.15.0-1066-gkeUpgrade linux-image-raspi2-hwe-18.04Upgrade linux-image-6.8.0-1016-oemUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-5.15.0-1062-raspiUpgrade linux-image-nvidia-lowlatency-64kUpgrade linux-image-virtual-hwe-18.04Upgrade linux-image-kvmUpgrade linux-image-5.15.0-1068-gcpUpgrade linux-image-gcpUpgrade linux-image-5.4.0-1137-azureUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-6.8.0-1017-nvidia-lowlatency-64kUpgrade linux-image-6.8.0-1017-nvidia-lowlatencyUpgrade linux-image-raspi2Upgrade linux-image-oracleUpgrade linux-image-5.4.0-195-generic-lpaeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-awsUpgrade linux-image-oem-22.04dUpgrade linux-image-azure-lts-20.04Upgrade linux-image-5.15.0-1052-gkeopUpgrade linux-image-6.8.0-1018-awsUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-gcp-lts-20.04Upgrade linux-image-lowlatency-hwe-18.04Upgrade linux-image-6.8.0-1015-oracle-64kUpgrade linux-image-oem-24.04aUpgrade linux-image-6.8.0-1017-azure-fdeUpgrade linux-image-oracle-lts-20.04Upgrade linux-image-raspi-hwe-18.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1067-oracleUpgrade linux-image-oracle-lts-22.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-gkeUpgrade linux-image-oem-osp1Upgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-5.4.0-1136-gcpUpgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-5.15.0-1064-nvidiaUpgrade linux-image-5.15.0-121-generic-lpaeUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-azure-cvmUpgrade linux-image-oem-20.04Upgrade linux-image-raspi-nolpaeUpgrade linux-image-6.8.0-48-genericUpgrade linux-image-6.8.0-1014-ibm | Sep 13, 2024 | Jul 29, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Oct 13, 2025 | Jul 29, 2024 |
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