1. 23 3月, 2019 4 次提交
  2. 22 3月, 2019 3 次提交
  3. 21 3月, 2019 6 次提交
    • P
      Merge remote-tracking branch 'remotes/berrange/tags/authz-next-pull-request' into staging · c692931c
      Peter Maydell 提交于
      Fix object interface check macro usage
      
      # gpg: Signature made Thu 21 Mar 2019 11:53:15 GMT
      # gpg:                using RSA key BE86EBB415104FDF
      # gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" [full]
      # gpg:                 aka "Daniel P. Berrange <berrange@redhat.com>" [full]
      # Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E  8E3F BE86 EBB4 1510 4FDF
      
      * remotes/berrange/tags/authz-next-pull-request:
        authz: Use OBJECT_CHECK() on objects
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      c692931c
    • P
      Merge remote-tracking branch 'remotes/berrange/tags/qcrypto-next-pull-request' into staging · 9b198f93
      Peter Maydell 提交于
      Avoid struct packing warnings with gcc9
      
      # gpg: Signature made Thu 21 Mar 2019 11:55:03 GMT
      # gpg:                using RSA key BE86EBB415104FDF
      # gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" [full]
      # gpg:                 aka "Daniel P. Berrange <berrange@redhat.com>" [full]
      # Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E  8E3F BE86 EBB4 1510 4FDF
      
      * remotes/berrange/tags/qcrypto-next-pull-request:
        crypto/block: remove redundant struct packing to fix build with gcc 9
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      9b198f93
    • G
      crypto/block: remove redundant struct packing to fix build with gcc 9 · 5993e3be
      Greg Kurz 提交于
      Build fails with gcc 9:
      
      crypto/block-luks.c:689:18: error: taking address of packed member of ‘struct QCryptoBlockLUKSHeader’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
        689 |     be32_to_cpus(&luks->header.payload_offset);
            |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      crypto/block-luks.c:690:18: error: taking address of packed member of ‘struct QCryptoBlockLUKSHeader’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
        690 |     be32_to_cpus(&luks->header.key_bytes);
            |                  ^~~~~~~~~~~~~~~~~~~~~~~
      crypto/block-luks.c:691:18: error: taking address of packed member of ‘struct QCryptoBlockLUKSHeader’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
        691 |     be32_to_cpus(&luks->header.master_key_iterations);
            |                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      ... a bunch of similar errors...
      
      crypto/block-luks.c:1288:22: error: taking address of packed member of ‘struct QCryptoBlockLUKSKeySlot’ may result in an unaligned pointer value [-Werror=address-of-packed-member]
       1288 |         be32_to_cpus(&luks->header.key_slots[i].stripes);
            |                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      cc1: all warnings being treated as errors
      
      All members of the QCryptoBlockLUKSKeySlot and QCryptoBlockLUKSHeader are
      naturally aligned and we already check at build time there isn't any
      unwanted padding. Drop the QEMU_PACKED attribute.
      Reviewed-by: NEric Blake <eblake@redhat.com>
      Signed-off-by: NGreg Kurz <groug@kaod.org>
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      5993e3be
    • P
      authz: Use OBJECT_CHECK() on objects · 063603d4
      Philippe Mathieu-Daudé 提交于
      TYPE_QAUTHZ is an abstract object of type TYPE_OBJECT. All other
      are children of TYPE_QAUTHZ, thus also objects.
      
      Keep INTERFACE_CHECK() for interfaces, and use OBJECT_CHECK() on
      objects.
      Reported-by: NMarkus Armbruster <armbru@redhat.com>
      Signed-off-by: NPhilippe Mathieu-Daudé <philmd@redhat.com>
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      063603d4
    • P
      Merge remote-tracking branch 'remotes/berrange/tags/qio-next-pull-request' into staging · 6532dceb
      Peter Maydell 提交于
      Merge I/O patch queue
      
      Fix problem with end of file handling with websock channels
      
      # gpg: Signature made Wed 20 Mar 2019 16:57:15 GMT
      # gpg:                using RSA key BE86EBB415104FDF
      # gpg: Good signature from "Daniel P. Berrange <dan@berrange.com>" [full]
      # gpg:                 aka "Daniel P. Berrange <berrange@redhat.com>" [full]
      # Primary key fingerprint: DAF3 A6FD B26B 6291 2D0E  8E3F BE86 EBB4 1510 4FDF
      
      * remotes/berrange/tags/qio-next-pull-request:
        io: fix handling of EOF / error conditions in websock GSource
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      6532dceb
    • D
      io: fix handling of EOF / error conditions in websock GSource · dd154c4d
      Daniel P. Berrangé 提交于
      We were never reporting the G_IO_HUP event when an end of file was hit
      on the websocket channel.
      
      We also didn't report G_IO_ERR when we hit a fatal error processing the
      websocket protocol.
      
      The latter in particular meant that the chardev code would not notice
      when an eof/error was encountered on the websocket channel, unless the
      guest OS happened to trigger a write operation.
      
      This meant that once the first client had quit, the chardev would never
      listen to accept a new client.
      
      Fixes launchpad bug 1816819
      Acked-by: NStefano Garzarella <sgarzare@redhat.com>
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      dd154c4d
  4. 20 3月, 2019 7 次提交
    • D
      docs: add note about stibp CPU feature for spectre v2 · 21ee4787
      Daniel P. Berrangé 提交于
      While the stibp CPU feature is not commonly used by guest OS for spectre
      mitigation due to its performance impact, it is none the less best
      practice to expose it to all guest OS. This allows the guest OS to
      decide whether to make use or it.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      Message-Id: <20190307121838.6345-3-berrange@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      21ee4787
    • D
      docs: clarify that spec-ctrl is only needed for Spectre v2 · 174a78a8
      Daniel P. Berrangé 提交于
      The docs currently say that the spec-ctrl feature is needed for both
      Spectre variants, but it is only used to address Spectre v2. Also
      remove the note about retpolines. The guest OS is usually treated
      as a blackbox from host mgmt pov, so it won't have knowledge about
      use of retpolines and thus should unconditionally expose spec-ctrl,
      allowing the guest to decide whether to use it or not.
      Signed-off-by: NDaniel P. Berrangé <berrange@redhat.com>
      Message-Id: <20190307121838.6345-2-berrange@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      174a78a8
    • E
      i386: Disable OSPKE on CPU model definitions · bb4928c7
      Eduardo Habkost 提交于
      Currently, the Cascadelake-Server, Icelake-Client, and
      Icelake-Server are always generating the following warning:
      
        qemu-system-x86_64: warning: \
          host doesn't support requested feature: CPUID.07H:ECX [bit 4]
      
      This happens because OSPKE was never returned by
      GET_SUPPORTED_CPUID or x86_cpu_get_supported_feature_word().
      OSPKE is a runtime flag automatically set by the KVM module or by
      TCG code, was always cleared by x86_cpu_filter_features(), and
      was not supposed to appear on the CPU model table.
      
      Remove the OSPKE flag from the CPU model table entries, to avoid
      the bogus warning and avoid returning invalid feature data on
      query-cpu-* QMP commands.  As OSPKE was always cleared by
      x86_cpu_filter_features(), this won't have any guest-visible
      impact.
      
      Include a test case that should detect the problem if we introduce
      a similar bug again.
      
      Fixes: c7a88b52 ("i386: Add new model of Cascadelake-Server")
      Fixes: 8a11c62d ("i386: Add new CPU model Icelake-{Server,Client}")
      Cc: Tao Xu <tao3.xu@intel.com>
      Cc: Robert Hoo <robert.hu@linux.intel.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Message-Id: <20190319200515.14999-1-ehabkost@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      bb4928c7
    • E
      i386: Make arch_capabilities migratable · 014018e1
      Eduardo Habkost 提交于
      Now that kvm_arch_get_supported_cpuid() will only return
      arch_capabilities if QEMU is able to initialize the MSR properly,
      we know that the feature is safely migratable.
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Message-Id: <20190125220606.4864-3-ehabkost@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      014018e1
    • E
      i386: kvm: Disable arch_capabilities if MSR can't be set · 485b1d25
      Eduardo Habkost 提交于
      KVM has two bugs in the handling of MSR_IA32_ARCH_CAPABILITIES:
      
      1) Linux commit commit 1eaafe91a0df ("kvm: x86: IA32_ARCH_CAPABILITIES
         is always supported") makes GET_SUPPORTED_CPUID return
         arch_capabilities even if running on SVM.  This makes "-cpu
         host,migratable=off" incorrectly expose arch_capabilities on CPUID on
         AMD hosts (where the MSR is not emulated by KVM).
      
      2) KVM_GET_MSR_INDEX_LIST does not return MSR_IA32_ARCH_CAPABILITIES if
         the MSR is not supported by the host CPU.  This makes QEMU not
         initialize the MSR properly at kvm_put_msrs() on those hosts.
      
      Work around both bugs on the QEMU side, by checking if the MSR
      was returned by KVM_GET_MSR_INDEX_LIST before returning the
      feature flag on kvm_arch_get_supported_cpuid().
      
      This has the unfortunate side effect of making arch_capabilities
      unavailable on hosts without hardware support for the MSR until bug #2
      is fixed on KVM, but I can't see another way to work around bug #1
      without that side effect.
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      Message-Id: <20190125220606.4864-2-ehabkost@redhat.com>
      Signed-off-by: NEduardo Habkost <ehabkost@redhat.com>
      485b1d25
    • P
      Update version for v4.0.0-rc0 release · 62a172e6
      Peter Maydell 提交于
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      62a172e6
    • P
      Merge remote-tracking branch 'remotes/kevin/tags/for-upstream' into staging · e0991e26
      Peter Maydell 提交于
      Block layer patches:
      
      - mirror: Fix early return from drain (could cause deadlocks)
      - vmdk: Fixed probing for version 3 images
      - vl: Fix to create migration object before block backends again (fixes
        segfault for block drivers that set migration blockers)
      - Several minor fixes, documentation and test case improvements
      
      # gpg: Signature made Tue 19 Mar 2019 14:59:17 GMT
      # gpg:                using RSA key 7F09B272C88F2FD6
      # gpg: Good signature from "Kevin Wolf <kwolf@redhat.com>" [full]
      # Primary key fingerprint: DC3D EB15 9A9A F95D 3D74  56FE 7F09 B272 C88F 2FD6
      
      * remotes/kevin/tags/for-upstream:
        qemu-iotests: Treat custom TEST_DIR in 051
        blockdev: Check @replaces in blockdev_mirror_common
        block: Make bdrv_{copy_on_read,crypto_luks,replication} static
        blockjob: fix user pause in block_job_error_action
        qemu-iotests: Fix 232 for non-qcow2
        vl: Fix to create migration object before block backends again
        iotests: 153: Wait for an answer to QMP commands
        block: Silence Coverity in bdrv_drop_intermediate()
        vmdk: Support version=3 in VMDK descriptor files
        qapi: fix block-latency-histogram-set description and examples
        qcow2: Fix data file error condition in qcow2_co_create()
        mirror: Confirm we're quiesced only if the job is paused or cancelled
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      e0991e26
  5. 19 3月, 2019 20 次提交