Advisory Published
Updated

CVE-2024-46848: perf/x86/intel: Limit the period on Haswell

First published: Fri Sep 27 2024(Updated: )

In the Linux kernel, the following vulnerability has been resolved: perf/x86/intel: Limit the period on Haswell Running the ltp test cve-2015-3290 concurrently reports the following warnings. perfevents: irq loop stuck! WARNING: CPU: 31 PID: 32438 at arch/x86/events/intel/core.c:3174 intel_pmu_handle_irq+0x285/0x370 Call Trace: <NMI> ? __warn+0xa4/0x220 ? intel_pmu_handle_irq+0x285/0x370 ? __report_bug+0x123/0x130 ? intel_pmu_handle_irq+0x285/0x370 ? __report_bug+0x123/0x130 ? intel_pmu_handle_irq+0x285/0x370 ? report_bug+0x3e/0xa0 ? handle_bug+0x3c/0x70 ? exc_invalid_op+0x18/0x50 ? asm_exc_invalid_op+0x1a/0x20 ? irq_work_claim+0x1e/0x40 ? intel_pmu_handle_irq+0x285/0x370 perf_event_nmi_handler+0x3d/0x60 nmi_handle+0x104/0x330 Thanks to Thomas Gleixner's analysis, the issue is caused by the low initial period (1) of the frequency estimation algorithm, which triggers the defects of the HW, specifically erratum HSW11 and HSW143. (For the details, please refer https://lore.kernel.org/lkml/87plq9l5d2.ffs@tglx/) The HSW11 requires a period larger than 100 for the INST_RETIRED.ALL event, but the initial period in the freq mode is 1. The erratum is the same as the BDM11, which has been supported in the kernel. A minimum period of 128 is enforced as well on HSW. HSW143 is regarding that the fixed counter 1 may overcount 32 with the Hyper-Threading is enabled. However, based on the test, the hardware has more issues than it tells. Besides the fixed counter 1, the message 'interrupt took too long' can be observed on any counter which was armed with a period < 32 and two events expired in the same NMI. A minimum period of 32 is enforced for the rest of the events. The recommended workaround code of the HSW143 is not implemented. Because it only addresses the issue for the fixed counter. It brings extra overhead through extra MSR writing. No related overcounting issue has been reported so far.

Credit: 416baaa9-dc9f-4396-8d5f-8c081fb06d67 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Affected SoftwareAffected VersionHow to fix
Linux Kernel>=3.11<6.1.110
Linux Kernel>=6.2<6.6.51
Linux Kernel>=6.7<6.10.10
Linux Kernel=6.11-rc1
Linux Kernel=6.11-rc2
Linux Kernel=6.11-rc3
Linux Kernel=6.11-rc4
Linux Kernel=6.11-rc5
Linux Kernel=6.11-rc6
debian/linux<=5.10.223-1<=5.10.234-1
6.1.123-1
6.1.128-1
6.12.12-1
6.12.17-1
debian/linux-6.1
6.1.128-1~deb11u1

Never miss a vulnerability like this again

Sign up to SecAlerts for real-time vulnerability data matched to your software, aggregated from hundreds of sources.

Frequently Asked Questions

  • What is the severity of CVE-2024-46848?

    The severity of CVE-2024-46848 is considered medium, as it affects the performance of the Linux kernel without exposing critical vulnerabilities.

  • How do I fix CVE-2024-46848?

    To fix CVE-2024-46848, update the Linux kernel to version 6.1.123-1 or later, or apply relevant patches.

  • What versions of the Linux kernel are affected by CVE-2024-46848?

    CVE-2024-46848 affects Linux kernel versions from 3.11 to 6.1.110, 6.7 to 6.10.10, and 6.2 to 6.6.51, among others.

  • What symptoms indicate the presence of CVE-2024-46848?

    Symptoms of CVE-2024-46848 may include warning messages such as 'perfevents: irq loop stuck!' during certain tests.

  • Is CVE-2024-46848 specific to any particular distribution of Linux?

    CVE-2024-46848 is not specific to any one distribution; it affects the Linux kernel across various distributions using the vulnerable versions.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2025 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203