On Wed, Apr 03, 2019 at 02:44:52PM +0200, Peter Krempa wrote:
Parsing of the cpu affinity list was using virParseNumber. Modernize it to get rid of the virParseNumber call. Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- src/vmx/vmx.c | 56 ++++++++++++++++++--------------------------------- 1 file changed, 20 insertions(+), 36 deletions(-) diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index 429630faaf..70d9443766 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -1500,43 +1500,35 @@ virVMXParseConfig(virVMXContext *ctx, + if (!(afflist = virStringSplitCount(sched_cpu_affinity, ",", 0, &naffs))) + goto cleanup;
- if (number >= VIR_DOMAIN_CPUMASK_LEN) { - virReportError(VIR_ERR_INTERNAL_ERROR, - _("VMX entry 'sched.cpu.affinity' contains a %d, " - "this value is too large"), number); - goto cleanup; - }
Even though an entry greater than VIR_DOMAIN_CPUMASK_LEN is unlikely, I don't think a refactor should remove this check
+ if (naffs < numvcpus) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Expecting VMX entry 'sched.cpu.affinity' to contain " + "at least as many values as 'numvcpus' (%lld) but " + "found only %zu value(s)"), numvcpus, naffs); + goto cleanup; + } - ignore_value(virBitmapSetBit(def->cpumask, number)); - ++count; + for (aff = afflist; *aff; aff++) { + const char *current = *aff; + unsigned int number;
With the check left in: Reviewed-by: Ján Tomko <jtomko@xxxxxxxxxx> Jano
Attachment:
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list