[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 1d3b82: hv-balloon: avoid alloca() usage
From: |
Peter Maydell |
Subject: |
[Qemu-commits] [qemu/qemu] 1d3b82: hv-balloon: avoid alloca() usage |
Date: |
Sat, 09 Mar 2024 12:11:17 -0800 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 1d3b82eabb1ad6b6fdeae0d94f2fb37506a351af
https://github.com/qemu/qemu/commit/1d3b82eabb1ad6b6fdeae0d94f2fb37506a351af
Author: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M hw/hyperv/hv-balloon.c
Log Message:
-----------
hv-balloon: avoid alloca() usage
alloca() is frowned upon, replace it with g_malloc0() + g_autofree.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Commit: 546987284a7da9106bbead1063553cbfe7ddd697
https://github.com/qemu/qemu/commit/546987284a7da9106bbead1063553cbfe7ddd697
Author: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M hw/hyperv/hv-balloon.c
M include/hw/hyperv/dynmem-proto.h
Log Message:
-----------
hv-balloon: define dm_hot_add_with_region to avoid Coverity warning
Since the presence of a hot add memory region is optional in hot add
request message it wasn't part of this message declaration
(struct dm_hot_add).
Instead, the code allocated such enlarged message by simply adding the
necessary size for this extra field to the size of basic hot add message
struct.
However, Coverity considers accessing this extra member to be
an out-of-bounds access, even thought the memory is actually there.
Fix this by adding an extended variant of this message that explicitly has
an additional union dm_mem_page_range at its end.
CID: #1523903
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Commit: 6093637b4d32875f98cd59696ffc5f26884aa0b4
https://github.com/qemu/qemu/commit/6093637b4d32875f98cd59696ffc5f26884aa0b4
Author: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M hw/hyperv/hyperv.c
M hw/hyperv/vmbus.c
M include/hw/hyperv/hyperv.h
M target/i386/kvm/hyperv-stub.c
M target/i386/kvm/hyperv.c
M target/i386/kvm/hyperv.h
M target/i386/kvm/kvm.c
Log Message:
-----------
vmbus: Print a warning when enabled without the recommended set of features
Some Windows versions crash at boot or fail to enable the VMBus device if
they don't see the expected set of Hyper-V features (enlightenments).
Since this provides poor user experience let's warn user if the VMBus
device is enabled without the recommended set of Hyper-V features.
The recommended set is the minimum set of Hyper-V features required to make
the VMBus device work properly in Windows Server versions 2016, 2019 and
2022.
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Commit: 9876359990dd4c8a48de65cf5e1c3d13e96a7f4e
https://github.com/qemu/qemu/commit/9876359990dd4c8a48de65cf5e1c3d13e96a7f4e
Author: Sven Schnelle <svens@stackframe.org>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M hw/scsi/lsi53c895a.c
M hw/scsi/trace-events
Log Message:
-----------
hw/scsi/lsi53c895a: add timer to scripts processing
HP-UX 10.20 seems to make the lsi53c895a spinning on a memory location
under certain circumstances. As the SCSI controller and CPU are not
running at the same time this loop will never finish. After some
time, the check loop interrupts with a unexpected device disconnect.
This works, but is slow because the kernel resets the scsi controller.
Instead of signaling UDC, start a timer and exit the loop. Until the
timer fires, the CPU can process instructions which might changes the
memory location.
The limit of instructions is also reduced because scripts running on
the SCSI processor are usually very short. This keeps the time until
the loop is exit short.
Suggested-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Message-ID: <20240229204407.1699260-1-svens@stackframe.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Commit: 012b170173bcaa14b9bc26209e0813311ac78489
https://github.com/qemu/qemu/commit/012b170173bcaa14b9bc26209e0813311ac78489
Author: Dmitrii Gavrilov <ds-gavr@yandex-team.ru>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M system/qdev-monitor.c
Log Message:
-----------
system/qdev-monitor: move drain_call_rcu call under if (!dev) in
qmp_device_add()
Original goal of addition of drain_call_rcu to qmp_device_add was to cover
the failure case of qdev_device_add. It seems call of drain_call_rcu was
misplaced in 7bed89958bfbf40df what led to waiting for pending RCU callbacks
under happy path too. What led to overall performance degradation of
qmp_device_add.
In this patch call of drain_call_rcu moved under handling of failure of
qdev_device_add.
Signed-off-by: Dmitrii Gavrilov <ds-gavr@yandex-team.ru>
Message-ID: <20231103105602.90475-1-ds-gavr@yandex-team.ru>
Fixes: 7bed89958bf ("device_core: use drain_call_rcu in in qmp_device_add",
2020-10-12)
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Commit: 5d402bd9aef3fdf9fbaa387db8be8318c9a37d0a
https://github.com/qemu/qemu/commit/5d402bd9aef3fdf9fbaa387db8be8318c9a37d0a
Author: Akihiko Odaki <akihiko.odaki@daynix.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M meson.build
Log Message:
-----------
meson: Remove --warn-common ldflag
--warn-common ldflag causes warnings for multiple definitions of
___asan_globals_registered when enabling AddressSanitizer with clang.
The warning is somewhat obsolete so just remove it.
The common block is used to allow duplicate definitions of uninitialized
global variables. In the past, GCC and clang used to place such
variables in a common block by default, which prevented programmers for
noticing accidental duplicate definitions. Commit 49237acdb725 ("Enable
ld flag --warn-common") added --warn-common ldflag so that ld warns in
such a case.
Today, both of GCC and clang don't use common blocks by default[1][2] so
any remaining use of common blocks should be intentional. Remove
--warn-common ldflag to suppress warnings for intentional use of
common blocks.
[1]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85678
[2]: https://reviews.llvm.org/D75056
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Message-ID: <20240304-common-v1-1-1a2005d1f350@daynix.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Commit: a9198b3132d81a6bfc9fdbf6f3d3a514c2864674
https://github.com/qemu/qemu/commit/a9198b3132d81a6bfc9fdbf6f3d3a514c2864674
Author: Sven Schnelle <svens@stackframe.org>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M hw/scsi/lsi53c895a.c
Log Message:
-----------
hw/scsi/lsi53c895a: stop script on phase mismatch
Netbsd isn't happy with qemu lsi53c895a emulation:
cd0(esiop0:0:2:0): command with tag id 0 reset
esiop0: autoconfiguration error: phase mismatch without command
esiop0: autoconfiguration error: unhandled scsi interrupt, sist=0x80 sstat1=0x0
DSA=0x23a64b1 DSP=0x50
This is because lsi_bad_phase() triggers a phase mismatch, which
stops SCRIPT processing. However, after returning to
lsi_command_complete(), SCRIPT is restarted with lsi_resume_script().
Fix this by adding a return value to lsi_bad_phase(), and only resume
script processing when lsi_bad_phase() didn't trigger a host interrupt.
Signed-off-by: Sven Schnelle <svens@stackframe.org>
Tested-by: Helge Deller <deller@gmx.de>
Message-ID: <20240302214453.2071388-1-svens@stackframe.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Commit: afd1af1c9964335b1482693edbdd4b564c42e269
https://github.com/qemu/qemu/commit/afd1af1c9964335b1482693edbdd4b564c42e269
Author: Paolo Bonzini <pbonzini@redhat.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M hw/intc/apic.c
Log Message:
-----------
hw/intc/apic: fix memory leak
deliver_bitmask is allocated on the heap in apic_deliver(), but there
are many paths in the function that return before the corresponding
g_free() is reached. Fix this by switching to g_autofree and, while at
it, also switch to g_new. Do the same in apic_deliver_irq() as well
for consistency.
Fixes: b5ee0468e9d ("apic: add support for x2APIC mode", 2024-02-14)
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Bui Quang Minh <minhquangbui99@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Commit: 44a90c08752ad4ac310b75fe96152d60780bcf7e
https://github.com/qemu/qemu/commit/44a90c08752ad4ac310b75fe96152d60780bcf7e
Author: Paolo Bonzini <pbonzini@redhat.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M util/oslib-posix.c
Log Message:
-----------
oslib-posix: fix memory leak in touch_all_pages
touch_all_pages() can return early, before creating threads. In this case,
however, it leaks the MemsetContext that it has allocated at the
beginning of the function.
Reported by Coverity as CID 1534922.
Fixes: 04accf43df8 ("oslib-posix: initialize backend memory objects in
parallel", 2024-02-06)
Reviewed-by: Mark Kanda <mark.kanda@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Commit: 9ed7c6dd9fa100b77ad8fd8c4af1b810b0bee957
https://github.com/qemu/qemu/commit/9ed7c6dd9fa100b77ad8fd8c4af1b810b0bee957
Author: Paolo Bonzini <pbonzini@redhat.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M .gitlab-ci.d/buildtest.yml
M configs/devices/mips-softmmu/common.mak
M configs/devices/mips64el-softmmu/default.mak
M hw/display/Kconfig
M hw/mips/Kconfig
Log Message:
-----------
mips: do not list individual devices from configs/
Add new "select" and "imply" directives if needed. The resulting
config-devices.mak files are the same as before.
Builds without default devices will become much smaller
than before, and qtests fail (as expected, though suboptimal)
for mips64-softmmu because most tests do not use -nodefaults,
so remove it from build-without-defaults
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Commit: 2f3e5e4c08c43daeec144adeeae9138176039b60
https://github.com/qemu/qemu/commit/2f3e5e4c08c43daeec144adeeae9138176039b60
Author: Paolo Bonzini <pbonzini@redhat.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M scripts/coverity-scan/run-coverity-scan
Log Message:
-----------
run-coverity-scan: add --check-upload-only option
Add an option to check if upload is permitted without actually
attempting a build. This can be useful to add a third outcome
beyond success and failure---namely, a CI job can self-cancel
if the uploading quota has been reached.
There is a small change here in that a failure to do the upload
check changes the exit code from 1 to 99. 99 was chosen because
it is what Autotools and Meson use to represent a problem in the
setup (as opposed to a failure in the test).
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Commit: 83aa1baa069c8f77aa9f7d9adfdeb11d90bdf78d
https://github.com/qemu/qemu/commit/83aa1baa069c8f77aa9f7d9adfdeb11d90bdf78d
Author: Paolo Bonzini <pbonzini@redhat.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M .gitlab-ci.d/base.yml
M .gitlab-ci.d/buildtest.yml
M .gitlab-ci.d/opensbi.yml
Log Message:
-----------
gitlab-ci: add manual job to run Coverity
Add a job that can be run, either manually or on a schedule, to upload
a build to Coverity Scan. The job uses the run-coverity-scan script
in multiple phases of check, download tools and upload, in order to
avoid both wasting time (skip everything if you are above the upload
quota) and avoid filling the log with the progress of downloading
the tools.
The job is intended to run on a scheduled pipeline run, and scheduled
runs will not get any other job. It requires two variables to be in
GitLab CI, COVERITY_TOKEN and COVERITY_EMAIL. Those are already set up
in qemu-project's configuration as protected and masked variables.
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Commit: 256f0166580d991d8759a1e71d7aca17a23c55f2
https://github.com/qemu/qemu/commit/256f0166580d991d8759a1e71d7aca17a23c55f2
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2024-03-09 (Sat, 09 Mar 2024)
Changed paths:
M hw/hyperv/hv-balloon.c
M hw/hyperv/hyperv.c
M hw/hyperv/vmbus.c
M include/hw/hyperv/dynmem-proto.h
M include/hw/hyperv/hyperv.h
M target/i386/kvm/hyperv-stub.c
M target/i386/kvm/hyperv.c
M target/i386/kvm/hyperv.h
M target/i386/kvm/kvm.c
Log Message:
-----------
Merge tag 'pull-hv-balloon-20240308' of
https://github.com/maciejsszmigiero/qemu into staging
Hyper-V Dynamic Memory and VMBus misc small patches
This pull request contains two small patches to hv-balloon:
the first one replacing alloca() usage with g_malloc0() + g_autofree
and the second one adding additional declaration of a protocol message
struct with an optional field explicitly defined to avoid a Coverity
warning.
Also included is a VMBus patch to print a warning when it is enabled
without the recommended set of Hyper-V features (enlightenments) since
some Windows versions crash at boot in this case.
# -----BEGIN PGP SIGNATURE-----
#
# iQGzBAABCAAdFiEE4ndqq6COJv9aG0oJUrHW6VHQzgcFAmXrQeMACgkQUrHW6VHQ
# zgcvWwv9GUCDnidnDka8WGF2wgBEaPPdC2JXcqRFFLADISBAn/3fhsOERO6FwYuN
# pouhVEJnHpp9ueNAx+et51ySRzGCaL+VdOGGeReQllIOZGsnOnB8JfM58UE4lX4Z
# prCr72bxFsunxRqlqxssejrc8fBhgEQRPo5lQabl73rxftpXkNTHY0CGTwlvnaY1
# CzEBTBuowzkZJbQYDL8Qim2HrYqrSnOaend6bbrj9P6P+UFw9wLJU5tkfYCiHUjg
# Ux2Fjjx+5+qD9yE7khtxSHqjwWYkR7xA9di1yv4Znqg18gzdbuqnlrKR7F0v98yh
# sWFy+fyfVRDg+G2yh2F+vAUjmAJUrfw5+GL3uZTWIevoQUoSHBQfgUEJrlIKvykZ
# WP1XuAZRH3m2akDOXOWZVcDhkb3zPKtPJYZ2WncBZk+DLCs/vg94Taq0FcZefBTn
# 6qsFjs2lHz96uOSzgqICfU34ghcxfU5xgzmvKxKAiriOItmRMHgIYOXLHRfaIJhV
# MT/9OMuW
# =kVny
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 08 Mar 2024 16:50:43 GMT
# gpg: using RSA key E2776AABA08E26FF5A1B4A0952B1D6E951D0CE07
# gpg: Good signature from "Maciej S. Szmigiero <mail@maciej.szmigiero.name>"
[unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 727A 0D4D DB9E D9F6 039B ECEF 847F 5E37 90CE 0977
# Subkey fingerprint: E277 6AAB A08E 26FF 5A1B 4A09 52B1 D6E9 51D0 CE07
* tag 'pull-hv-balloon-20240308' of https://github.com/maciejsszmigiero/qemu:
vmbus: Print a warning when enabled without the recommended set of features
hv-balloon: define dm_hot_add_with_region to avoid Coverity warning
hv-balloon: avoid alloca() usage
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Commit: f901bf11b3ddf852e591593b09b8aa7a177f9a0b
https://github.com/qemu/qemu/commit/f901bf11b3ddf852e591593b09b8aa7a177f9a0b
Author: Peter Maydell <peter.maydell@linaro.org>
Date: 2024-03-09 (Sat, 09 Mar 2024)
Changed paths:
M .gitlab-ci.d/base.yml
M .gitlab-ci.d/buildtest.yml
M .gitlab-ci.d/opensbi.yml
M configs/devices/mips-softmmu/common.mak
M configs/devices/mips64el-softmmu/default.mak
M hw/display/Kconfig
M hw/intc/apic.c
M hw/mips/Kconfig
M hw/scsi/lsi53c895a.c
M hw/scsi/trace-events
M meson.build
M scripts/coverity-scan/run-coverity-scan
M system/qdev-monitor.c
M util/oslib-posix.c
Log Message:
-----------
Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging
* move Coverity builds to Gitlab CI
* fix two memory leaks
* bug fixes
# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmXrVMMUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroPWywgAqobH+9HsUdwzAqvtjZ6Qw8cQZ8jM
# egGn9SF6he3cArFem8d2sDVuvI3XZrpiwd3Zxi8HVW9l2ePzD6lIJjkKfRpK+srd
# API5F3isfcfWcfWLvsjWrzV7MYjpW2+aPGDJ9heazjye3tuEtDEeq/rkgbvfvwyj
# HfEZQLPsw2QbaviuZutklhYqiRWOXsb46+Y+5+PlfnVkYe7VQlAKgkbTXvbN6Xd9
# 1yX4OyKRa1aDHNYVvaNsnyppDUhniEPRF5rNcRvynMxPTFrXIhcD9p6bzhMp+Ot7
# lVAEI87TdnS+sbrIEKzHU8PkfW/Lz8WLdcKo48jj2///g0FxATWMuLG25w==
# =PzGZ
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 08 Mar 2024 18:11:15 GMT
# 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
* tag 'for-upstream' of https://gitlab.com/bonzini/qemu:
gitlab-ci: add manual job to run Coverity
run-coverity-scan: add --check-upload-only option
mips: do not list individual devices from configs/
oslib-posix: fix memory leak in touch_all_pages
hw/intc/apic: fix memory leak
hw/scsi/lsi53c895a: stop script on phase mismatch
meson: Remove --warn-common ldflag
system/qdev-monitor: move drain_call_rcu call under if (!dev) in
qmp_device_add()
hw/scsi/lsi53c895a: add timer to scripts processing
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Compare: https://github.com/qemu/qemu/compare/84644ac1b0f8...f901bf11b3dd
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications