summaryrefslogtreecommitdiff
path: root/Documentation/virtual/git@git.tavy.me:linux.git
diff options
context:
space:
mode:
authorManuel Andreas <manuel.andreas@tum.de>2026-02-19 21:05:49 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2026-03-11 18:41:11 +0100
commita5264387c2ee42fca92ac792199008fc60ee82f1 (patch)
tree3f0a7da52afe4a569b3befd215d075657ce7f0f9 /Documentation/virtual/git@git.tavy.me:linux.git
parent4b3b8a8b0df1a5e7a1af04ff512df2c80db35dc8 (diff)
KVM: x86: hyper-v: Validate all GVAs during PV TLB flush
In KVM guests with Hyper-V hypercalls enabled, the hypercalls HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST and HVCALL_FLUSH_VIRTUAL_ADDRESS_LIST_EX allow a guest to request invalidation of portions of a virtual TLB. For this, the hypercall parameter includes a list of GVAs that are supposed to be invalidated. Currently, only the base GVA is checked to be canonical. In reality, this check needs to be performed for the entire range of GVAs, as checking only the base GVA enables guests running on Intel hardware to trigger a WARN_ONCE in the host (see Fixes commit below). Move the check for non-canonical addresses to be performed for every GVA of the supplied range to avoid the splat, and to be more in line with the Hyper-V specification, since, although unlikely, a range starting with an invalid GVA may still contain GVAs that are valid. Fixes: fa787ac07b3c ("KVM: x86/hyper-v: Skip non-canonical addresses during PV TLB flush") Signed-off-by: Manuel Andreas <manuel.andreas@tum.de> Reviewed-by: Vitaly Kuznetsov <vkuznets@redhat.com> Link: https://patch.msgid.link/00a7a31b-573b-4d92-91f8-7d7e2f88ea48@tum.de [sean: massage changelog] Signed-off-by: Sean Christopherson <seanjc@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'Documentation/virtual/git@git.tavy.me:linux.git')
0 files changed, 0 insertions, 0 deletions