On 11.12.2012, at 12:15, Christian Borntraeger wrote: > On 11/12/12 11:34, Alexander Graf wrote: >> >> On 07.12.2012, at 14:55, Jens Freimann wrote: >> >>> From: Christian Borntraeger <borntrae...@de.ibm.com> >>> >>> Since commit 967c0da73a7b0da186baba6632301d83644a570c >>> vl.c: Avoid segfault when started with no arguments >>> >>> the user can specify a kernel without a command line. Lets not >>> overwrite the default command line with \0 in that case. >>> >>> Signed-off-by: Christian Borntraeger <borntrae...@de.ibm.com> >>> Signed-off-by: Jens Freimann <jf...@linux.vnet.ibm.com> >>> --- >>> hw/s390-virtio.c | 2 +- >>> 1 files changed, 1 insertions(+), 1 deletions(-) >>> >>> diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c >>> index ca1bb09..d77871a 100644 >>> --- a/hw/s390-virtio.c >>> +++ b/hw/s390-virtio.c >>> @@ -290,7 +290,7 @@ static void s390_init(QEMUMachineInitArgs *args) >>> stq_p(rom_ptr(INITRD_PARM_SIZE), initrd_size); >>> } >>> >>> - if (rom_ptr(KERN_PARM_AREA)) { >>> + if (rom_ptr(KERN_PARM_AREA) && strlen(kernel_cmdline)) { >> >> why strlen()? If no -append option was passed, kernel_cmdline should be >> NULL. If -append "" was passed, the user wants to command line to be >> overwritten with "\0". > > Nope. kernel_cmdline is always a valid pointer. > > vl.c: > > [..] > if (!kernel_cmdline) { > kernel_cmdline = ""; > }
Then that's on purpose. Either we change the default for everyone or not at all. But checking for "" only in the s390 machine sounds off. Alex