Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: qemu/qemu
base: a3cb6d5004ff
Choose a base ref
...
head repository: qemu/qemu
compare: f9bdb3818faa
Choose a head ref
  • 19 commits
  • 19 files changed
  • 6 contributors

Commits on May 26, 2023

  1. hw/hppa: Use MachineClass->default_nic in the hppa machine

    Mark the default NIC via the new MachineClass->default_nic setting
    so that the machine-defaults code in vl.c can decide whether the
    default NIC is usable or not (for example when compiling with the
    "--without-default-devices" configure switch).
    
    Message-Id: <20230523110435.1375774-2-thuth@redhat.com>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    huth committed May 26, 2023
    Copy the full SHA
    9f8981a View commit details
    Browse the repository at this point in the history
  2. hw/alpha: Use MachineClass->default_nic in the alpha machine

    Mark the default NIC via the new MachineClass->default_nic setting
    so that the machine-defaults code in vl.c can decide whether the
    default NIC is usable or not (for example when compiling with the
    "--without-default-devices" configure switch).
    
    Message-Id: <20230523110435.1375774-3-thuth@redhat.com>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    huth committed May 26, 2023
    Copy the full SHA
    cdd684b View commit details
    Browse the repository at this point in the history
  3. hw/arm: Use MachineClass->default_nic in the virt machine

    Mark the default NIC via the new MachineClass->default_nic setting
    so that the machine-defaults code in vl.c can decide whether the
    default NIC is usable or not (for example when compiling with the
    "--without-default-devices" configure switch).
    
    Message-Id: <20230523110435.1375774-4-thuth@redhat.com>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    huth committed May 26, 2023
    Copy the full SHA
    50989d0 View commit details
    Browse the repository at this point in the history
  4. hw/loongarch64: Use MachineClass->default_nic in the virt machine

    Mark the default NIC via the new MachineClass->default_nic setting
    so that the machine-defaults code in vl.c can decide whether the
    default NIC is usable or not (for example when compiling with the
    "--without-default-devices" configure switch).
    
    Message-Id: <20230523110435.1375774-5-thuth@redhat.com>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Reviewed-by: Song Gao <gaosong@loongson.cn>
    Tested-by: Song Gao <gaosong@loongson.cn>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    huth committed May 26, 2023
    Copy the full SHA
    240294c View commit details
    Browse the repository at this point in the history
  5. hw/xtensa: Use MachineClass->default_nic in the virt machine

    Mark the default NIC via the new MachineClass->default_nic setting
    so that the machine-defaults code in vl.c can decide whether the
    default NIC is usable or not (for example when compiling with the
    "--without-default-devices" configure switch).
    
    Message-Id: <20230523110435.1375774-6-thuth@redhat.com>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Tested-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    huth committed May 26, 2023
    Copy the full SHA
    69720ff View commit details
    Browse the repository at this point in the history
  6. hw/arm: Use MachineClass->default_nic in the sbsa-ref machine

    Mark the default NIC via the new MachineClass->default_nic setting
    so that the machine-defaults code in vl.c can decide whether the
    default NIC is usable or not (for example when compiling with the
    "--without-default-devices" configure switch).
    
    Message-Id: <20230524082037.1620952-1-thuth@redhat.com>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Tested-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    huth committed May 26, 2023
    Copy the full SHA
    611eda5 View commit details
    Browse the repository at this point in the history
  7. hw/mips: Use MachineClass->default_nic in the virt machine

    Mark the default NIC via the new MachineClass->default_nic setting
    so that the machine-defaults code in vl.c can decide whether the
    default NIC is usable or not (for example when compiling with the
    "--without-default-devices" configure switch).
    
    Inspired-by: Thomas Huth <thuth@redhat.com>
    Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Message-Id: <20230524122559.28863-1-philmd@linaro.org>
    Reviewed-by: Thomas Huth <thuth@redhat.com>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    philmd authored and huth committed May 26, 2023
    Copy the full SHA
    bdc20bf View commit details
    Browse the repository at this point in the history
  8. tests/qtest/usb-hcd-uhci-test: Check whether "usb-storage" is available

    The "usb-storage" device might not have been compiled into the binary
    (e.g. when compiling with "--without-default-devices"), so we have to
    check first before using it.
    
    Message-Id: <20230525081016.1870364-2-thuth@redhat.com>
    Reviewed-by: Ani Sinha <anisinha@redhat.com>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    huth committed May 26, 2023
    Copy the full SHA
    54c8ff2 View commit details
    Browse the repository at this point in the history
  9. tests/qtest: Check for virtio-blk before using -cdrom with the arm vi…

    …rt machine
    
    The arm "virt" machine needs "virtio-blk-pci" for devices that get attached
    via the "-cdrom" option. Since this is an optional device that might not
    be available in the binary, we should check for the availability of this
    device first before using it.
    
    Message-Id: <20230525081016.1870364-3-thuth@redhat.com>
    Reviewed-by: Fabiano Rosas <farosas@suse.de>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    huth committed May 26, 2023
    Copy the full SHA
    8c730de View commit details
    Browse the repository at this point in the history
  10. tests/qtest/rtl8139-test: Check whether the rtl8139 device is available

    Though we are already using CONFIG_RTL8139_PCI in the meson.build file
    for testing whether the rtl8139 device is available or not, this is not
    enough: The CONFIG switch might have been selected by another target
    (e.g. the mips fuloong2e machine has the rtl8139 chip soldered on the
    board), so CONFIG_RTL8139_PCI ends up in config_all_devices and the
    test then gets executed on x86. We need an additional run-time check
    to be on the safe side to make this test also work when configure has
    been run with "--without-default-devices".
    
    Message-Id: <20230525081016.1870364-4-thuth@redhat.com>
    Reviewed-by: Fabiano Rosas <farosas@suse.de>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    huth committed May 26, 2023
    Copy the full SHA
    f5af1da View commit details
    Browse the repository at this point in the history
  11. tests/qtest/usb-hcd-ehci-test: Check for EHCI and UHCI HCDs before us…

    …ing them
    
    The devices might not be available in the binary (e.g. when compiling
    with "--without-default-devices"), so we have to check before we can
    use them.
    
    Message-Id: <20230525081016.1870364-5-thuth@redhat.com>
    Reviewed-by: Ani Sinha <anisinha@redhat.com>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    huth committed May 26, 2023
    Copy the full SHA
    5af3438 View commit details
    Browse the repository at this point in the history
  12. tests/qtest/ac97-test: add up-/downsampling tests

    Test if the audio subsystem can handle extreme up- and down-
    sampling ratios like 44100/1 and 1/44100. For some time these
    used to trigger QEMU aborts. The test was taken from
    https://gitlab.com/qemu-project/qemu/-/issues/71 where it was
    used to demonstrate a very different issue.
    
    Suggested-by: Marc-André Lureau <marcandre.lureau@redhat.com>
    Signed-off-by: Volker Rümelin <vr_qemu@t-online.de>
    Message-Id: <20230520113313.5177-1-vr_qemu@t-online.de>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Volker Rümelin authored and huth committed May 26, 2023
    Copy the full SHA
    031616c View commit details
    Browse the repository at this point in the history
  13. machine: do not crash if default RAM backend name has been stolen

    QEMU aborts when default RAM backend should be used (i.e. no
    explicit '-machine memory-backend=' specified) but user
    has created an object which 'id' equals to default RAM backend
    name used by board.
    
     $QEMU -machine pc \
           -object memory-backend-ram,id=pc.ram,size=4294967296
    
     Actual results:
     QEMU 7.2.0 monitor - type 'help' for more information
     (qemu) Unexpected error in object_property_try_add() at ../qom/object.c:1239:
     qemu-kvm: attempt to add duplicate property 'pc.ram' to object (type 'container')
     Aborted (core dumped)
    
    Instead of abort, check for the conflicting 'id' and exit with
    an error, suggesting how to remedy the issue.
    
    Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=2207886
    Signed-off-by: Igor Mammedov <imammedo@redhat.com>
    Message-Id: <20230522131717.3780533-1-imammedo@redhat.com>
    Tested-by: Thomas Huth <thuth@redhat.com>
    Reviewed-by: Thomas Huth <thuth@redhat.com>
    Reviewed-by: Shaoqin Huang <shahuang@redhat.com>
    Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    Igor Mammedov authored and huth committed May 26, 2023
    Copy the full SHA
    a37531f View commit details
    Browse the repository at this point in the history
  14. lsi53c895a: disable reentrancy detection for MMIO region, too

    While trying to use a SCSI disk on the LSI controller with an
    older version of Fedora (25), I'm getting:
    
     qemu: warning: Blocked re-entrant IO on MemoryRegion: lsi-mmio at addr: 0x34
    
    and the SCSI controller is not usable. Seems like we have to
    disable the reentrancy checker for the MMIO region, too, to
    get this working again.
    
    The problem could be reproduced it like this:
    
    ./qemu-system-x86_64 -accel kvm -m 2G -machine q35 \
     -device lsi53c810,id=lsi1 -device scsi-hd,drive=d0 \
     -drive if=none,id=d0,file=.../somedisk.qcow2 \
     -cdrom Fedora-Everything-netinst-i386-25-1.3.iso
    
    Where somedisk.qcow2 is an image that contains already some partitions
    and file systems.
    
    In the boot menu of Fedora, go to
    "Troubleshooting" -> "Rescue a Fedora system" -> "3) Skip to shell"
    
    Then check "dmesg | grep -i 53c" for failure messages, and try to mount
    a partition from somedisk.qcow2.
    
    Message-Id: <20230516090556.553813-1-thuth@redhat.com>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    huth committed May 26, 2023
    Copy the full SHA
    d139fe9 View commit details
    Browse the repository at this point in the history
  15. hw/scsi/lsi53c895a: Fix reentrancy issues in the LSI controller (CVE-…

    …2023-0330)
    
    We cannot use the generic reentrancy guard in the LSI code, so
    we have to manually prevent endless reentrancy here. The problematic
    lsi_execute_script() function has already a way to detect whether
    too many instructions have been executed - we just have to slightly
    change the logic here that it also takes into account if the function
    has been called too often in a reentrant way.
    
    The code in fuzz-lsi53c895a-test.c has been taken from an earlier
    patch by Mauro Matteo Cascella.
    
    Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1563
    Message-Id: <20230522091011.1082574-1-thuth@redhat.com>
    Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
    Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
    Signed-off-by: Thomas Huth <thuth@redhat.com>
    huth committed May 26, 2023
    Copy the full SHA
    b987718 View commit details
    Browse the repository at this point in the history
  16. target/loongarch: Fix LD/ST{LE/GT} instructions get wrong CSR_ERA and…

    … CSR_BADV
    
    1.helper_asrtle_d/helper_asrtgt_d need use GETPC() to get PC;
    2 LD/ST{LE/GT} need set CSR_BADV = gpr[rj];
    3 ASRTLE.D/ASRTGT.D also write CSR_BADV, but this value is random
      and has no reference value.
    
    Signed-off-by: Song Gao <gaosong@loongson.cn>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Message-Id: <20230515130042.2719712-1-gaosong@loongson.cn>
    gaosong-loongson committed May 26, 2023
    Copy the full SHA
    2e2ca3c View commit details
    Browse the repository at this point in the history
  17. target/loongarch: Fix the vinsgr2vr/vpickve2gr instructions cause sys…

    …tem coredump
    
    The vinsgr2vr/vpickve2gr instructions need use get_src/get_dst to get
    gpr registers value, not cpu_gpr[]. The $zero register does not
    have cpu_gpr[0] allocated.
    
    Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1662
    
    Signed-off-by: Song Gao <gaosong@loongson.cn>
    Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
    Message-Id: <20230525120005.2223413-1-gaosong@loongson.cn>
    gaosong-loongson committed May 26, 2023
    Copy the full SHA
    65bfaaa View commit details
    Browse the repository at this point in the history
  18. Merge tag 'pull-request-2023-05-26' of https://gitlab.com/thuth/qemu

    …into staging
    
    * Use MachineClass->default_nic in more machines to allow running them
      without "--nodefaults" in builds that used "--without-default-devices"
    * Improve qtests for such builds
    * Add up-/downsampling qtest
    * Avoid crash if default RAM backend name has been stolen
    * Fix reentrant DMA problem in the lsi53c895a device (CVE-2023-0330)
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmRwdqsRHHRodXRoQHJl
    # ZGhhdC5jb20ACgkQLtnXdP5wLbXk6g//eQzVGv1Ep4ZusQXPDpFJLgBNq7JMOF6a
    # bWa6fTluzCn2ivnbgPEf0lV1TsCrUuQwqWlEozylltE6l4zbmIWBMO8F/6Wy0JZH
    # DuBrO9fio+nKhcEqeFLE+wTWUCiBqM66n8LL+rznO3RjXv2QU8zhk9owmsEKZUV0
    # vXrMO5XdUO/dTrxyBdVjbok9L1UpkF+Sp9LEHNxIJZnAqhVmx13jnKq6WTrDR/fX
    # ZwGbwWxsnTZl5PuPsHePdTWhXigzZJYcI5TSfcdTVHbzIxVKzFIvTX7stKxySL3b
    # 3rXqmkmdozi28UPq7kXvLRoN8VscORgC3J+0izVxd1P0q+sh6p+hF/8T1r0UCqWa
    # cgPoqGP5fcqfQiQxdaPbm3Ar9qscZPqzpZWxzjFQsptxf69RIEg+8XZq/EP+6g+c
    # GxCh1cqugLdWvZPpBjoGIDlftxJZ99rMKnOZJEudaAIDzRWbNBuqzVo5osj8n5ht
    # m68Nanlil451+ySuTS7iiWyyKXF6hIfe5I6A72QdxMPeHsavcCk5D5AN76dFSTmN
    # XWWqlk9CNYbvaYSIqyxJpANiwA5Y0j7r6GVXdWFZ9YRt//+z2rMwOrZIqYyvoscE
    # 5p+ul/qgUq10XkNwI9t1pd9DX8g+5yuIY0chfC9G1B0AuiPHzvmszORBYY+8+7GT
    # 2Rwq/HqraC4=
    # =eab7
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Fri 26 May 2023 02:06:51 AM PDT
    # 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-05-26' of https://gitlab.com/thuth/qemu:
      hw/scsi/lsi53c895a: Fix reentrancy issues in the LSI controller (CVE-2023-0330)
      lsi53c895a: disable reentrancy detection for MMIO region, too
      machine: do not crash if default RAM backend name has been stolen
      tests/qtest/ac97-test: add up-/downsampling tests
      tests/qtest/usb-hcd-ehci-test: Check for EHCI and UHCI HCDs before using them
      tests/qtest/rtl8139-test: Check whether the rtl8139 device is available
      tests/qtest: Check for virtio-blk before using -cdrom with the arm virt machine
      tests/qtest/usb-hcd-uhci-test: Check whether "usb-storage" is available
      hw/mips: Use MachineClass->default_nic in the virt machine
      hw/arm: Use MachineClass->default_nic in the sbsa-ref machine
      hw/xtensa: Use MachineClass->default_nic in the virt machine
      hw/loongarch64: Use MachineClass->default_nic in the virt machine
      hw/arm: Use MachineClass->default_nic in the virt machine
      hw/alpha: Use MachineClass->default_nic in the alpha machine
      hw/hppa: Use MachineClass->default_nic in the hppa machine
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
    rth7680 committed May 26, 2023
    Copy the full SHA
    9cb47a1 View commit details
    Browse the repository at this point in the history
  19. Merge tag 'pull-loongarch-20230526' of https://gitlab.com/gaosong/qemu

    …into staging
    
    pull-loongarch-20230526
    
    # -----BEGIN PGP SIGNATURE-----
    #
    # iLMEAAEIAB0WIQS4/x2g0v3LLaCcbCxAov/yOSY+3wUCZHB6VwAKCRBAov/yOSY+
    # 390YA/98bGE+W8NGBoKI4sxke6LE6jbF1vYiOz4DiqvbGFcyL+sYKnlN92mpfNaP
    # K8BlgD3kvL7wV/DtCGTq4c0aAtUmSZNCC1w7PSlOkFxkJ+QONQGMGZKmI75BRYdY
    # Q/JQxUG02Hm4K/ghJDMGAm3+m+VaZaqxYNCv/6gLhmTERB5l5A==
    # =yu/e
    # -----END PGP SIGNATURE-----
    # gpg: Signature made Fri 26 May 2023 02:22:31 AM PDT
    # gpg:                using RSA key B8FF1DA0D2FDCB2DA09C6C2C40A2FFF239263EDF
    # gpg: Good signature from "Song Gao <m17746591750@163.com>" [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: B8FF 1DA0 D2FD CB2D A09C  6C2C 40A2 FFF2 3926 3EDF
    
    * tag 'pull-loongarch-20230526' of https://gitlab.com/gaosong/qemu:
      target/loongarch: Fix the vinsgr2vr/vpickve2gr instructions cause system coredump
      target/loongarch: Fix LD/ST{LE/GT} instructions get wrong CSR_ERA and CSR_BADV
    
    Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
    rth7680 committed May 26, 2023
    Copy the full SHA
    f9bdb38 View commit details
    Browse the repository at this point in the history