Description
In the Linux kernel, the following vulnerability has been resolved:

openrisc: Fix jump_label smp syncing

The original commit 8c30b0018f9d ("openrisc: Add jump label support")
copies from arm64 and does not properly consider how icache invalidation
on remote cores works in OpenRISC. On OpenRISC remote icaches need to
be invalidated otherwise static key's may remain state after updating.

Fix SMP cache syncing by:

1. Properly invalidate remote core icaches on SMP systems by using
icache_all_inv. The old code uses kick_all_cpus_sync() which runs a
no-op IPI function call on remote CPU's which does execute a lot of
code and flushes many cache lines in the process, but does not flush
all and it's not correct on OpenRISC.
2. For architectures that do not have WRITETHROUGH caches be sure
to flush the dcache after patching.

To test this I first reproduced the issue using a custom test module
[0]. The test confirmed that some icache lines maintained stale
static_key code sequences after calling static_branch_enable(). After
this patch there are no longer jump_label coherency issues.

[0] https://github.com/stffrdhrn/or1k-utils/tree/master/tests/smp_static_key_test
Published: 2026-08-15
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability originates from improper instruction cache invalidation on remote OpenRISC cores when static branch keys are enabled or disabled. The prior implementation, copied from arm64, did not account for OpenRISC’s cache semantics, which allowed stale static key code to remain cached on sibling CPUs. If these stale instructions are later executed, the kernel may perform unintended operations or crash, leading to incorrect code execution or a denial‑of‑service condition.

Affected Systems

This flaw impacts Linux kernels running on OpenRISC hardware. The fix is contained in commit 3fac46068fe4cea22ed373432b9173a915e8e60d and any subsequent releases. Users should verify whether their current kernel incorporates this change.

Risk and Exploitability

The CVSS score of 7.8 indicates a high severity vulnerability, while the EPSS score of <1% points to a very low exploitation probability. The flaw is not listed in the CISA KEV catalog, suggesting it is not known to be actively exploited. Based on the description, it is inferred that exploitation would likely require local or administrative access to trigger static_branch_enable changes; an attacker could cause stale code execution by manipulating static keys, resulting in incorrect behavior or a service outage.

Generated by OpenCVE AI on August 22, 2026 at 11:37 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a Linux kernel update that includes the OpenRISC jump_label SMP synchronization fix (commit 3fac46068fe4cea22ed373432b9173a915e8e60d or later).
  • Deploy the updated kernel to all OpenRISC systems and configure the bootloader to use it by default.
  • Reboot all devices after applying the update to allow instruction caches to fully synchronize and verify that the system operates correctly.

Generated by OpenCVE AI on August 22, 2026 at 11:37 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 10:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-815

Wed, 19 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-821
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 17 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-815

Mon, 17 Aug 2026 08:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-827

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sat, 15 Aug 2026 21:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-827

Sat, 15 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: openrisc: Fix jump_label smp syncing The original commit 8c30b0018f9d ("openrisc: Add jump label support") copies from arm64 and does not properly consider how icache invalidation on remote cores works in OpenRISC. On OpenRISC remote icaches need to be invalidated otherwise static key's may remain state after updating. Fix SMP cache syncing by: 1. Properly invalidate remote core icaches on SMP systems by using icache_all_inv. The old code uses kick_all_cpus_sync() which runs a no-op IPI function call on remote CPU's which does execute a lot of code and flushes many cache lines in the process, but does not flush all and it's not correct on OpenRISC. 2. For architectures that do not have WRITETHROUGH caches be sure to flush the dcache after patching. To test this I first reproduced the issue using a custom test module [0]. The test confirmed that some icache lines maintained stale static_key code sequences after calling static_branch_enable(). After this patch there are no longer jump_label coherency issues. [0] https://github.com/stffrdhrn/or1k-utils/tree/master/tests/smp_static_key_test
Title openrisc: Fix jump_label smp syncing
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:41:01.606Z

Reserved: 2026-08-09T03:40:39.909Z

Link: CVE-2026-72154

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:21:33.153

Modified: 2026-08-17T06:18:15.603

Link: CVE-2026-72154

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-72154 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T11:45:03Z

Weaknesses
  • CWE-821

    Incorrect Synchronization