qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 8afc43: s390x/gdb: Split s390-virt.xml


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] 8afc43: s390x/gdb: Split s390-virt.xml
Date: Fri, 28 Apr 2023 13:58:57 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 8afc43ea631ffe3de889b84028c3ce430047301d
      
https://github.com/qemu/qemu/commit/8afc43ea631ffe3de889b84028c3ce430047301d
  Author: Ilya Leoshkevich <iii@linux.ibm.com>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M configs/targets/s390x-linux-user.mak
    M configs/targets/s390x-softmmu.mak
    A gdb-xml/s390-virt-kvm.xml
    M gdb-xml/s390-virt.xml
    M target/s390x/gdbstub.c

  Log Message:
  -----------
  s390x/gdb: Split s390-virt.xml

Both TCG and KVM emulate ckc, cputm, last_break and prefix, and it's
quite useful to have them during debugging. Right now they are grouped
together with KVM-only pp, pfault_token, pfault_select and
pfault_compare in s390-virt.xml, and are not available when debugging
TCG-emulated code.

Move KVM-only registers into the new s390-virt-kvm.xml file. Advertise
s390-virt.xml always, and the new s390-virt-kvm.xml only for KVM.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20230314101813.174874-1-iii@linux.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c4c289cc5f6109a8c131943a7554679ffb42c03f
      
https://github.com/qemu/qemu/commit/c4c289cc5f6109a8c131943a7554679ffb42c03f
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M hw/rdma/rdma_rm.c

  Log Message:
  -----------
  hw/rdma: Remove unused macros PG_DIR_SZ and PG_TBL_SZ

They have apparently never been used.

Message-Id: <20230419103018.627115-1-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: c02578b1fa0345d3da7dcdacf30ea2c246336257
      
https://github.com/qemu/qemu/commit/c02578b1fa0345d3da7dcdacf30ea2c246336257
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M hw/rdma/meson.build

  Log Message:
  -----------
  hw/rdma: Compile target-independent parts of the rdma code only once

Some files of the rdma code do not depend on any target specific
macros. Compile these only once to save some time during the build.

Message-Id: <20230419114937.667221-1-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: e017462db554bedd82fa3bb86cd72d9e38684dd4
      
https://github.com/qemu/qemu/commit/e017462db554bedd82fa3bb86cd72d9e38684dd4
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M hw/rdma/Kconfig

  Log Message:
  -----------
  hw/rdma: VMW_PVRDMA should depend on VMXNET3_PCI

The "pvrdma" device is only usable in conjunction with the "vmxnet3"
NIC - see the check for TYPE_VMXNET3 in pvrdma_realize().

By adding this dependency, the amount of total files that have to
be compiled for a configuration with all targets decreases by 64
files (!), since the rdma code is marked as target specific and thus
got recompiled for all targets that enable PCI so far.

Message-Id: <20230419111337.651673-1-thuth@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 3ee7f21ed292966f5cd3eb71aa06f8ffc0e5ae41
      
https://github.com/qemu/qemu/commit/3ee7f21ed292966f5cd3eb71aa06f8ffc0e5ae41
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M tests/qtest/vhost-user-test.c

  Log Message:
  -----------
  tests: vhost-user-test: release mutex on protocol violation

chr_read() is printing an error message and returning with s->data_mutex taken.
This can potentially cause a hang.  Reported by Coverity.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20230427125423.103536-1-pbonzini@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: a2e1753b8054344f32cf94f31c6399a58794a380
      
https://github.com/qemu/qemu/commit/a2e1753b8054344f32cf94f31c6399a58794a380
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M include/exec/memory.h
    M include/hw/qdev-core.h
    M softmmu/memory.c

  Log Message:
  -----------
  memory: prevent dma-reentracy issues

