Message ID | 20110310082349.GD17376@amit-x200.redhat.com |
---|---|
State | New |
Headers | show |
Amit Shah <amit.shah@redhat.com> wrote: > On (Thu) 10 Mar 2011 [11:39:16], Amit Shah wrote: >> Port 0 is reserved for virtconsole devices for backward compatibility >> with the old -virtioconsole (from qemu 0.12) device type. >> >> libvirt prior to commit 8e28c5d40200b4c5d483bd585d237b9d870372e5 used >> port 0 for generic ports. libvirt will no longer do that, but disallow >> instantiating generic ports at id 0 from qemu as well. >> >> Signed-off-by: Amit Shah <amit.shah@redhat.com> > > Updated patch below, fixes a build break after rebase. The git tree > in the pull request has been updated with this fix. Reviewed-by: Juan Quintela <quintela@redhat.com>
diff --git a/hw/virtio-console.c b/hw/virtio-console.c index c235b27..4440784 100644 --- a/hw/virtio-console.c +++ b/hw/virtio-console.c @@ -11,6 +11,7 @@ */ #include "qemu-char.h" +#include "qemu-error.h" #include "virtio-serial.h" typedef struct VirtConsole { @@ -113,6 +114,14 @@ static int virtserialport_initfn(VirtIOSerialPort *port) { VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port); + if (port->id == 0) { + /* + * Disallow a generic port at id 0, that's reserved for + * console ports. + */ + error_report("Port number 0 on virtio-serial devices reserved for virtconsole devices for backward compatibility."); + return -1; + } return generic_port_init(vcon, port); }