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

Reply via email to