Add a flag to the DeviceState, when a device is engaged in PIO/MMIO/DMA.
This flag is set/checked prior to calling a device's MemoryRegion
handlers, and set when device code initiates DMA.  The purpose of this
flag is to prevent two types of DMA-based reentrancy issues:

1.) mmio -> dma -> mmio case
2.) bh -> dma write -> mmio case

These issues have led to problems such as stack-exhaustion and
use-after-frees.

Summary of the problem from Peter Maydell:
https://lore.kernel.org/qemu-devel/CAFEAcA_23vc7hE3iaM-JVA6W38LK4hJoWae5KcknhPRD5fPBZA@mail.gmail.com

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/62
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/540
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/541
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/556
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/557
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/827
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1282
Resolves: CVE-2023-0330

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20230427211013.2994127-2-alxndr@bu.edu>
[thuth: Replace warn_report() with warn_report_once()]
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 9c86c97f12c060bf7484dd931f38634e166a81f0
      
https://github.com/qemu/qemu/commit/9c86c97f12c060bf7484dd931f38634e166a81f0
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M docs/devel/multiple-iothreads.txt
    M include/block/aio.h
    M include/qemu/main-loop.h
    M tests/unit/ptimer-test-stubs.c
    M util/async.c
    M util/main-loop.c
    M util/trace-events

  Log Message:
  -----------
  async: Add an optional reentrancy guard to the BH API

Devices can pass their MemoryReentrancyGuard (from their DeviceState),
when creating new BHes. Then, the async API will toggle the guard
before/after calling the BH call-back. This prevents bh->mmio reentrancy
issues.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20230427211013.2994127-3-alxndr@bu.edu>
[thuth: Fix "line over 90 characters" checkpatch.pl error]
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: ef56ffbdd6b0605dc1e305611287b948c970e236
      
https://github.com/qemu/qemu/commit/ef56ffbdd6b0605dc1e305611287b948c970e236
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M scripts/checkpatch.pl

  Log Message:
  -----------
  checkpatch: add qemu_bh_new/aio_bh_new checks

Advise authors to use the _guarded versions of the APIs, instead.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20230427211013.2994127-4-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: f63192b0544af5d3e4d5edfd85ab520fcf671377
      
https://github.com/qemu/qemu/commit/f63192b0544af5d3e4d5edfd85ab520fcf671377
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M hw/9pfs/xen-9p-backend.c
    M hw/block/dataplane/virtio-blk.c
    M hw/block/dataplane/xen-block.c
    M hw/char/virtio-serial-bus.c
    M hw/display/qxl.c
    M hw/display/virtio-gpu.c
    M hw/ide/ahci.c
    M hw/ide/ahci_internal.h
    M hw/ide/core.c
    M hw/misc/imx_rngc.c
    M hw/misc/macio/mac_dbdma.c
    M hw/net/virtio-net.c
    M hw/nvme/ctrl.c
    M hw/scsi/mptsas.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/vmw_pvscsi.c
    M hw/usb/dev-uas.c
    M hw/usb/hcd-dwc2.c
    M hw/usb/hcd-ehci.c
    M hw/usb/hcd-uhci.c
    M hw/usb/host-libusb.c
    M hw/usb/redirect.c
    M hw/usb/xen-usb.c
    M hw/virtio/virtio-balloon.c
    M hw/virtio/virtio-crypto.c

  Log Message:
  -----------
  hw: replace most qemu_bh_new calls with qemu_bh_new_guarded

This protects devices from bh->mmio reentrancy issues.

Thanks: Thomas Huth <thuth@redhat.com> for diagnosing OS X test failure.
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Paul Durrant <paul@xen.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20230427211013.2994127-5-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: bfd6e7ae6a72b84e2eb9574f56e6ec037f05182c
      
https://github.com/qemu/qemu/commit/bfd6e7ae6a72b84e2eb9574f56e6ec037f05182c
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M hw/scsi/lsi53c895a.c

  Log Message:
  -----------
  lsi53c895a: disable reentrancy detection for script RAM

