Description
In the Linux kernel, the following vulnerability has been resolved: KVM: nSVM: Raise #UD if unhandled VMMCALL isn't intercepted by L1 Explicitly synthesize a #UD for VMMCALL if L2 is active, L1 does NOT want to intercept VMMCALL, nested_svm_l2_tlb_flush_enabled() is true, and the hypercall is something other than one of the supported Hyper-V hypercalls. When all of the above conditions are met, KVM will intercept VMMCALL but never forward it to L1, i.e. will let L2 make hypercalls as if it were L1. The TLFS says a whole lot of nothing about this scenario, so go with the architectural behavior, which says that VMMCALL #UDs if it's not intercepted. Opportunistically do a 2-for-1 stub trade by stub-ifying the new API instead of the helpers it uses. The last remaining "single" stub will soon be dropped as well. [sean: rewrite changelog and comment, tag for stable, remove defunct stubs]
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 to < fcef67506c0234935cb0fb026740a637edb58d7caffected3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 to < 924d721fae95687acedbaf624a094ed0e8b67104affected3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 to < 009c0f726abeaa67aad1d96b883bdce01d405ce2affected3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 to < 5fb4a5f361565f5b629d8a8fe5288ce8463c5727affected3f4a812edf5cb0a50e65fbdfafdb3e688da18f16 to < c36991c6f8d2ab56ee67aff04e3c357f45cfc76caffected
Linux Linux
Default version status: affected
6.2affected0 to < 6.2unaffected6.6.160 to ≤ 6.6.*unaffected6.12.86 to ≤ 6.12.*unaffected6.18.27 to ≤ 6.18.*unaffected7.0.4 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/fcef67506c0234935cb0fb026740a637edb58d7c ↗
- https://git.kernel.org/stable/c/924d721fae95687acedbaf624a094ed0e8b67104 ↗
- https://git.kernel.org/stable/c/009c0f726abeaa67aad1d96b883bdce01d405ce2 ↗
- https://git.kernel.org/stable/c/5fb4a5f361565f5b629d8a8fe5288ce8463c5727 ↗
- https://git.kernel.org/stable/c/c36991c6f8d2ab56ee67aff04e3c357f45cfc76c ↗