[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-ppc] [PATCH v4] vl: exit if maxcpus is negative
From: |
Seeteena Thoufeek |
Subject: |
[Qemu-ppc] [PATCH v4] vl: exit if maxcpus is negative |
Date: |
Tue, 29 Aug 2017 11:15:39 +0530 |
---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>
---
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.
---
vl.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/vl.c b/vl.c
index 8e247cc..2d9e73d 100644
--- a/vl.c
+++ b/vl.c
@@ -1244,7 +1244,10 @@ static void smp_parse(QemuOpts *opts)
}
max_cpus = qemu_opt_get_number(opts, "maxcpus", cpus);
-
+ if (max_cpus <= 0) {
+ error_report("Invalid max_cpus: %d", max_cpus);
+ exit(1);
+ }
if (max_cpus < cpus) {
error_report("maxcpus must be equal to or greater than smp");
exit(1);
--
1.8.3.1
- [Qemu-ppc] [PATCH v4] vl: exit if maxcpus is negative,
Seeteena Thoufeek <=