[prev in list] [next in list] [prev in thread] [next in thread] 

List:       qemu-ppc
Subject:    Re: [Qemu-ppc] [PATCH v5] vl: exit if maxcpus is negative
From:       seeteena <s1seetee () linux ! vnet ! ibm ! com>
Date:       2017-09-28 13:20:55
Message-ID: 1cc1c650-9b82-0332-6d63-fce3334745da () linux ! vnet ! ibm ! com
[Download RAW message or body]


Thanks Thomas. Since you already put them on cc. I will wait for the 
response.


On 09/25/2017 02:21 PM, Thomas Huth wrote:
> On 25.09.2017 10:43, seeteena wrote:
>> Hi Philippe,
>>
>> I have not seen patch went upstream..
> You need to get the attention of a maintainer who could pick up the
> patch, e.g. by putting them on CC:. See the MAINTAINERS file for who is
> responsible for the various parts of QEMU. I've put Eduardo (Numa) and
> Paolo (vl.c) on CC: now, I hope one of them can pick up the patch.
>
>   Thomas
>
>
>> On 09/04/2017 09:12 PM, Philippe Mathieu-Daudé wrote:
>>> On 09/04/2017 04:43 AM, Seeteena Thoufeek wrote:
>>>> ---Steps to Reproduce---
>>>>
>>>> When passed a negative number to 'maxcpus' parameter, Qemu aborts
>>>> with a core dump.
>>>>
>>>> Run the following command with maxcpus argument as negative number
>>>>
>>>> ppc64-softmmu/qemu-system-ppc64 --nographic -vga none -machine
>>>> pseries,accel=kvm,kvm-type=HV -m size=200g -device virtio-blk-pci,
>>>> drive=rootdisk -drive file=/home/images/pegas-1.0-ppc64le.qcow2,
>>>> if=none,cache=none,id=rootdisk,format=qcow2 -monitor telnet
>>>> :127.0.0.1:1234,server,nowait -net nic,model=virtio -net
>>>> user -redir tcp:2000::22 -device nec-usb-xhci -smp 8,cores=1,
>>>> threads=1,maxcpus=-12
>>>>
>>>> (process:12149): GLib-ERROR **: gmem.c:130: failed to allocate
>>>>     18446744073709550568 bytes
>>>>
>>>> Trace/breakpoint trap
>>>>
>>>> Reported-by: R.Nageswara Sastry <rnsastry@linux.vnet.ibm.com>
>>>> Signed-off-by: Seeteena Thoufeek <s1seetee@linux.vnet.ibm.com>
>>> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>>>
>>>> ---
>>>> v1 -> v2:
>>>>       - Fix the error check in vl.c to make it generic.
>>>> v2 -> v3:
>>>>       - Fix coding style pointed out by patchew.
>>>>       - Fix check for "<= 0" instead of just "< 0".
>>>> v3 -> v4:
>>>>       - Fix subject line.
>>>>       - Removed space before ":" from vl.c:1248
>>>>       - Removed Reviewed-by: flag
>>>> v4-> v5:
>>>>       - Code rework to declare max_cpus as unsigned int in sysemu.h
>>>>       - Remove the error check in vl.c referred in v2.
>>>>       - declare max_cpus as unsigned int in vl.c
>>>> ---
>>>>     include/sysemu/sysemu.h | 2 +-
>>>>     vl.c                                       | 6 +++---
>>>>     2 files changed, 4 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/include/sysemu/sysemu.h b/include/sysemu/sysemu.h
>>>> index b213696..c083869 100644
>>>> --- a/include/sysemu/sysemu.h
>>>> +++ b/include/sysemu/sysemu.h
>>>> @@ -113,7 +113,7 @@ extern int win2k_install_hack;
>>>>     extern int alt_grab;
>>>>     extern int ctrl_grab;
>>>>     extern int smp_cpus;
>>>> -extern int max_cpus;
>>>> +extern unsigned int max_cpus;
>>>>     extern int cursor_hide;
>>>>     extern int graphic_rotate;
>>>>     extern int no_quit;
>>>> diff --git a/vl.c b/vl.c
>>>> index 8e247cc..1470c21 100644
>>>> --- a/vl.c
>>>> +++ b/vl.c
>>>> @@ -164,7 +164,7 @@ Chardev *sclp_hds[MAX_SCLP_CONSOLES];
>>>>     int win2k_install_hack = 0;
>>>>     int singlestep = 0;
>>>>     int smp_cpus = 1;
>>>> -int max_cpus = 1;
>>>> +unsigned int max_cpus = 1;
>>>>     int smp_cores = 1;
>>>>     int smp_threads = 1;
>>>>     int acpi_enabled = 1;
>>>> @@ -4233,8 +4233,8 @@ int main(int argc, char **argv, char **envp)
>>>>                machine_class->max_cpus = machine_class->max_cpus ?: 1; /*
>>>> Default to UP */
>>>>             if (max_cpus > machine_class->max_cpus) {
>>>> -               error_report("Number of SMP CPUs requested (%d) exceeds max
>>>> CPUs "
>>>> -                                         "supported by machine '%s' (%d)", max_cpus,
>>>> +               error_report("Invalid SMP CPUs %d. The max CPUs "
>>>> +                                         "supported by machine '%s' is %d", max_cpus,
>>>>                                               machine_class->name, machine_class->max_cpus);
>>>>                     exit(1);
>>>>             }
>>>>
>>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic