Message ID | 1423763435-3696-2-git-send-email-ehabkost@redhat.com |
---|---|
State | New |
Headers | show |
On Thu, 12 Feb 2015 15:50:32 -0200 Eduardo Habkost <ehabkost@redhat.com> wrote: > Fix the CPU index check to ensure we don't go beyond the size of the > node_cpu bitmap. > > CPU index is always less than MAX_CPUMASK_BITS, as documented at > sysemu.h: > > > The following shall be true for all CPUs: > > cpu->cpu_index < max_cpus <= MAX_CPUMASK_BITS > > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com> Reviewed-by: Igor Mammedov <imammedo@redhat.com> > --- > numa.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/numa.c b/numa.c > index 0d15375..41e496b 100644 > --- a/numa.c > +++ b/numa.c > @@ -76,9 +76,9 @@ static void numa_node_parse(NumaNodeOptions *node, QemuOpts *opts, Error **errp) > } > > for (cpus = node->cpus; cpus; cpus = cpus->next) { > - if (cpus->value > MAX_CPUMASK_BITS) { > + if (cpus->value >= MAX_CPUMASK_BITS) { > error_setg(errp, "CPU number %" PRIu16 " is bigger than %d", > - cpus->value, MAX_CPUMASK_BITS); > + cpus->value, MAX_CPUMASK_BITS - 1); > return; > } > bitmap_set(numa_info[nodenr].node_cpu, cpus->value, 1);
diff --git a/numa.c b/numa.c index 0d15375..41e496b 100644 --- a/numa.c +++ b/numa.c @@ -76,9 +76,9 @@ static void numa_node_parse(NumaNodeOptions *node, QemuOpts *opts, Error **errp) } for (cpus = node->cpus; cpus; cpus = cpus->next) { - if (cpus->value > MAX_CPUMASK_BITS) { + if (cpus->value >= MAX_CPUMASK_BITS) { error_setg(errp, "CPU number %" PRIu16 " is bigger than %d", - cpus->value, MAX_CPUMASK_BITS); + cpus->value, MAX_CPUMASK_BITS - 1); return; } bitmap_set(numa_info[nodenr].node_cpu, cpus->value, 1);