As the code is designed to use the memory APIs to access the script ram,
disable reentrancy checks for the pseudo-RAM ram_io MemoryRegion.

In the future, ram_io may be converted from an IO to a proper RAM MemoryRegion.

Reported-by: Fiona Ebner <f.ebner@proxmox.com>
Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20230427211013.2994127-6-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 985c4a4e547afb9573b6bd6843d20eb2c3d1d1cd
      
https://github.com/qemu/qemu/commit/985c4a4e547afb9573b6bd6843d20eb2c3d1d1cd
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M hw/misc/bcm2835_property.c

  Log Message:
  -----------
  bcm2835_property: disable reentrancy detection for iomem

As the code is designed for re-entrant calls from bcm2835_property to
bcm2835_mbox and back into bcm2835_property, mark iomem as
reentrancy-safe.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20230427211013.2994127-7-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 6dad5a6810d9c60ca320d01276f6133bbcfa1fc7
      
https://github.com/qemu/qemu/commit/6dad5a6810d9c60ca320d01276f6133bbcfa1fc7
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M hw/pci-host/raven.c

  Log Message:
  -----------
  raven: disable reentrancy detection for iomem

As the code is designed for re-entrant calls from raven_io_ops to
pci-conf, mark raven_io_ops as reentrancy-safe.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20230427211013.2994127-8-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 50795ee051a342c681a9b45671c552fbd6274db8
      
https://github.com/qemu/qemu/commit/50795ee051a342c681a9b45671c552fbd6274db8
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M hw/intc/apic.c

  Log Message:
  -----------
  apic: disable reentrancy detection for apic-msi

As the code is designed for re-entrant calls to apic-msi, mark apic-msi
as reentrancy-safe.

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Reviewed-by: Darren Kenny <darren.kenny@oracle.com>
Message-Id: <20230427211013.2994127-9-alxndr@bu.edu>
Signed-off-by: Thomas Huth <thuth@redhat.com>


  Commit: 2074424ef6ecf44f6b3765c5ef89ee21dafa6b01
      
https://github.com/qemu/qemu/commit/2074424ef6ecf44f6b3765c5ef89ee21dafa6b01
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2023-04-28 (Fri, 28 Apr 2023)

  Changed paths:
    M configs/targets/s390x-linux-user.mak
    M configs/targets/s390x-softmmu.mak
    M docs/devel/multiple-iothreads.txt
    A gdb-xml/s390-virt-kvm.xml
    M gdb-xml/s390-virt.xml
    M hw/9pfs/xen-9p-backend.c
    M hw/block/dataplane/virtio-blk.c
    M hw/block/dataplane/xen-block.c
    M hw/char/virtio-serial-bus.c
    M hw/display/qxl.c
    M hw/display/virtio-gpu.c
    M hw/ide/ahci.c
    M hw/ide/ahci_internal.h
    M hw/ide/core.c
    M hw/intc/apic.c
    M hw/misc/bcm2835_property.c
    M hw/misc/imx_rngc.c
    M hw/misc/macio/mac_dbdma.c
    M hw/net/virtio-net.c
    M hw/nvme/ctrl.c
    M hw/pci-host/raven.c
    M hw/rdma/Kconfig
    M hw/rdma/meson.build
    M hw/rdma/rdma_rm.c
    M hw/scsi/lsi53c895a.c
    M hw/scsi/mptsas.c
    M hw/scsi/scsi-bus.c
    M hw/scsi/vmw_pvscsi.c
    M hw/usb/dev-uas.c
    M hw/usb/hcd-dwc2.c
    M hw/usb/hcd-ehci.c
    M hw/usb/hcd-uhci.c
    M hw/usb/host-libusb.c
    M hw/usb/redirect.c
    M hw/usb/xen-usb.c
    M hw/virtio/virtio-balloon.c
    M hw/virtio/virtio-crypto.c
    M include/block/aio.h
    M include/exec/memory.h
    M include/hw/qdev-core.h
    M include/qemu/main-loop.h
    M scripts/checkpatch.pl
    M softmmu/memory.c
    M target/s390x/gdbstub.c
    M tests/qtest/vhost-user-test.c
    M tests/unit/ptimer-test-stubs.c
    M util/async.c
    M util/main-loop.c
    M util/trace-events

  Log Message:
  -----------
  Merge tag 'pull-request-2023-04-28' of https://gitlab.com/thuth/qemu into 
