diff mbox

KVM: Fix NULL pointer reference by update_cr8_intercept()

Message ID 1250650329-28537-1-git-send-email-sheng@linux.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Sheng Yang Aug. 19, 2009, 2:52 a.m. UTC
Commit 0d11419a result in NULL pointer reference when using
--no-kvm-irqchip.

Signed-off-by: Sheng Yang <sheng@linux.intel.com>
---
 arch/x86/kvm/x86.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

Comments

Avi Kivity Aug. 19, 2009, 8:07 a.m. UTC | #1
On 08/19/2009 05:52 AM, Sheng Yang wrote:
> Commit 0d11419a result in NULL pointer reference when using
> --no-kvm-irqchip.
>
> Signed-off-by: Sheng Yang<sheng@linux.intel.com>
> ---
>   arch/x86/kvm/x86.c |    3 ++-
>   1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index 850cf56..9ac2d9e 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -4453,7 +4453,8 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
>   	kvm_set_segment(vcpu,&sregs->tr, VCPU_SREG_TR);
>   	kvm_set_segment(vcpu,&sregs->ldt, VCPU_SREG_LDTR);
>
> -	update_cr8_intercept(vcpu);
> +	if (kvm_lapic_enabled(vcpu))
> +		update_cr8_intercept(vcpu);
>
>    

Thanks, I already have a similar fix in update_cr8_intercept() (since it 
can be called from another callsite as well).  Please check kvm-next.
diff mbox

Patch

diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 850cf56..9ac2d9e 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -4453,7 +4453,8 @@  int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
 	kvm_set_segment(vcpu, &sregs->tr, VCPU_SREG_TR);
 	kvm_set_segment(vcpu, &sregs->ldt, VCPU_SREG_LDTR);
 
-	update_cr8_intercept(vcpu);
+	if (kvm_lapic_enabled(vcpu))
+		update_cr8_intercept(vcpu);
 
 	/* Older userspace won't unhalt the vcpu on reset. */
 	if (kvm_vcpu_is_bsp(vcpu) && kvm_rip_read(vcpu) == 0xfff0 &&