qemu/stubs
Kevin Wolf 8e9119a807 hmp: Fail gracefully if chardev is already in use
Trying to attach a HMP monitor to a chardev that is already in use
results in a crash because monitor_init_hmp() passes &error_abort to
qemu_chr_fe_init():

$ ./x86_64-softmmu/qemu-system-x86_64 --chardev stdio,id=foo --mon foo --mon foo
QEMU 4.2.50 monitor - type 'help' for more information
(qemu) Unexpected error in qemu_chr_fe_init() at chardev/char-fe.c:220:
qemu-system-x86_64: --mon foo: Device 'foo' is in use
Abgebrochen (Speicherabzug geschrieben)

Fix this by allowing monitor_init_hmp() to return an error and passing
any error in qemu_chr_fe_init() to its caller instead of aborting.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20200224143008.13362-19-kwolf@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2020-03-06 17:21:28 +01:00
..
arch_type.c stubs: Add arch_type 2020-03-06 17:15:38 +01:00
bdrv-next-monitor-owned.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
blk-commit-all.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
blockdev-close-all-bdrv-states.c all: Clean up includes 2016-02-16 14:29:28 +00:00
change-state-handler.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
clock-warp.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
cpu-get-clock.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
cpu-get-icount.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
dump.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
error-printf.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
fd-register.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
fdset.c monitor: Fix return type of monitor_fdset_dup_fd_find 2019-06-17 20:36:56 +02:00
fw_cfg.c hw/nvram/fw_cfg: Add fw_cfg_arch_key_name() 2019-05-23 14:10:31 +02:00
gdbstub.c Clean up includes some more 2016-03-22 22:20:16 +01:00
get-vm-name.c stubs: Clean up includes 2016-02-04 17:01:04 +00:00
io_uring.c stubs: add stubs for io_uring interface 2020-01-30 20:59:41 +00:00
iothread-lock.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
iothread.c aio: introduce qemu_get_current_aio_context 2016-10-28 21:50:18 +08:00
is-daemonized.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
linux-aio.c linux-aio: properly bubble up errors from initialization 2018-06-27 13:06:34 +01:00
machine-init-done.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
Makefile.objs stubs: Update monitor stubs for qemu-storage-daemon 2020-03-06 17:21:28 +01:00
migr-blocker.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
monitor-core.c qmp: Fail gracefully if chardev is already in use 2020-03-06 17:21:28 +01:00
monitor.c hmp: Fail gracefully if chardev is already in use 2020-03-06 17:21:28 +01:00
notify-event.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
pci-host-piix.c hw/pci-host/piix: Move i440FX declarations to hw/pci-host/i440fx.h 2019-11-05 23:33:12 +01:00
qmp_memory_device.c pc-dimm: factor out MemoryDevice interface 2018-05-07 10:00:02 -03:00
qtest.c stubs: Clean up includes 2016-02-04 17:01:04 +00:00
ram-block.c exec: Change RAMBlockIterFunc definition 2019-03-06 10:49:17 +00:00
ramfb.c hw/display/ramfb: initialize fw-config space with xres/ yres 2019-05-24 09:10:29 +02:00
replay-user.c replay: add BH oneshot event for block layer 2019-10-14 17:12:48 +02:00
replay.c replay: record and replay random number sources 2020-01-07 12:08:39 +01:00
runstate-check.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
semihost.c semihosting: add qemu_semihosting_console_inc for SYS_READC 2020-01-09 11:41:29 +00:00
set-fd-handler.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
sysbus.c stubs: Clean up includes 2016-02-04 17:01:04 +00:00
target-get-monitor-def.c Clean up includes some more 2016-03-22 22:20:16 +01:00
target-monitor-defs.c Clean up includes some more 2016-03-22 22:20:16 +01:00
tpm.c acpi: build TPM Physical Presence interface 2019-01-17 21:10:57 -05:00
trace-control.c trace: remove global 'uint16 dstate[]' array 2016-10-12 09:35:54 +02:00
uuid.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
vm-stop.c sysemu: Split sysemu/runstate.h off sysemu/sysemu.h 2019-08-16 13:37:36 +02:00
vmgenid.c qapi: Empty out qapi-schema.json 2018-03-02 13:45:50 -06:00
vmstate.c migration: Change SaveStateEntry.instance_id into uint32_t 2020-01-20 09:10:23 +01:00
xen-common.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
xen-hvm.c Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00