Skip to content
Snippets Groups Projects
  • Kevin Wolf's avatar
    8e9119a8
    hmp: Fail gracefully if chardev is already in use · 8e9119a8
    Kevin Wolf authored
    
    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: default avatarKevin Wolf <kwolf@redhat.com>
    Message-Id: <20200224143008.13362-19-kwolf@redhat.com>
    Acked-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    8e9119a8
    History
    hmp: Fail gracefully if chardev is already in use
    Kevin Wolf authored
    
    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: default avatarKevin Wolf <kwolf@redhat.com>
    Message-Id: <20200224143008.13362-19-kwolf@redhat.com>
    Acked-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>