{"id":41111,"date":"2026-10-19T00:32:12","date_gmt":"2026-10-18T16:32:12","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98639"},"modified":"2026-10-19T00:32:12","modified_gmt":"2026-10-18T16:32:12","slug":"cve-2026-98639","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98639","title":{"rendered":"CVE-2026-98639 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: riscv: Fix NACL"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>KVM: riscv: Fix NACL hfence entry update order<\/p>\n<p>The SBI v3.0 specification (section 15.1.2) requires a nested HFENCE<br \/>\nentry to be populated as follows:<br \/>\n1) find an unused entry with Config.Pending == 0<br \/>\n2) update the Page_Number and Page_Count words<br \/>\n3) update the Config word with Config.Pending set<\/p>\n<p>__kvm_riscv_nacl_hfence() writes the Config word first, so the SBI<br \/>\nimplementation (or NACL hardware) can observe a pending entry with<br \/>\npnum\/pcount values left over from the previous use of that entry,<br \/>\nresulting in incorrect TLB flush ranges.<\/p>\n<p>Write pnum and pcount first and the Config word last. Since the<br \/>\nconsumer is an external agent on coherent shared memory, use<br \/>\nWRITE_ONCE() to stop the compiler from reordering the stores and<br \/>\nsmp_wmb() to make the parameter words globally visible before the<br \/>\nPending bit is set.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>KVM: riscv: Fix NACL hfence entry update order<\/p>\n<p>The SBI v3.0 specification (section 15.1.2) requires a nested HFENCE<br \/>\nentry to be po<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-41111","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/41111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=41111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}