]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
KVM: x86: Drop superfluous caching of KVM_ASYNC_PF_SEND_ALWAYS
authorSean Christopherson <seanjc@google.com>
Mon, 6 Apr 2026 22:53:58 +0000 (15:53 -0700)
committerSean Christopherson <seanjc@google.com>
Wed, 13 May 2026 17:40:49 +0000 (10:40 -0700)
commit7e985021ef2f6f60bc2fe126978d81a7efa7aeff
tree12cbf76c315c9382656745a00aea605794fad55a
parent3c0bf11dd41ffd4206c8ba76d485379e307080e0
KVM: x86: Drop superfluous caching of KVM_ASYNC_PF_SEND_ALWAYS

Drop kvm_vcpu_arch.apf.send_always and instead use msr_en_val as the source
of truth to reduce the probability of operating on stale data.  This fixes
flaws where KVM fails to update send_always when APF is explicitly
disabled by the guest or implicitly disabled by KVM on INIT.  Absent other
bugs, the flaws are benign as KVM *shouldn't* consume send_always when PV
APF support is disabled.

Simply delete the field, as there's zero benefit to maintaining a separate
"cache" of the state.

Opportunistically turn the enabled vs. disabled logic at the end of
kvm_pv_enable_async_pf() into an if-else instead of using an early return,
e.g. so that it's more obvious that both paths are "success" paths.

Fixes: 6adba5274206 ("KVM: Let host know whether the guest can handle async PF in non-userspace context.")
Reviewed-by: Binbin Wu <binbin.wu@linux.intel.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Link: https://patch.msgid.link/20260406225359.1245490-4-seanjc@google.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/x86.c