{"api_version":"1","generated_at":"2026-08-16T12:19:03+00:00","cve":"CVE-2026-72154","urls":{"html":"https://cve.report/CVE-2026-72154","api":"https://cve.report/api/cve/CVE-2026-72154.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-72154","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-72154"},"summary":{"title":"openrisc: Fix jump_label smp syncing","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nopenrisc: Fix jump_label smp syncing\n\nThe original commit 8c30b0018f9d (\"openrisc: Add jump label support\")\ncopies from arm64 and does not properly consider how icache invalidation\non remote cores works in OpenRISC.  On OpenRISC remote icaches need to\nbe invalidated otherwise static key's may remain state after updating.\n\nFix SMP cache syncing by:\n\n 1. Properly invalidate remote core icaches on SMP systems by using\n    icache_all_inv.  The old code uses kick_all_cpus_sync() which runs a\n    no-op IPI function call on remote CPU's which does execute a lot of\n    code and flushes many cache lines in the process, but does not flush\n    all and it's not correct on OpenRISC.\n 2. For architectures that do not have WRITETHROUGH caches be sure\n    to flush the dcache after patching.\n\nTo test this I first reproduced the issue using a custom test module\n[0].  The test confirmed that some icache lines maintained stale\nstatic_key code sequences after calling static_branch_enable().  After\nthis patch there are no longer jump_label coherency issues.\n\n[0] https://github.com/stffrdhrn/or1k-utils/tree/master/tests/smp_static_key_test","state":"PUBLISHED","assigner":"Linux","published_at":"2026-08-15 06:21:33","updated_at":"2026-08-15 06:21:33"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/3fac46068fe4cea22ed373432b9173a915e8e60d","name":"https://git.kernel.org/stable/c/3fac46068fe4cea22ed373432b9173a915e8e60d","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/aca063c9024522e4e5b9a9d1927433f6a01785a3","name":"https://git.kernel.org/stable/c/aca063c9024522e4e5b9a9d1927433f6a01785a3","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/57740658042daf591c57d6e700d9a304d5972552","name":"https://git.kernel.org/stable/c/57740658042daf591c57d6e700d9a304d5972552","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-72154","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72154","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8c30b0018f9d93391573e091960d257fd9de120a 3fac46068fe4cea22ed373432b9173a915e8e60d git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8c30b0018f9d93391573e091960d257fd9de120a 57740658042daf591c57d6e700d9a304d5972552 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 8c30b0018f9d93391573e091960d257fd9de120a aca063c9024522e4e5b9a9d1927433f6a01785a3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.18","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.40 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.5 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"72154","cve":"CVE-2026-72154","epss":"0.002060000","percentile":"0.109950000","score_date":"2026-08-15","updated_at":"2026-08-16 00:00:32"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["arch/openrisc/kernel/jump_label.c","arch/openrisc/kernel/patching.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"3fac46068fe4cea22ed373432b9173a915e8e60d","status":"affected","version":"8c30b0018f9d93391573e091960d257fd9de120a","versionType":"git"},{"lessThan":"57740658042daf591c57d6e700d9a304d5972552","status":"affected","version":"8c30b0018f9d93391573e091960d257fd9de120a","versionType":"git"},{"lessThan":"aca063c9024522e4e5b9a9d1927433f6a01785a3","status":"affected","version":"8c30b0018f9d93391573e091960d257fd9de120a","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["arch/openrisc/kernel/jump_label.c","arch/openrisc/kernel/patching.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.18"},{"lessThan":"6.18","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.40","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.5","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.40","versionStartIncluding":"6.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.5","versionStartIncluding":"6.18","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2-rc1","versionStartIncluding":"6.18","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nopenrisc: Fix jump_label smp syncing\n\nThe original commit 8c30b0018f9d (\"openrisc: Add jump label support\")\ncopies from arm64 and does not properly consider how icache invalidation\non remote cores works in OpenRISC.  On OpenRISC remote icaches need to\nbe invalidated otherwise static key's may remain state after updating.\n\nFix SMP cache syncing by:\n\n 1. Properly invalidate remote core icaches on SMP systems by using\n    icache_all_inv.  The old code uses kick_all_cpus_sync() which runs a\n    no-op IPI function call on remote CPU's which does execute a lot of\n    code and flushes many cache lines in the process, but does not flush\n    all and it's not correct on OpenRISC.\n 2. For architectures that do not have WRITETHROUGH caches be sure\n    to flush the dcache after patching.\n\nTo test this I first reproduced the issue using a custom test module\n[0].  The test confirmed that some icache lines maintained stale\nstatic_key code sequences after calling static_branch_enable().  After\nthis patch there are no longer jump_label coherency issues.\n\n[0] https://github.com/stffrdhrn/or1k-utils/tree/master/tests/smp_static_key_test"}],"providerMetadata":{"dateUpdated":"2026-08-15T05:53:24.474Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/3fac46068fe4cea22ed373432b9173a915e8e60d"},{"url":"https://git.kernel.org/stable/c/57740658042daf591c57d6e700d9a304d5972552"},{"url":"https://git.kernel.org/stable/c/aca063c9024522e4e5b9a9d1927433f6a01785a3"}],"title":"openrisc: Fix jump_label smp syncing","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-72154","datePublished":"2026-08-15T05:53:24.474Z","dateReserved":"2026-08-09T03:40:39.909Z","dateUpdated":"2026-08-15T05:53:24.474Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-15 06:21:33","lastModifiedDate":"2026-08-15 06:21:33","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"72154","Ordinal":"1","Title":"openrisc: Fix jump_label smp syncing","CVE":"CVE-2026-72154","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"72154","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nopenrisc: Fix jump_label smp syncing\n\nThe original commit 8c30b0018f9d (\"openrisc: Add jump label support\")\ncopies from arm64 and does not properly consider how icache invalidation\non remote cores works in OpenRISC.  On OpenRISC remote icaches need to\nbe invalidated otherwise static key's may remain state after updating.\n\nFix SMP cache syncing by:\n\n 1. Properly invalidate remote core icaches on SMP systems by using\n    icache_all_inv.  The old code uses kick_all_cpus_sync() which runs a\n    no-op IPI function call on remote CPU's which does execute a lot of\n    code and flushes many cache lines in the process, but does not flush\n    all and it's not correct on OpenRISC.\n 2. For architectures that do not have WRITETHROUGH caches be sure\n    to flush the dcache after patching.\n\nTo test this I first reproduced the issue using a custom test module\n[0].  The test confirmed that some icache lines maintained stale\nstatic_key code sequences after calling static_branch_enable().  After\nthis patch there are no longer jump_label coherency issues.\n\n[0] https://github.com/stffrdhrn/or1k-utils/tree/master/tests/smp_static_key_test","Type":"Description","Title":"openrisc: Fix jump_label smp syncing"}]}}}