staging

* Prevent reentrant DMA accesses by default
* Only compile hw/rdma code when necessary
* Fix a potential locking issue in the vhost-user-test
* Offer more registers in GDB for s390x TCG

# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmRLlDkRHHRodXRoQHJl
# ZGhhdC5jb20ACgkQLtnXdP5wLbU98RAApVbehXIXMF4lm0B4/pTRlP7CEjbKvNdQ
# Ca/xuqiCctjisJWQMLf8WDdymzaA02ycSYo0X9diO4uisKog4kN4uYje3VTbSJnx
# 7a0MlOpUqP6AR3hZYy5y/wv1M7Yjfhnj7yTUsAo/mQYoZmvqRviNwJ6ekdIU9J4W
# V2EfY+R/ebNami9VvuHTqudcZxmmR+4S5m5JipeHvjFE0DJucES0S8sN3W+iSCxG
# ydqG02CUoZtoorkJZccy3FPyeTVHgvcNqJbhAA5pFBgo30L+mx0llqztzLnWnLCe
# GWvpW2lZ2jC5MOg8oEpbiR807eB3ITpzCu9SX0IUOxMUHpGtl49sx1WNFrrlgD4Z
# b+mZSwJx4grwkU8iD/nF0apQoqEIAH6VSyRAIq1yLAsq1H4/K4c8M+bZ/jAD+gw+
# +DujZIPJ6Gcu3BeqWgOcOY1rRol3ksmRYlU8GrHTR/zIU+q3h7Gk3aH4+Ore1qnE
# hI/YzyyZlQgFMvENqakPJIS9IH+h41gCltwE8YxqJyUWIBfRs7iBMzdxQuUW+c2b
# n6OPYqeDlQt4hEpq4mUtZ+aJV1ey6kyk5ESLTj8QaJiZtcT1+lmvZX2ug2oeyrJm
# ys2458ulKZu0rGjXWWXNFB8u3MM9xN/PLqeD/wKShyLzkit5Nfx4azw5LPbmjrbj
# Twmf1HGeUiY=
# =v84A
# -----END PGP SIGNATURE-----
# gpg: Signature made Fri 28 Apr 2023 10:39:05 AM BST
# gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg:                issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [undefined]
# gpg:                 aka "Thomas Huth <thuth@redhat.com>" [undefined]
# gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [undefined]
# 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: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5

* tag 'pull-request-2023-04-28' of https://gitlab.com/thuth/qemu:
  apic: disable reentrancy detection for apic-msi
  raven: disable reentrancy detection for iomem
  bcm2835_property: disable reentrancy detection for iomem
  lsi53c895a: disable reentrancy detection for script RAM
  hw: replace most qemu_bh_new calls with qemu_bh_new_guarded
  checkpatch: add qemu_bh_new/aio_bh_new checks
  async: Add an optional reentrancy guard to the BH API
  memory: prevent dma-reentracy issues
  tests: vhost-user-test: release mutex on protocol violation
  hw/rdma: VMW_PVRDMA should depend on VMXNET3_PCI
  hw/rdma: Compile target-independent parts of the rdma code only once
  hw/rdma: Remove unused macros PG_DIR_SZ and PG_TBL_SZ
  s390x/gdb: Split s390-virt.xml

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/05d50ba2d466...2074424ef6ec



reply via email to

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