From: Michael Ellerman <mich...@ellerman.id.au> If qemu is run like:
qemu-system-ppc64 -nodefaults -device spapr-vty We end up in spapr_vty_init() with dev->chardev == NULL. Currently that leads to a segfault because we unconditionally call qemu_chr_add_handlers(). Although we could make that call conditional, I think a spapr-vty without a chardev is basically useless so fail the init. This is similar to what the serial code does for example. Signed-off-by: Michael Ellerman <mich...@ellerman.id.au> Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> --- hw/spapr_vty.c | 5 +++++ 1 files changed, 5 insertions(+), 0 deletions(-) diff --git a/hw/spapr_vty.c b/hw/spapr_vty.c index a9d4b03..f4f3ee3 100644 --- a/hw/spapr_vty.c +++ b/hw/spapr_vty.c @@ -58,6 +58,11 @@ static int spapr_vty_init(VIOsPAPRDevice *sdev) { VIOsPAPRVTYDevice *dev = (VIOsPAPRVTYDevice *)sdev; + if (!dev->chardev) { + fprintf(stderr, "spapr-vty: Can't create vty without a chardev!\n"); + exit(1); + } + qemu_chr_add_handlers(dev->chardev, vty_can_receive, vty_receive, NULL, dev); -- 1.7.7.1