* [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes @ 2016-12-01 3:58 Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 1/5] spec/vhost-user: fix the VHOST_USER prefix Michael S. Tsirkin ` (5 more replies) 0 siblings, 6 replies; 7+ messages in thread From: Michael S. Tsirkin @ 2016-12-01 3:58 UTC (permalink / raw) To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi Comments on patches included: - a spec update seems important for 2.8 as incorrect spec makes people implement backends incorrectly. - undefined behaviour fix seems important too - who knows what would compiler optimizers come up with Others are imho clearly uncontroversial. The following changes since commit 1cd56fd2e14f67ead2f0458b4ae052f19865c41c: Update version for v2.8.0-rc2 release (2016-11-29 22:26:25 +0000) are available in the git repository at: git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream for you to fetch changes up to 9730280d54634caa5d63f0d8fcd85da8311d2ebf: virtio-crypto: fix uninitialized variables (2016-11-30 04:22:18 +0200) ---------------------------------------------------------------- virtio, vhost, pc: fixes Minor fixes since 2.8.0-rc2. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> ---------------------------------------------------------------- Gonglei (1): virtio-crypto: fix uninitialized variables Laszlo Ersek (2): loader: fix handling of custom address spaces when adding ROM blobs loader: fix undefined behavior in rom_order_compare() Peter Xu (1): intel_iommu: fix incorrect device invalidate Wei Wang (1): spec/vhost-user: fix the VHOST_USER prefix docs/specs/vhost-user.txt | 20 ++++++++++---------- hw/lm32/lm32_hwsetup.h | 2 +- include/hw/loader.h | 6 +++--- hw/arm/virt-acpi-build.c | 2 +- hw/core/loader.c | 6 ++++-- hw/i386/acpi-build.c | 2 +- hw/i386/intel_iommu.c | 1 + hw/virtio/virtio-crypto.c | 2 +- 8 files changed, 22 insertions(+), 19 deletions(-) ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PULL 1/5] spec/vhost-user: fix the VHOST_USER prefix 2016-12-01 3:58 [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes Michael S. Tsirkin @ 2016-12-01 3:58 ` Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 2/5] intel_iommu: fix incorrect device invalidate Michael S. Tsirkin ` (4 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: Michael S. Tsirkin @ 2016-12-01 3:58 UTC (permalink / raw) To: qemu-devel Cc: Peter Maydell, Stefan Hajnoczi, Wei Wang, Marc-André Lureau, Prerna Saxena From: Wei Wang <wei.w.wang@intel.com> Signed-off-by: Wei Wang <wei.w.wang@intel.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- docs/specs/vhost-user.txt | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/specs/vhost-user.txt b/docs/specs/vhost-user.txt index 7890d71..d70bd83 100644 --- a/docs/specs/vhost-user.txt +++ b/docs/specs/vhost-user.txt @@ -123,22 +123,22 @@ The communication consists of master sending message requests and slave sending message replies. Most of the requests don't require replies. Here is a list of the ones that do: - * VHOST_GET_FEATURES - * VHOST_GET_PROTOCOL_FEATURES - * VHOST_GET_VRING_BASE - * VHOST_SET_LOG_BASE (if VHOST_USER_PROTOCOL_F_LOG_SHMFD) + * VHOST_USER_GET_FEATURES + * VHOST_USER_GET_PROTOCOL_FEATURES + * VHOST_USER_GET_VRING_BASE + * VHOST_USER_SET_LOG_BASE (if VHOST_USER_PROTOCOL_F_LOG_SHMFD) [ Also see the section on REPLY_ACK protocol extension. ] There are several messages that the master sends with file descriptors passed in the ancillary data: - * VHOST_SET_MEM_TABLE - * VHOST_SET_LOG_BASE (if VHOST_USER_PROTOCOL_F_LOG_SHMFD) - * VHOST_SET_LOG_FD - * VHOST_SET_VRING_KICK - * VHOST_SET_VRING_CALL - * VHOST_SET_VRING_ERR + * VHOST_USER_SET_MEM_TABLE + * VHOST_USER_SET_LOG_BASE (if VHOST_USER_PROTOCOL_F_LOG_SHMFD) + * VHOST_USER_SET_LOG_FD + * VHOST_USER_SET_VRING_KICK + * VHOST_USER_SET_VRING_CALL + * VHOST_USER_SET_VRING_ERR If Master is unable to send the full message or receives a wrong reply it will close the connection. An optional reconnection mechanism can be implemented. -- MST ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PULL 2/5] intel_iommu: fix incorrect device invalidate 2016-12-01 3:58 [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 1/5] spec/vhost-user: fix the VHOST_USER prefix Michael S. Tsirkin @ 2016-12-01 3:58 ` Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 3/5] loader: fix handling of custom address spaces when adding ROM blobs Michael S. Tsirkin ` (3 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: Michael S. Tsirkin @ 2016-12-01 3:58 UTC (permalink / raw) To: qemu-devel Cc: Peter Maydell, Stefan Hajnoczi, Peter Xu, Paolo Bonzini, Richard Henderson, Eduardo Habkost From: Peter Xu <peterx@redhat.com> "mask" needs to be inverted before use. Signed-off-by: Peter Xu <peterx@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- hw/i386/intel_iommu.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 1b706ad..5f3e351 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -988,6 +988,7 @@ static void vtd_context_device_invalidate(IntelIOMMUState *s, mask = 7; /* Mask bit 2:0 in the SID field */ break; } + mask = ~mask; VTD_DPRINTF(INV, "device-selective invalidation source 0x%"PRIx16 " mask %"PRIu16, source_id, mask); vtd_bus = vtd_find_as_from_bus_num(s, VTD_SID_TO_BUS(source_id)); -- MST ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PULL 3/5] loader: fix handling of custom address spaces when adding ROM blobs 2016-12-01 3:58 [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 1/5] spec/vhost-user: fix the VHOST_USER prefix Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 2/5] intel_iommu: fix incorrect device invalidate Michael S. Tsirkin @ 2016-12-01 3:58 ` Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 4/5] loader: fix undefined behavior in rom_order_compare() Michael S. Tsirkin ` (2 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: Michael S. Tsirkin @ 2016-12-01 3:58 UTC (permalink / raw) To: qemu-devel Cc: Peter Maydell, Stefan Hajnoczi, Laszlo Ersek, Alistair Francis, Igor Mammedov, Michael Walle, Paolo Bonzini, Shannon Zhao, qemu-arm, Richard Henderson, Eduardo Habkost From: Laszlo Ersek <lersek@redhat.com> * Commit 3e76099aacb4 ("loader: Allow a custom AddressSpace when loading ROMs") introduced the "Rom.as" field: (1) It modified the utility callers of rom_insert() to take "as" as a new parameter from *their* callers, and set "rom->as" from that parameter. The functions covered were rom_add_file() and rom_add_elf_program(). (2) It also modified rom_insert() itself, to auto-assign "&address_space_memory", in case the external caller passed -- and the utility caller forwarded -- as=NULL. Except, commit 3e76099aacb4 forgot to update the third utility caller of rom_insert(), under point (1), namely rom_add_blob(). * Later, commit 5e774eb3bd264 ("loader: Add AddressSpace loading support to uImages") added the load_uimage_as() function, and the rom_add_blob_fixed_as() function-like macro, with the necessary changes elsewhere to propagate the new "as" parameter to rom_add_blob(): load_uimage_as() load_uboot_image() rom_add_blob_fixed_as() rom_add_blob() At this point, the signature (and workings) of rom_add_blob() had been broken already, and the rom_add_blob_fixed_as() macro passed its "_as" parameter to rom_add_blob() as "callback_opaque". Given that the "fw_callback" parameter itself was set to NULL (correctly), this did no additional damage (the opaque arg would never be used), but ultimately it broke the new functionality of load_uimage_as(). * The load_uimage_as() function would be put to use in one of the later patches, commit e481a1f63c93 ("generic-loader: Add a generic loader"). * We can fix this only in a unified patch now. Append "AddressSpace *as" to the signature of rom_add_blob(), and handle the new parameter. Pass NULL from all current callers, except from rom_add_blob_fixed_as(), where "_as" has to be bumped to the proper position. * Note that rom_add_file() rejects the case when both "mr" and "as" are passed in as non-NULL. The action that this is apparently supposed to prevent is the rom->mr = mr; assignment (that's the only place where the "mr" parameter is used in rom_add_file()). In rom_add_blob() though, we have no "mr" parameter, and the actions done on the fw_cfg branch: if (fw_file_name && fw_cfg) { if (mc->rom_file_has_mr) { data = rom_set_mr(rom, OBJECT(fw_cfg), devpath); mr = rom->mr; } else { data = rom->data; } reflect those that are performed by rom_add_file() too (with mr==NULL): if (rom->fw_file && fw_cfg) { if ((!option_rom || mc->option_rom_has_mr) && mc->rom_file_has_mr) { data = rom_set_mr(rom, OBJECT(fw_cfg), devpath); } else { data = rom->data; } Hence we need no additional restrictions in rom_add_blob(). * Stable is not affected as both problematic commits appeared first in v2.8.0-rc0. Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: Alistair Francis <alistair.francis@xilinx.com> Cc: Igor Mammedov <imammedo@redhat.com> Cc: Michael Walle <michael@walle.cc> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Peter Maydell <peter.maydell@linaro.org> Cc: Shannon Zhao <zhaoshenglong@huawei.com> Cc: qemu-arm@nongnu.org Cc: qemu-devel@nongnu.org Fixes: 3e76099aacb4dae0d37ebf95305369e03d1491e6 Fixes: 5e774eb3bd264c76484906f4bd0fb38e00b8090e Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Alistair Francis <alistair.francis@xilinx.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- hw/lm32/lm32_hwsetup.h | 2 +- include/hw/loader.h | 6 +++--- hw/arm/virt-acpi-build.c | 2 +- hw/core/loader.c | 4 +++- hw/i386/acpi-build.c | 2 +- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/hw/lm32/lm32_hwsetup.h b/hw/lm32/lm32_hwsetup.h index b71e6ea..23e1878 100644 --- a/hw/lm32/lm32_hwsetup.h +++ b/hw/lm32/lm32_hwsetup.h @@ -75,7 +75,7 @@ static inline void hwsetup_create_rom(HWSetup *hw, hwaddr base) { rom_add_blob("hwsetup", hw->data, TARGET_PAGE_SIZE, - TARGET_PAGE_SIZE, base, NULL, NULL, NULL); + TARGET_PAGE_SIZE, base, NULL, NULL, NULL, NULL); } static inline void hwsetup_add_u8(HWSetup *hw, uint8_t u) diff --git a/include/hw/loader.h b/include/hw/loader.h index 0381706..0c864cf 100644 --- a/include/hw/loader.h +++ b/include/hw/loader.h @@ -180,7 +180,7 @@ MemoryRegion *rom_add_blob(const char *name, const void *blob, size_t len, size_t max_len, hwaddr addr, const char *fw_file_name, FWCfgReadCallback fw_callback, - void *callback_opaque); + void *callback_opaque, AddressSpace *as); int rom_add_elf_program(const char *name, void *data, size_t datasize, size_t romsize, hwaddr addr, AddressSpace *as); int rom_check_and_register_reset(void); @@ -194,7 +194,7 @@ void hmp_info_roms(Monitor *mon, const QDict *qdict); #define rom_add_file_fixed(_f, _a, _i) \ rom_add_file(_f, NULL, _a, _i, false, NULL, NULL) #define rom_add_blob_fixed(_f, _b, _l, _a) \ - rom_add_blob(_f, _b, _l, _l, _a, NULL, NULL, NULL) + rom_add_blob(_f, _b, _l, _l, _a, NULL, NULL, NULL, NULL) #define rom_add_file_mr(_f, _mr, _i) \ rom_add_file(_f, NULL, 0, _i, false, _mr, NULL) #define rom_add_file_as(_f, _as, _i) \ @@ -202,7 +202,7 @@ void hmp_info_roms(Monitor *mon, const QDict *qdict); #define rom_add_file_fixed_as(_f, _a, _i, _as) \ rom_add_file(_f, NULL, _a, _i, false, NULL, _as) #define rom_add_blob_fixed_as(_f, _b, _l, _a, _as) \ - rom_add_blob(_f, _b, _l, _l, _a, NULL, NULL, _as) + rom_add_blob(_f, _b, _l, _l, _a, NULL, NULL, NULL, _as) #define PC_ROM_MIN_VGA 0xc0000 #define PC_ROM_MIN_OPTION 0xc8000 diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index f953610..d4160df 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -809,7 +809,7 @@ static MemoryRegion *acpi_add_rom_blob(AcpiBuildState *build_state, uint64_t max_size) { return rom_add_blob(name, blob->data, acpi_data_len(blob), max_size, -1, - name, virt_acpi_build_update, build_state); + name, virt_acpi_build_update, build_state, NULL); } static const VMStateDescription vmstate_virt_acpi_build = { diff --git a/hw/core/loader.c b/hw/core/loader.c index 6e022b5..c0d645a 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -978,7 +978,8 @@ err: MemoryRegion *rom_add_blob(const char *name, const void *blob, size_t len, size_t max_len, hwaddr addr, const char *fw_file_name, - FWCfgReadCallback fw_callback, void *callback_opaque) + FWCfgReadCallback fw_callback, void *callback_opaque, + AddressSpace *as) { MachineClass *mc = MACHINE_GET_CLASS(qdev_get_machine()); Rom *rom; @@ -986,6 +987,7 @@ MemoryRegion *rom_add_blob(const char *name, const void *blob, size_t len, rom = g_malloc0(sizeof(*rom)); rom->name = g_strdup(name); + rom->as = as; rom->addr = addr; rom->romsize = max_len ? max_len : len; rom->datasize = len; diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 45a2ccf..9708cdc 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -2936,7 +2936,7 @@ static MemoryRegion *acpi_add_rom_blob(AcpiBuildState *build_state, uint64_t max_size) { return rom_add_blob(name, blob->data, acpi_data_len(blob), max_size, -1, - name, acpi_build_update, build_state); + name, acpi_build_update, build_state, NULL); } static const VMStateDescription vmstate_acpi_build = { -- MST ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PULL 4/5] loader: fix undefined behavior in rom_order_compare() 2016-12-01 3:58 [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes Michael S. Tsirkin ` (2 preceding siblings ...) 2016-12-01 3:58 ` [Qemu-devel] [PULL 3/5] loader: fix handling of custom address spaces when adding ROM blobs Michael S. Tsirkin @ 2016-12-01 3:58 ` Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 5/5] virtio-crypto: fix uninitialized variables Michael S. Tsirkin 2016-12-01 13:39 ` [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes Stefan Hajnoczi 5 siblings, 0 replies; 7+ messages in thread From: Michael S. Tsirkin @ 2016-12-01 3:58 UTC (permalink / raw) To: qemu-devel Cc: Peter Maydell, Stefan Hajnoczi, Laszlo Ersek, Alistair Francis, Paolo Bonzini, Peter Crosthwaite From: Laszlo Ersek <lersek@redhat.com> According to ISO C99 / N1256 (referenced in HACKING): > 6.5.8 Relational operators > > 4 For the purposes of these operators, a pointer to an object that is > not an element of an array behaves the same as a pointer to the first > element of an array of length one with the type of the object as its > element type. > > 5 When two pointers are compared, the result depends on the relative > locations in the address space of the objects pointed to. If two > pointers to object or incomplete types both point to the same object, > or both point one past the last element of the same array object, they > compare equal. If the objects pointed to are members of the same > aggregate object, pointers to structure members declared later compare > greater than pointers to members declared earlier in the structure, > and pointers to array elements with larger subscript values compare > greater than pointers to elements of the same array with lower > subscript values. All pointers to members of the same union object > compare equal. If the expression /P/ points to an element of an array > object and the expression /Q/ points to the last element of the same > array object, the pointer expression /Q+1/ compares greater than /P/. > In all other cases, the behavior is undefined. Our AddressSpace objects are allocated generally individually, and kept in the "address_spaces" linked list, so we mustn't compare their addresses with relops. Convert the pointers subjected to the relop in rom_order_compare() to "uintptr_t": > 7.18.1.4 Integer types capable of holding object pointers > > 1 [...] > > The following type designates an unsigned integer type with the > property that any valid pointer to void can be converted to this type, > then converted back to pointer to void, and the result will compare > equal to the original pointer: > > /uintptr_t/ > > These types are optional. Cc: "Michael S. Tsirkin" <mst@redhat.com> Cc: Alistair Francis <alistair.francis@xilinx.com> Cc: Paolo Bonzini <pbonzini@redhat.com> Cc: Peter Maydell <peter.maydell@linaro.org> Cc: qemu-devel@nongnu.org Fixes: 3e76099aacb4dae0d37ebf95305369e03d1491e6 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Alistair Francis <alistair.francis@xilinx.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- hw/core/loader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/core/loader.c b/hw/core/loader.c index c0d645a..4574249 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -818,7 +818,7 @@ static QTAILQ_HEAD(, Rom) roms = QTAILQ_HEAD_INITIALIZER(roms); static inline bool rom_order_compare(Rom *rom, Rom *item) { - return (rom->as > item->as) || + return ((uintptr_t)(void *)rom->as > (uintptr_t)(void *)item->as) || (rom->as == item->as && rom->addr >= item->addr); } -- MST ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PULL 5/5] virtio-crypto: fix uninitialized variables 2016-12-01 3:58 [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes Michael S. Tsirkin ` (3 preceding siblings ...) 2016-12-01 3:58 ` [Qemu-devel] [PULL 4/5] loader: fix undefined behavior in rom_order_compare() Michael S. Tsirkin @ 2016-12-01 3:58 ` Michael S. Tsirkin 2016-12-01 13:39 ` [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes Stefan Hajnoczi 5 siblings, 0 replies; 7+ messages in thread From: Michael S. Tsirkin @ 2016-12-01 3:58 UTC (permalink / raw) To: qemu-devel; +Cc: Peter Maydell, Stefan Hajnoczi, Gonglei, Markus Armbruster From: Gonglei <arei.gonglei@huawei.com> Though crypto_cfg.reserve is an unused field, let me initialize the structure in order to make coverity happy. *** CID 1365923: Uninitialized variables (UNINIT) /hw/virtio/virtio-crypto.c: 851 in virtio_crypto_get_config() 845 stl_le_p(&crypto_cfg.mac_algo_h, c->conf.mac_algo_h); 846 stl_le_p(&crypto_cfg.aead_algo, c->conf.aead_algo); 847 stl_le_p(&crypto_cfg.max_cipher_key_len, c->conf.max_cipher_key_len); 848 stl_le_p(&crypto_cfg.max_auth_key_len, c->conf.max_auth_key_len); 849 stq_le_p(&crypto_cfg.max_size, c->conf.max_size); 850 >>> CID 1365923: Uninitialized variables (UNINIT) >>> Using uninitialized value "crypto_cfg". Field "crypto_cfg.reserve" is uninitialized when calling "memcpy". [Note: The source code implementation of the function has been overridden by a builtin model.] 851 memcpy(config, &crypto_cfg, c->config_size); 852 } 853 Rported-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Gonglei <arei.gonglei@huawei.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- hw/virtio/virtio-crypto.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/virtio/virtio-crypto.c b/hw/virtio/virtio-crypto.c index 847dc9d..2f2467e 100644 --- a/hw/virtio/virtio-crypto.c +++ b/hw/virtio/virtio-crypto.c @@ -838,7 +838,7 @@ static Property virtio_crypto_properties[] = { static void virtio_crypto_get_config(VirtIODevice *vdev, uint8_t *config) { VirtIOCrypto *c = VIRTIO_CRYPTO(vdev); - struct virtio_crypto_config crypto_cfg; + struct virtio_crypto_config crypto_cfg = {}; /* * Virtio-crypto device conforms to VIRTIO 1.0 which is always LE, -- MST ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes 2016-12-01 3:58 [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes Michael S. Tsirkin ` (4 preceding siblings ...) 2016-12-01 3:58 ` [Qemu-devel] [PULL 5/5] virtio-crypto: fix uninitialized variables Michael S. Tsirkin @ 2016-12-01 13:39 ` Stefan Hajnoczi 5 siblings, 0 replies; 7+ messages in thread From: Stefan Hajnoczi @ 2016-12-01 13:39 UTC (permalink / raw) To: Michael S. Tsirkin; +Cc: qemu-devel, Peter Maydell [-- Attachment #1: Type: text/plain, Size: 1957 bytes --] On Thu, Dec 01, 2016 at 05:58:40AM +0200, Michael S. Tsirkin wrote: > Comments on patches included: > > - a spec update seems important for 2.8 as incorrect > spec makes people implement backends incorrectly. > - undefined behaviour fix seems important too - > who knows what would compiler optimizers come up with > > Others are imho clearly uncontroversial. > > > The following changes since commit 1cd56fd2e14f67ead2f0458b4ae052f19865c41c: > > Update version for v2.8.0-rc2 release (2016-11-29 22:26:25 +0000) > > are available in the git repository at: > > git://git.kernel.org/pub/scm/virt/kvm/mst/qemu.git tags/for_upstream > > for you to fetch changes up to 9730280d54634caa5d63f0d8fcd85da8311d2ebf: > > virtio-crypto: fix uninitialized variables (2016-11-30 04:22:18 +0200) > > ---------------------------------------------------------------- > virtio, vhost, pc: fixes > > Minor fixes since 2.8.0-rc2. > > Signed-off-by: Michael S. Tsirkin <mst@redhat.com> > > ---------------------------------------------------------------- > Gonglei (1): > virtio-crypto: fix uninitialized variables > > Laszlo Ersek (2): > loader: fix handling of custom address spaces when adding ROM blobs > loader: fix undefined behavior in rom_order_compare() > > Peter Xu (1): > intel_iommu: fix incorrect device invalidate > > Wei Wang (1): > spec/vhost-user: fix the VHOST_USER prefix > > docs/specs/vhost-user.txt | 20 ++++++++++---------- > hw/lm32/lm32_hwsetup.h | 2 +- > include/hw/loader.h | 6 +++--- > hw/arm/virt-acpi-build.c | 2 +- > hw/core/loader.c | 6 ++++-- > hw/i386/acpi-build.c | 2 +- > hw/i386/intel_iommu.c | 1 + > hw/virtio/virtio-crypto.c | 2 +- > 8 files changed, 22 insertions(+), 19 deletions(-) > Thanks, applied to my staging tree: https://github.com/stefanha/qemu/commits/staging Stefan [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 455 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-12-01 13:39 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-12-01 3:58 [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 1/5] spec/vhost-user: fix the VHOST_USER prefix Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 2/5] intel_iommu: fix incorrect device invalidate Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 3/5] loader: fix handling of custom address spaces when adding ROM blobs Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 4/5] loader: fix undefined behavior in rom_order_compare() Michael S. Tsirkin 2016-12-01 3:58 ` [Qemu-devel] [PULL 5/5] virtio-crypto: fix uninitialized variables Michael S. Tsirkin 2016-12-01 13:39 ` [Qemu-devel] [PULL 0/5] virtio, vhost, pc: fixes Stefan Hajnoczi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).