qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] e4adb0: i386: assert 'cs->kvm_state' is not n


From: Peter Maydell
Subject: [Qemu-commits] [qemu/qemu] e4adb0: i386: assert 'cs->kvm_state' is not null
Date: Thu, 29 Jul 2021 10:49:35 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: e4adb09f7952fd37b7f1ba3df377d54d0823e682
      
https://github.com/qemu/qemu/commit/e4adb09f7952fd37b7f1ba3df377d54d0823e682
  Author: Vitaly Kuznetsov <vkuznets@redhat.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M target/i386/kvm/kvm.c

  Log Message:
  -----------
  i386: assert 'cs->kvm_state' is not null

Coverity reports potential NULL pointer dereference in
get_supported_hv_cpuid_legacy() when 'cs->kvm_state' is NULL. While
'cs->kvm_state' can indeed be NULL in hv_cpuid_get_host(),
kvm_hyperv_expand_features() makes sure that it only happens when
KVM_CAP_SYS_HYPERV_CPUID is supported and KVM_CAP_SYS_HYPERV_CPUID
implies KVM_CAP_HYPERV_CPUID so get_supported_hv_cpuid_legacy() is
never really called. Add asserts to strengthen the protection against
broken KVM behavior.

Coverity: CID 1458243
Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Message-Id: <20210716115852.418293-1-vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 14833e24dea49303ebc2464813601054b6cdfcac
      
https://github.com/qemu/qemu/commit/14833e24dea49303ebc2464813601054b6cdfcac
  Author: Alexey Neyman <stilor@att.net>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M Makefile

  Log Message:
  -----------
  Makefile: ignore long options

When searching for options like -n in MAKEFLAGS, current code may result
in a false positive match when make is invoked with long options like
--no-print-directory. This has been observed with certain versions of
host make (e.g. 3.82) while building the Qemu package in buildroot.

Filter out such long options before searching for one-character options.

Signed-off-by: Alexey Neyman <stilor@att.net>
Message-Id: <20210722020846.3678817-1-stilor@att.net>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 5b945f23d651a71aa722cc6af84a480d41bc549a
      
https://github.com/qemu/qemu/commit/5b945f23d651a71aa722cc6af84a480d41bc549a
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: Add -Werror to avx2, avx512 tests

When using clang, we get

ERROR: configure test passed without -Werror but failed with -Werror.
       This is probably a bug in the configure script. The failing command
       will be at the bottom of config.log.
       You can run configure with --disable-werror to bypass this check.

What we really want from these two tests is whether the
entire code sequence is supported, including pragmas.
Adding -Werror makes the test properly fail for clang.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210719200112.295316-1-richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: eceb4f01123355a7045ec4ba9cd547511682a4d9
      
https://github.com/qemu/qemu/commit/eceb4f01123355a7045ec4ba9cd547511682a4d9
  Author: Lara Lazier <laramglazier@gmail.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M target/i386/tcg/sysemu/svm_helper.c

  Log Message:
  -----------
  target/i386: Added consistency checks for event injection

VMRUN exits with SVM_EXIT_ERR if either:
 * The event injected has a reserved type.
 * When the event injected is of type 3 (exception), and the vector that
 has been specified does not correspond to an exception.

This does not fix the entire exc_inj test in kvm-unit-tests.

Signed-off-by: Lara Lazier <laramglazier@gmail.com>
Message-Id: <20210725090855.19713-1-laramglazier@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f594bfb79f572b27404d251f9758a36b83271580
      
https://github.com/qemu/qemu/commit/f594bfb79f572b27404d251f9758a36b83271580
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M target/i386/tcg/sysemu/svm_helper.c

  Log Message:
  -----------
  target/i386: fix typo in ctl_has_irq

The shift constant was incorrect, causing int_prio to always be zero.

Signed-off-by: Lara Lazier <laramglazier@gmail.com>
[Rewritten commit message since v1 had already been included. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 3f55f97b14086b0f9f638e5bb784b3485b36d583
      
https://github.com/qemu/qemu/commit/3f55f97b14086b0f9f638e5bb784b3485b36d583
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    A subprojects/libvhost-user/include/atomic.h
    M subprojects/libvhost-user/libvhost-user.c
    M subprojects/libvhost-user/meson.build
    A subprojects/libvhost-user/standard-headers/linux

  Log Message:
  -----------
  meson: fix meson 0.58 warning with libvhost-user subproject

Meson now checks that subprojects do not access files from parent
project. While we all agree this is best practice, libvhost-user also
want to share a few headers with QEMU, and libvhost-user isn't really a
standalone project at this point (although this is making the dependency
a bit more explicit).

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210505151313.203258-1-marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 4fe29344bef6c54a6eff7aa0343754f8a9df5715
      
https://github.com/qemu/qemu/commit/4fe29344bef6c54a6eff7aa0343754f8a9df5715
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M subprojects/libvhost-user/libvhost-user.c

  Log Message:
  -----------
  libvhost-user: fix -Werror=format= warnings with __u64 fields

../subprojects/libvhost-user/libvhost-user.c:1070:12: error: format ‘%lx’ 
expects argument of type ‘long unsigned int’, but argument 3 has type ‘__u64’ 
{aka ‘long long unsigned int’} [-Werror=format=]
 1070 |     DPRINT("    desc_user_addr:   0x%016" PRIx64 "\n", 
vra->desc_user_addr);
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~              
~~~~~~~~~~~~~~~~~~~
      |                                                           |
      |                                                           __u64 {aka 
long long unsigned int}

Rather than using %llx, which may fail if __u64 is declared differently
elsewhere, let's just cast the values. Feel free to propose a better solution!

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20210505151313.203258-2-marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 768832575d2e37042d00eb693cda809cb30981d4
      
https://github.com/qemu/qemu/commit/768832575d2e37042d00eb693cda809cb30981d4
  Author: Peter Maydell <peter.maydell@linaro.org>
  Date:   2021-07-29 (Thu, 29 Jul 2021)

  Changed paths:
    M Makefile
    M configure
    A subprojects/libvhost-user/include/atomic.h
    M subprojects/libvhost-user/libvhost-user.c
    M subprojects/libvhost-user/meson.build
    A subprojects/libvhost-user/standard-headers/linux
    M target/i386/kvm/kvm.c
    M target/i386/tcg/sysemu/svm_helper.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into 
staging

Bugfixes.

# gpg: Signature made Thu 29 Jul 2021 09:15:54 BST
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini-gitlab/tags/for-upstream:
  libvhost-user: fix -Werror=format= warnings with __u64 fields
  meson: fix meson 0.58 warning with libvhost-user subproject
  target/i386: fix typo in ctl_has_irq
  target/i386: Added consistency checks for event injection
  configure: Add -Werror to avx2, avx512 tests
  Makefile: ignore long options
  i386: assert 'cs->kvm_state' is not null

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>


Compare: https://github.com/qemu/qemu/compare/3521ade3510e...768832575d2e



reply via email to

[Prev in Thread] Current Thread [Next in Thread]