{"id":41187,"date":"2026-10-19T00:32:31","date_gmt":"2026-10-18T16:32:31","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98715"},"modified":"2026-10-19T00:32:31","modified_gmt":"2026-10-18T16:32:31","slug":"cve-2026-98715","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98715","title":{"rendered":"CVE-2026-98715 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nKVM: SVM: Preserve TL"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>KVM: SVM: Preserve TLB control (i.e. pending TLB flush) on failed VMRUN<\/p>\n<p>Don&#8217;t reset the VMCB&#8217;s TLB control back to &#8220;do nothing&#8221; on a failed VMRUN,<br \/>\nas empirical testing shows that the CPU performs the requested TLB flush if<br \/>\nand only if VMRUN is successful, i.e. clearing TLB control on a failed<br \/>\nVMRUN effectively drops a TLB flush.<\/p>\n<p>Explicitly track the need to flush all ASIDs on a per-CPU basis, as the<br \/>\nASID reuse condition is tied to the pCPU, not to the vCPU.  As a bonus,<br \/>\nthis also obviates the need to avoid clobbering FLUSH_ALL_ASID with<br \/>\nTLB_CONTROL_FLUSH_ASID, e.g. in svm_flush_tlb_asid().<\/p>\n<p>Deliberately don&#8217;t bother saving\/restoring the &#8220;old&#8221; tlb_ctl on failure,<br \/>\nin quotes because it&#8217;s not exactly the old tlb_ctl, it&#8217;s the tlb_ctl from<br \/>\nafter pre_svm_run(), but before updating tlb_ctl for flush_all_asids.  If<br \/>\nVMRUN fails and TLB_CONTROL_FLUSH_ALL_ASID is forced, then the next<br \/>\nsuccessful run of the VMCB *may* unnecessarily flush all ASIDs, which<br \/>\nstrictly speaking could result in noisy neighbor issues.  However, the<br \/>\nfact that new_asid() is already guest-triggerable, because of KVM&#8217;s flawed<br \/>\nbehavior of clearing the ASID on emulated INIT, means that a guest can<br \/>\nalready trigger a flush of all ASIDs at roughly the same rate.  And once<br \/>\nKVM stops clobbering the ASID on emulated INIT, *or* assigns a static ASID<br \/>\nto each vCPU, this flaw goes away.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>KVM: SVM: Preserve TLB control (i.e. pending TLB flush) on failed VMRUN<\/p>\n<p>Don&#8217;t reset the VMCB&#8217;s TLB control back to &#8220;do nothing&#8221; on<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-41187","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/41187","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=41187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=41187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=41187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}