[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [PATCH v5] vl: exit if maxcpus is negative
From: |
Thomas Huth |
Subject: |
Re: [Qemu-ppc] [PATCH v5] vl: exit if maxcpus is negative |
Date: |
Mon, 25 Sep 2017 10:51:42 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
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 <address@hidden>
>>> Signed-off-by: Seeteena Thoufeek <address@hidden>
>>
>> Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
>>
>>> ---
>>> 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);
>>> }
>>>
>>
>
>