Red Hat Bugzilla – Bug 1101059
virsh vcpupin need accurate error message when --vcpu argument is negative
Last modified: 2015-03-05 02:36:18 EST
Description of problem: virsh vcpupin treats all --vcpu argument as signed, and it only check if vcpu value is bigger than max vcpu. But virDomainPinVcpu only accepts unsigned vcpu from argument. So vcpupin to a negative value will get an inaccurate error "numerical overflow". Version-Release number of selected component (if applicable): libvirt-1.1.1-29.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1. set an negative value to --vcpu # virsh vcpupin r7 -1 0 error: numerical overflow: input too large: 4294967295 There is no reason to tell the user that he just inputed a large number '4294967295'. Expect result: # virsh vcpupin r7 -1 0 error: vcpupin: Invalid vCPU number.
Fixed upstream: commit e43041048073d5ee95c22b9a313f52a18ecec0d8 Author: Jincheng Miao <jmiao@redhat.com> Date: Thu May 29 11:34:40 2014 +0800 virsh: forbid negative vcpu argument to vcpupin The vcpupin command allowed specifying a negative number for the --vcpu argument. This would the overflow when the underlying virDomainPinVcpu API was called. $ virsh vcpupin r7 -1 0 error: numerical overflow: input too large: 4294967295 Switch the vCPU variable to a unsigned int and parse it using the corresponding function. Also improve the vcpupin test to cover all the defects. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1101059 Signed-off-by: Jincheng Miao <jmiao@redhat.com> Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Verify it as follows. The result is expected. Move its status to VERIFIED. # rpm -q libvirt libvirt-1.2.8-8.el7.x86_64 # virsh vcpupin r7 -1 0 error: vcpupin: Invalid vCPU number.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHSA-2015-0323.html