Vulnerability · Published Feb 28, 2024 · Assigned by Linux

CVE-2021-46990powerpc/64s: Fix crashes when toggling entry flush barrier

Medium 5.5

In plain English

A medium-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 14% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS NVD)5.5Medium
Exploit odds (30 days)0.2%top 86.0% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: powerpc/64s: Fix crashes when toggling entry flush barrier The entry flush mitigation can be enabled/disabled at runtime via a debugfs file (entry_flush), which causes the kernel to patch itself to enable/disable the relevant mitigations. However depending on which mitigation we're using, it may not be safe to do that patching while other CPUs are active. For example the following crash: sleeper[15639]: segfault (11) at c000000000004c20 nip c000000000004c20 lr c000000000004c20 Shows that we returned to userspace with a corrupted LR that points into the kernel, due to executing the partially patched call to the fallback entry flush (ie. we missed the LR restore). Fix it by doing the patching under stop machine. The CPUs that aren't doing the patching will be spinning in the core of the stop machine logic. That is currently sufficient for our purposes, because none of the patching we do is to that code or anywhere in the vicinity.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux5.10.38-1DEBIAN-CVE-2021-46990
Debian:13linux5.10.38-1DEBIAN-CVE-2021-46990
Debian:14linux5.10.38-1DEBIAN-CVE-2021-46990
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2021-46990
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2021-46990
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2021-46990

Affected products (as reported)

VendorProductVersions
Linux Linux 4a1e90af718d1489ffcecc8f52486c4f5dc0f7a6 – before 8382b15864e5014261b4f36c2aa89723612ee058fa4bf9f38184ed7ca4916eb64f8c767d1e279c1f – before 0c25a7bb697f2e6ee65b6d63782f675bf129511adb01cad9efe3c3838a6b3a3f68affd295c4b92d6 – before ee4b7aab93c2631c3bb0753023c5dda592bb666bf69bb4e51f41973fb7594be1479fa689831efe1a – before 2db22ba4e0e103f00e0512e0ecce36ac78c644f8b65458b6be8032c5179d4f562038575d7b3a6be3 – before 0b4eb172cc12dc102cd0ad013e53ee4463db9508f79643787e0a0762d2409b7b8334e83f22d85695 – before d2e3590ca39ccfd8a5a46d8c7f095cb6c7b9ae92f79643787e0a0762d2409b7b8334e83f22d85695 – before dd0d6117052faace5440db20fc37175efe921c7df79643787e0a0762d2409b7b8334e83f22d85695 – before 5bc00fdda1e934c557351a9c751a205293e68cbf
Linux Linux 5.10

References