Messages in this thread | | | Date | Thu, 7 Mar 2024 13:46:40 +1300 | Subject | Re: [PATCH 15/16] KVM: x86/mmu: Initialize kvm_page_fault's pfn and hva to error values | From | "Huang, Kai" <> |
| |
On 28/02/2024 3:41 pm, Sean Christopherson wrote: > Explicitly set "pfn" and "hva" to error values in kvm_mmu_do_page_fault() > to harden KVM against using "uninitialized" values. In quotes because the > fields are actually zero-initialized, and zero is a legal value for both > page frame numbers and virtual addresses. E.g. failure to set "pfn" prior > to creating an SPTE could result in KVM pointing at physical address '0', > which is far less desirable than KVM generating a SPTE with reserved PA > bits set and thus effectively killing the VM. > > Signed-off-by: Sean Christopherson <seanjc@google.com> > --- > arch/x86/kvm/mmu/mmu_internal.h | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/x86/kvm/mmu/mmu_internal.h b/arch/x86/kvm/mmu/mmu_internal.h > index 74736d517e74..67e32dec9424 100644 > --- a/arch/x86/kvm/mmu/mmu_internal.h > +++ b/arch/x86/kvm/mmu/mmu_internal.h > @@ -307,6 +307,9 @@ static inline int kvm_mmu_do_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, > .req_level = PG_LEVEL_4K, > .goal_level = PG_LEVEL_4K, > .is_private = err & PFERR_PRIVATE_ACCESS, > + > + .pfn = KVM_PFN_ERR_FAULT, > + .hva = KVM_HVA_ERR_BAD, > }; > int r; >
Reviewed-by: Kai Huang <kai.huang@intel.com>
| |