KVM: MMU: check for present pdptr shadow page in walk_shadow
walk_shadow assumes the caller verified validity of the pdptr pointer in question, which is not the case for the invlpg handler.
Fixes oops during Solaris 10 install.
Signed-off-by Marcelo Tosatti <[email protected]>
arch/x86/kvm/mmu.c +2 -0
@@ -1269,6 +1269,8 @@ static int walk_shadow(struct kvm_shadow_walk *walker,if (level ==PT32E_ROOT_LEVEL ) { shadow_addr = vcpu->arch.mmu.pae_root[(addr >>30 ) &3 ]; shadow_addr &=PT64_BASE_ADDR_MASK ; +if (!shadow_addr) +return 1 ; --level; }
Avi Kivity
AppliedQuoted 5 lines · Marcelo Tosatti
walk_shadowassumes the caller verified validity of the pdptr pointer in question, which is not the case for the invlpg handler.Fixes oops during Solaris 10 install.
Applied, thanks.
Signature · 1 line
error compiling committee.c: too many arguments to function