[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86/hvm: fix off-by-one errors in vcpuid range checks
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1243419460 -3600 # Node ID b671d568115f69d2ab223e9b71b6f8241a7dc1f9 # Parent 7dfc0a20fa598287e61b64d93ff6671e2c649e9a x86/hvm: fix off-by-one errors in vcpuid range checks Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx> --- xen/arch/x86/hvm/hvm.c | 2 +- xen/arch/x86/hvm/mtrr.c | 2 +- xen/arch/x86/hvm/vlapic.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff -r 7dfc0a20fa59 -r b671d568115f xen/arch/x86/hvm/hvm.c --- a/xen/arch/x86/hvm/hvm.c Wed May 27 11:16:27 2009 +0100 +++ b/xen/arch/x86/hvm/hvm.c Wed May 27 11:17:40 2009 +0100 @@ -503,7 +503,7 @@ static int hvm_load_cpu_ctxt(struct doma /* Which vcpu is this? */ vcpuid = hvm_load_instance(h); - if ( vcpuid > MAX_VIRT_CPUS || (v = d->vcpu[vcpuid]) == NULL ) + if ( vcpuid >= MAX_VIRT_CPUS || (v = d->vcpu[vcpuid]) == NULL ) { gdprintk(XENLOG_ERR, "HVM restore: domain has no vcpu %u\n", vcpuid); return -EINVAL; diff -r 7dfc0a20fa59 -r b671d568115f xen/arch/x86/hvm/mtrr.c --- a/xen/arch/x86/hvm/mtrr.c Wed May 27 11:16:27 2009 +0100 +++ b/xen/arch/x86/hvm/mtrr.c Wed May 27 11:17:40 2009 +0100 @@ -676,7 +676,7 @@ static int hvm_load_mtrr_msr(struct doma struct hvm_hw_mtrr hw_mtrr; vcpuid = hvm_load_instance(h); - if ( vcpuid > MAX_VIRT_CPUS || (v = d->vcpu[vcpuid]) == NULL ) + if ( vcpuid >= MAX_VIRT_CPUS || (v = d->vcpu[vcpuid]) == NULL ) { gdprintk(XENLOG_ERR, "HVM restore: domain has no vcpu %u\n", vcpuid); return -EINVAL; diff -r 7dfc0a20fa59 -r b671d568115f xen/arch/x86/hvm/vlapic.c --- a/xen/arch/x86/hvm/vlapic.c Wed May 27 11:16:27 2009 +0100 +++ b/xen/arch/x86/hvm/vlapic.c Wed May 27 11:17:40 2009 +0100 @@ -913,7 +913,7 @@ static int lapic_load_hidden(struct doma /* Which vlapic to load? */ vcpuid = hvm_load_instance(h); - if ( vcpuid > MAX_VIRT_CPUS || (v = d->vcpu[vcpuid]) == NULL ) + if ( vcpuid >= MAX_VIRT_CPUS || (v = d->vcpu[vcpuid]) == NULL ) { gdprintk(XENLOG_ERR, "HVM restore: domain has no vlapic %u\n", vcpuid); return -EINVAL; @@ -936,7 +936,7 @@ static int lapic_load_regs(struct domain /* Which vlapic to load? */ vcpuid = hvm_load_instance(h); - if ( vcpuid > MAX_VIRT_CPUS || (v = d->vcpu[vcpuid]) == NULL ) + if ( vcpuid >= MAX_VIRT_CPUS || (v = d->vcpu[vcpuid]) == NULL ) { gdprintk(XENLOG_ERR, "HVM restore: domain has no vlapic %u\n", vcpuid); return -EINVAL; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |