Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1101059 - virsh vcpupin need accurate error message when --vcpu argument is negative
virsh vcpupin need accurate error message when --vcpu argument is negative
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt (Show other bugs)
7.0
x86_64 Linux
unspecified Severity low
: rc
: ---
Assigned To: Peter Krempa
Virtualization Bugs
:
Depends On:
Blocks: 1101060
  Show dependency treegraph
 
Reported: 2014-05-25 23:29 EDT by Jincheng Miao
Modified: 2015-03-05 02:36 EST (History)
6 users (show)

See Also:
Fixed In Version: libvirt-1.2.7-1.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1101060 (view as bug list)
Environment:
Last Closed: 2015-03-05 02:36:18 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:0323 normal SHIPPED_LIVE Low: libvirt security, bug fix, and enhancement update 2015-03-05 07:10:54 EST

  None (edit)
Description Jincheng Miao 2014-05-25 23:29:12 EDT
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.
Comment 2 Peter Krempa 2014-06-12 08:16:03 EDT
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>
Comment 4 hongming 2014-11-28 01:54:15 EST
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.
Comment 6 errata-xmlrpc 2015-03-05 02:36:18 EST
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

Note You need to log in before you can comment on or make changes to this bug.