On 09/22/15 22:16, Eduardo Habkost wrote: > Guest visible data shouldn't change with a simple QEMU upgrade, so use > qemu_hw_version() to ensure it won't change (as long as the machine > class being used has hw_version set). > > Cc: Hannes Reinecke <h...@suse.de> > Cc: Paolo Bonzini <pbonz...@redhat.com> > Cc: qemu-bl...@nongnu.org > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> > --- > hw/scsi/megasas.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/scsi/megasas.c b/hw/scsi/megasas.c > index a04369c..e0529b1 100644 > --- a/hw/scsi/megasas.c > +++ b/hw/scsi/megasas.c > @@ -757,7 +757,7 @@ static int megasas_ctrl_get_info(MegasasState *s, > MegasasCmd *cmd) > > memcpy(info.product_name, base_class->product_name, 24); > snprintf(info.serial_number, 32, "%s", s->hba_serial); > - snprintf(info.package_version, 0x60, "%s-QEMU", QEMU_VERSION); > + snprintf(info.package_version, 0x60, "%s-QEMU", qemu_hw_version()); > memcpy(info.image_component[0].name, "APP", 3); > snprintf(info.image_component[0].version, 10, "%s-QEMU", > base_class->product_version); >
I assume you audited all uses of QEMU_VERSION, and this was the only one exposed to the guest directly. However, in "hw/usb/redirect.c", QEMU_VERSION is embedded in VERSION, and the latter is then passed to usbredirparser_init() in usbredir_create_parser(). I tried to look up the documentation for usbredirparser_init() in "/usr/include/usbredirparser.h", but I still have no clue what that "version" parameter controls. Hm... from the source code of usbredir, and <http://www.spice-space.org/page/UsbRedir> stating "usbredir is the name of a network protocol for sending usb device traffic over a network connection", it looks like the version number is embedded in the hello message of that network protocol; so it shouldn't be exposed to the guest indeed. Acked-by: Laszlo Ersek <ler...@redhat.com> Thanks Laszlo