S390: fix kernel_commandline handling
The current handling of kernel parameters is broken. The pointer
is always valid, even if no -kernel or -append is specified.
We must check if the kernel rom address is valid instead,
otherwise qemu might segfault.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c
index 1ebe70d..c79784c 100644
--- a/hw/s390-virtio.c
+++ b/hw/s390-virtio.c
@@ -274,7 +274,7 @@
memcpy(rom_ptr(INITRD_PARM_SIZE), &initrd_size, 8);
}
- if (kernel_cmdline) {
+ if (rom_ptr(KERN_PARM_AREA)) {
/* we have to overwrite values in the kernel image, which are "rom" */
memcpy(rom_ptr(KERN_PARM_AREA), kernel_cmdline,
strlen(kernel_cmdline) + 1);