Skip to content
Snippets Groups Projects
  1. Nov 29, 2021
    • Richard Henderson's avatar
      Merge tag 'for_upstream' of git://git.kernel.org/pub/scm/virt/kvm/mst/qemu into staging · b1641c50
      Richard Henderson authored
      
      virtio,pci,pc: bugfixes
      
      Lots of small fixes all over the place.
      
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      
      # gpg: Signature made Mon 29 Nov 2021 02:50:06 PM CET
      # gpg:                using RSA key 5D09FD0871C8F85B94CA8A0D281F0DB8D28D5469
      # gpg:                issuer "mst@redhat.com"
      # gpg: Good signature from "Michael S. Tsirkin <mst@kernel.org>" [full]
      # gpg:                 aka "Michael S. Tsirkin <mst@redhat.com>" [full]
      
      * tag 'for_upstream' of git://git.kernel.org/pub/scm/virt/kvm/mst/qemu
      
      :
        Fix bad overflow check in hw/pci/pcie.c
        intel-iommu: ignore leaf SNP bit in scalable mode
        virtio-balloon: correct used length
        virtio-balloon: process all in sgs for free_page_vq
        vdpa: Add dummy receive callback
        failover: fix unplug pending detection
        virtio-mmio : fix the crash in the vm shutdown
      
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      b1641c50
    • Daniella Lee's avatar
      Fix bad overflow check in hw/pci/pcie.c · bacf58ca
      Daniella Lee authored
      
      Orginal qemu commit hash:14d02cfb
      
      In function pcie_add_capability, an assert contains the
      "offset < offset + size" expression.
      Both variable offset and variable size are uint16_t,
      the comparison is always true due to type promotion.
      The next expression may be the same.
      
      It might be like this:
      Thread 1 "qemu-system-x86" hit Breakpoint 1, pcie_add_capability (
          dev=0x555557ce5f10, cap_id=1, cap_ver=2 '\002', offset=256, size=72)
          at ../hw/pci/pcie.c:930
      930	{
      (gdb) n
      931	    assert(offset >= PCI_CONFIG_SPACE_SIZE);
      (gdb) n
      932	    assert(offset < offset + size);
      (gdb) p offset
      $1 = 256
      (gdb) p offset < offset + size
      $2 = 1
      (gdb) set offset=65533
      (gdb) p offset < offset + size
      $3 = 1
      (gdb) p offset < (uint16_t)(offset + size)
      $4 = 0
      
      Signed-off-by: default avatarDaniella Lee <daniellalee111@gmail.com>
      Message-Id: <20211126061324.47331-1-daniellalee111@gmail.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      bacf58ca
    • Jason Wang's avatar
      intel-iommu: ignore leaf SNP bit in scalable mode · 0192d667
      Jason Wang authored
      
      When booting with scalable mode, I hit this error:
      
      qemu-system-x86_64: vtd_iova_to_slpte: detected splte reserve non-zero iova=0xfffff002, level=0x1slpte=0x102681803)
      qemu-system-x86_64: vtd_iommu_translate: detected translation failure (dev=01:00:00, iova=0xfffff002)
      qemu-system-x86_64: New fault is not recorded due to compression of faults
      
      This is because the SNP bit is set for second level page table since
      Linux kernel commit 6c00612d0cba1 ("iommu/vt-d: Report right snoop
      capability when using FL for IOVA") even if SC is not supported by the
      hardware.
      
      To unbreak the guest, ignore the leaf SNP bit for scalable mode
      first. In the future we may consider to add SC support.
      
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Message-Id: <20211129033618.3857-1-jasowang@redhat.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
      0192d667
    • Jason Wang's avatar
      virtio-balloon: correct used length · d3f1f940
      Jason Wang authored
      
      Spec said:
      
      "and len the total of bytes written into the buffer."
      
      For inflateq, deflateq and statsq, we don't process in_sg so the used
      length should be zero. For free_page_vq, tough the pages could be
      changed by the device (in the destination), spec said:
      
      "Note: len is particularly useful for drivers using untrusted buffers:
      if a driver does not know exactly how much has been written by the
      device, the driver would have to zero the buffer in advance to ensure
      no data leakage occurs."
      
      So 0 should be used as well here.
      
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Message-Id: <20211129030841.3611-2-jasowang@redhat.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Reviewed-by: default avatarDavid Hildenbrand <david@redhat.com>
      d3f1f940
    • Jason Wang's avatar
      virtio-balloon: process all in sgs for free_page_vq · 0fe7245d
      Jason Wang authored
      
      We only process the first in sg which may lead to the bitmap of the
      pages belongs to following sgs were not cleared. This may result more
      pages to be migrated. Fixing this by process all in sgs for
      free_page_vq.
      
      Acked-by: default avatarDavid Hildenbrand <david@redhat.com>
      Signed-off-by: default avatarJason Wang <jasowang@redhat.com>
      Message-Id: <20211129030841.3611-1-jasowang@redhat.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      0fe7245d
    • Richard Henderson's avatar
      Merge tag 'pull-target-arm-20211129' of... · e750c101
      Richard Henderson authored
      Merge tag 'pull-target-arm-20211129' of https://git.linaro.org/people/pmaydell/qemu-arm into staging
      
      target-arm queue:
       * virt: Diagnose attempts to enable MTE or virt when using HVF accelerator
       * GICv3 ITS: Allow clearing of ITS CTLR Enabled bit
       * GICv3: Update cached state after LPI state changes
       * GICv3: Fix handling of LPIs in list registers
      
      # gpg: Signature made Mon 29 Nov 2021 11:34:46 AM CET
      # gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
      # gpg:                issuer "peter.maydell@linaro.org"
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [full]
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [full]
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [full]
      
      * tag 'pull-target-arm-20211129' of https://git.linaro.org/people/pmaydell/qemu-arm
      
      :
        hw/intc/arm_gicv3: fix handling of LPIs in list registers
        hw/intc/arm_gicv3: Add new gicv3_intid_is_special() function
        hw/intc/arm_gicv3: Update cached state after LPI state changes
        hw/intc: cannot clear GICv3 ITS CTLR[Enabled] bit
        hw/arm/virt: Extend nested and mte checks to hvf
      
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      e750c101
    • Peter Maydell's avatar
      hw/intc/arm_gicv3: fix handling of LPIs in list registers · 90feffad
      Peter Maydell authored
      
      It is valid for an OS to put virtual interrupt ID values into the
      list registers ICH_LR<n> which are greater than 1023.  This
      corresponds to (for example) KVM using the in-kernel emulated ITS to
      give a (nested) guest an ITS.  LPIs are delivered by the L1 kernel to
      the L2 guest via the list registers in the same way as non-LPI
      interrupts.
      
      QEMU's code for handling writes to ICV_IARn (which happen when the L2
      guest acknowledges an interrupt) and to ICV_EOIRn (which happen at
      the end of the interrupt) did not consider LPIs, so it would
      incorrectly treat interrupt IDs above 1023 as invalid.  Fix this by
      using the correct condition, which is gicv3_intid_is_special().
      
      Note that the condition in icv_dir_write() is correct -- LPIs
      are not valid there and so we want to ignore both "special" ID
      values and LPIs.
      
      (In the pseudocode this logic is in:
       - VirtualReadIAR0(), VirtualReadIAR1(), which call IsSpecial()
       - VirtualWriteEOIR0(), VirtualWriteEOIR1(), which call
           VirtualIdentifierValid(data, TRUE) meaning "LPIs OK"
       - VirtualWriteDIR(), which calls VirtualIdentifierValid(data, FALSE)
           meaning "LPIs not OK")
      
      This bug doesn't seem to have any visible effect on Linux L2 guests
      most of the time, because the two bugs cancel each other out: we
      neither mark the interrupt active nor deactivate it.  However it does
      mean that the L2 vCPU priority while the LPI handler is running will
      not be correct, so the interrupt handler could be unexpectedly
      interrupted by a different interrupt.
      
      (NB: this has nothing to do with using QEMU's emulated ITS.)
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarMarc Zyngier <maz@kernel.org>
      90feffad
  2. Nov 28, 2021
    • Eugenio Pérez's avatar
      vdpa: Add dummy receive callback · 846a1e85
      Eugenio Pérez authored
      
      Qemu falls back on userland handlers even if vhost-user and vhost-vdpa
      cases. These assumes a tap device can handle the packets.
      
      If a vdpa device fail to start, it can trigger a sigsegv because of
      that. Add dummy receiver that returns no progress so it can keep
      running.
      
      Fixes: 1e0a84ea ("vhost-vdpa: introduce vhost-vdpa net client")
      Signed-off-by: default avatarEugenio Pérez <eperezma@redhat.com>
      Message-Id: <20211125101614.76927-2-eperezma@redhat.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      846a1e85
    • Laurent Vivier's avatar
      failover: fix unplug pending detection · 9323f892
      Laurent Vivier authored
      
      Failover needs to detect the end of the PCI unplug to start migration
      after the VFIO card has been unplugged.
      
      To do that, a flag is set in pcie_cap_slot_unplug_request_cb() and reset in
      pcie_unplug_device().
      
      But since
          17858a16 ("hw/acpi/ich9: Set ACPI PCI hot-plug as default on Q35")
      we have switched to ACPI unplug and these functions are not called anymore
      and the flag not set. So failover migration is not able to detect if card
      is really unplugged and acts as it's done as soon as it's started. So it
      doesn't wait the end of the unplug to start the migration. We don't see any
      problem when we test that because ACPI unplug is faster than PCIe native
      hotplug and when the migration really starts the unplug operation is
      already done.
      
      See c000a9bd ("pci: mark device having guest unplug request pending")
          a99c4da9 ("pci: mark devices partially unplugged")
      
      Signed-off-by: default avatarLaurent Vivier <lvivier@redhat.com>
      Reviewed-by: default avatarAni Sinha <ani@anisinha.ca>
      Message-Id: <20211118133225.324937-4-lvivier@redhat.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      9323f892
    • Cindy Lu's avatar
      virtio-mmio : fix the crash in the vm shutdown · 7abba7c6
      Cindy Lu authored
      
      The root cause for this crash is the ioeventfd not stopped while the VM stop.
      The callback for vmstate_change was not implement in virtio-mmio bus
      
      Reproduce step
      load the vm with
       -M microvm \
        -netdev tap,id=net0,vhostforce,script=no,downscript=no  \
        -device virtio-net-device,netdev=net0\
      
      After the VM boot, login the vm and then shutdown the vm
      
      System will crash
      [Current thread is 1 (Thread 0x7ffff6edde00 (LWP 374378))]
      (gdb) bt
      0  0x00005555558f18b4 in qemu_flush_or_purge_queued_packets (purge=false, nc=0x55500252e850) at ../net/net.c:636
      1  qemu_flush_queued_packets (nc=0x55500252e850) at ../net/net.c:656
      2  0x0000555555b6c363 in virtio_queue_notify_vq (vq=0x7fffe7e2b010) at ../hw/virtio/virtio.c:2339
      3  virtio_queue_host_notifier_read (n=0x7fffe7e2b08c) at ../hw/virtio/virtio.c:3583
      4  0x0000555555de7b5a in aio_dispatch_handler (ctx=ctx@entry=0x5555567c5780, node=0x555556b83fd0) at ../util/aio-posix.c:329
      5  0x0000555555de8454 in aio_dispatch_ready_handlers (ready_list=<optimized out>, ctx=<optimized out>) at ../util/aio-posix.c:359
      6  aio_poll (ctx=0x5555567c5780, blocking=blocking@entry=false) at ../util/aio-posix.c:662
      7  0x0000555555cce0cc in monitor_cleanup () at ../monitor/monitor.c:645
      8  0x0000555555b06bd2 in qemu_cleanup () at ../softmmu/runstate.c:822
      9  0x000055555586e693 in main (argc=<optimized out>, argv=<optimized out>, envp=<optimized out>) at ../softmmu/main.c:51
      
      Signed-off-by: default avatarCindy Lu <lulu@redhat.com>
      Message-Id: <20211109023744.22387-1-lulu@redhat.com>
      Acked-by: default avatarJason Wang <jasowang@redhat.com>
      Reviewed-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      Signed-off-by: default avatarMichael S. Tsirkin <mst@redhat.com>
      7abba7c6
  3. Nov 26, 2021
    • Peter Maydell's avatar
      hw/intc/arm_gicv3: Add new gicv3_intid_is_special() function · b74d7c0e
      Peter Maydell authored
      
      The GICv3/v4 pseudocode has a function IsSpecial() which returns true
      if passed a "special" interrupt ID number (anything between 1020 and
      1023 inclusive).  We open-code this condition in a couple of places,
      so abstract it out into a new function gicv3_intid_is_special().
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Reviewed-by: default avatarMarc Zyngier <maz@kernel.org>
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      b74d7c0e
    • Peter Maydell's avatar
      hw/intc/arm_gicv3: Update cached state after LPI state changes · 101f27f3
      Peter Maydell authored
      
      The logic of gicv3_redist_update() is as follows:
       * it must be called in any code path that changes the state of
         (only) redistributor interrupts
       * if it finds a redistributor interrupt that is (now) higher
         priority than the previous highest-priority pending interrupt,
         then this must be the new highest-priority pending interrupt
       * if it does *not* find a better redistributor interrupt, then:
          - if the previous state was "no interrupts pending" then
            the new state is still "no interrupts pending"
          - if the previous best interrupt was not a redistributor
            interrupt then that remains the best interrupt
          - if the previous best interrupt *was* a redistributor interrupt,
            then the new best interrupt must be some non-redistributor
            interrupt, but we don't know which so must do a full scan
      
      In commit 17fb5e36 we effectively added the LPI interrupts
      as a kind of "redistributor interrupt" for this purpose, by adding
      cs->hpplpi to the set of things that gicv3_redist_update() considers
      before it gives up and decides to do a full scan of distributor
      interrupts. However we didn't quite get this right:
       * the condition check for "was the previous best interrupt a
         redistributor interrupt" must be updated to include LPIs
         in what it considers to be redistributor interrupts
       * every code path which updates the LPI state which
         gicv3_redist_update() checks must also call gicv3_redist_update():
         this is cs->hpplpi and the GICR_CTLR ENABLE_LPIS bit
      
      This commit fixes this by:
       * correcting the test on cs->hppi.irq in gicv3_redist_update()
       * making gicv3_redist_update_lpi() always call gicv3_redist_update()
       * introducing a new gicv3_redist_update_lpi_only() for the one
         callsite (the post-load hook) which must not call
         gicv3_redist_update()
       * making gicv3_redist_lpi_pending() always call gicv3_redist_update(),
         either directly or via gicv3_redist_update_lpi()
       * removing a couple of now-unnecessary calls to gicv3_redist_update()
         from some callers of those two functions
       * calling gicv3_redist_update() when the GICR_CTLR ENABLE_LPIS
         bit is cleared
      
      (This means that the not-file-local gicv3_redist_* LPI related
      functions now all take care of the updates of internally cached
      GICv3 information, in the same way the older functions
      gicv3_redist_set_irq() and gicv3_redist_send_sgi() do.)
      
      The visible effect of this bug was that when the guest acknowledged
      an LPI by reading ICC_IAR1_EL1, we marked it as not pending in the
      LPI data structure but still left it in cs->hppi so we would offer it
      to the guest again.  In particular for setups using an emulated GICv3
      and ITS and using devices which use LPIs (ie PCI devices) a Linux
      guest would complain "irq 54: nobody cared" and then hang.  (The hang
      was intermittent, presumably depending on the timing between
      different interrupts arriving and being completed.)
      
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Tested-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Reviewed-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Message-id: 20211124202005.989935-1-peter.maydell@linaro.org
      101f27f3
    • Shashi Mallela's avatar
      hw/intc: cannot clear GICv3 ITS CTLR[Enabled] bit · 2f459cd1
      Shashi Mallela authored
      
      When Enabled bit is cleared in GITS_CTLR,ITS feature continues
      to be enabled.This patch fixes the issue.
      
      Signed-off-by: default avatarShashi Mallela <shashi.mallela@linaro.org>
      Tested-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Message-id: 20211124182246.67691-1-shashi.mallela@linaro.org
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      2f459cd1
    • Alexander Graf's avatar
      hw/arm/virt: Extend nested and mte checks to hvf · bede0117
      Alexander Graf authored
      
      The virt machine has properties to enable MTE and Nested Virtualization
      support. However, its check to ensure the backing accel implementation
      supports it today only looks for KVM and bails out if it finds it.
      
      Extend the checks to HVF as well as it does not support either today.
      This will cause QEMU to print a useful error message rather than
      silently ignoring the attempt by the user to enable either MTE or
      the Virtualization extensions.
      
      Reported-by: default avatarsaar amar <saaramar5@gmail.com>
      Signed-off-by: default avatarAlexander Graf <agraf@csgraf.de>
      Message-id: 20211123122859.22452-1-agraf@csgraf.de
      Reviewed-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
      bede0117
    • Richard Henderson's avatar
      Fix version for v6.2.0-rc2 release · dd4b0de4
      Richard Henderson authored
      
      Typo while setting VERSION in the tag commit.
      
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      dd4b0de4
  4. Nov 24, 2021
  5. Nov 23, 2021
    • Richard Henderson's avatar
      Merge tag 'pull-block-2021-11-23' of https://gitlab.com/hreitz/qemu into staging · 35133781
      Richard Henderson authored
      Block patches for 6.2-rc2:
      - Fix memory leak in vvfat when vvfat_open() fails
      - iotest fixes for the gnutls crypto backend
      
      # gpg: Signature made Tue 23 Nov 2021 04:58:05 PM CET
      # gpg:                using RSA key CB62D7A0EE3829E45F004D34A1FA40D098019CDF
      # gpg:                issuer "hreitz@redhat.com"
      # gpg: Good signature from "Hanna Reitz <hreitz@redhat.com>" [marginal]
      # gpg: WARNING: This key is not certified with sufficiently trusted signatures!
      # gpg:          It is not certain that the signature belongs to the owner.
      # Primary key fingerprint: CB62 D7A0 EE38 29E4 5F00  4D34 A1FA 40D0 9801 9CDF
      
      * tag 'pull-block-2021-11-23' of https://gitlab.com/hreitz/qemu
      
      :
        iotests/149: Skip on unsupported ciphers
        iotests: Use aes-128-cbc
        block/vvfat.c fix leak when failure occurs
      
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      35133781
    • Hanna Reitz's avatar
      iotests/149: Skip on unsupported ciphers · 4dd218fd
      Hanna Reitz authored
      
      Whenever qemu-img or qemu-io report that some cipher is unsupported,
      skip the whole test, because that is probably because qemu has been
      configured with the gnutls crypto backend.
      
      We could taylor the algorithm list to what gnutls supports, but this is
      a test that is run rather rarely anyway (because it requires
      password-less sudo), and so it seems better and easier to skip it.  When
      this test is intentionally run to check LUKS compatibility, it seems
      better not to limit the algorithms but keep the list extensive.
      
      Signed-off-by: default avatarHanna Reitz <hreitz@redhat.com>
      Message-Id: <20211117151707.52549-3-hreitz@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      4dd218fd
    • Hanna Reitz's avatar
      iotests: Use aes-128-cbc · cb5a24d7
      Hanna Reitz authored
      
      Our gnutls crypto backend (which is the default as of 8bd0931f)
      supports neither twofish-128 nor the CTR mode.  CBC and aes-128 are
      supported by all of our backends (as far as I can tell), so use
      aes-128-cbc in our iotests.
      
      (We could also use e.g. aes-256-cbc, but the different key sizes would
      lead to different key slot offsets and so change the reference output
      more, which is why I went with aes-128.)
      
      Signed-off-by: default avatarHanna Reitz <hreitz@redhat.com>
      Message-Id: <20211117151707.52549-2-hreitz@redhat.com>
      Reviewed-by: default avatarDaniel P. Berrangé <berrange@redhat.com>
      Tested-by: default avatarThomas Huth <thuth@redhat.com>
      cb5a24d7
    • Daniella Lee's avatar
      block/vvfat.c fix leak when failure occurs · 22c36b75
      Daniella Lee authored
      
      Function vvfat_open called function enable_write_target and init_directories,
      and these functions malloc new memory for BDRVVVFATState::qcow_filename,
      BDRVVVFATState::used_clusters, and BDRVVVFATState::cluster_buff.
      
      When the specified folder does not exist ,it may contains memory leak.
      After init_directories function is executed, the vvfat_open return -EIO,
      and bdrv_open_driver goto label open_failed,
      the program use g_free(bs->opaque) to release BDRVVVFATState struct
      without members mentioned.
      
      command line:
      qemu-system-x86_64 -hdb <vdisk qcow file>  -usb -device usb-storage,drive=fat16
      -drive file=fat:rw:fat-type=16:"<path of a host folder does not exist>",
      id=fat16,format=raw,if=none
      
      enable_write_target called:
      (gdb) bt
          at ../block/vvfat.c:3114
          flags=155650, errp=0x7fffffffd780) at ../block/vvfat.c:1236
          node_name=0x0, options=0x555556fa45d0, open_flags=155650,
          errp=0x7fffffffd890) at ../block.c:1558
          errp=0x7fffffffd890) at ../block.c:1852
          reference=0x0, options=0x555556fa45d0, flags=40962, parent=0x555556f98cd0,
          child_class=0x555556b1d6a0 <child_of_bds>, child_role=19,
          errp=0x7fffffffda90) at ../block.c:3779
          options=0x555556f9cfc0, bdref_key=0x555556239bb8 "file",
          parent=0x555556f98cd0, child_class=0x555556b1d6a0 <child_of_bds>,
          child_role=19, allow_none=true, errp=0x7fffffffda90) at ../block.c:3419
          reference=0x0, options=0x555556f9cfc0, flags=8194, parent=0x0,
          child_class=0x0, child_role=0, errp=0x555556c98c40 <error_fatal>)
          at ../block.c:3726
          options=0x555556f757b0, flags=0, errp=0x555556c98c40 <error_fatal>)
          at ../block.c:3872
          options=0x555556f757b0, flags=0, errp=0x555556c98c40 <error_fatal>)
          at ../block/block-backend.c:436
          bs_opts=0x555556f757b0, errp=0x555556c98c40 <error_fatal>)
          at ../blockdev.c:608
          errp=0x555556c98c40 <error_fatal>) at ../blockdev.c:992
      ......
      
      Signed-off-by: default avatarDaniella Lee <daniellalee111@gmail.com>
      Message-Id: <20211119112553.352222-1-daniellalee111@gmail.com>
      [hreitz: Took commit message from v1]
      Signed-off-by: default avatarHanna Reitz <hreitz@redhat.com>
      22c36b75
    • Richard Henderson's avatar
      Merge tag 'pull-lu-20211123' of https://gitlab.com/rth7680/qemu into staging · 73e0f70e
      Richard Henderson authored
      Create common rewind_if_in_safe_syscall function.
      Resolves pointer type issues with uc_mcontext.pc
      on aarch64 between glibc and musl.
      
      # gpg: Signature made Tue 23 Nov 2021 09:47:07 AM CET
      # gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
      # gpg:                issuer "richard.henderson@linaro.org"
      # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [ultimate]
      
      * tag 'pull-lu-20211123' of https://gitlab.com/rth7680/qemu
      
      :
        linux-user/signal.c: Create a common rewind_if_in_safe_syscall
        linux-user: Add host_signal_set_pc to set pc in mcontext
      
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      73e0f70e
    • Richard Henderson's avatar
      Merge tag 'python-pull-request' of https://gitlab.com/jsnow/qemu into staging · 3c2a46d5
      Richard Henderson authored
      Python testing fixes for 6.2
      
      A few more fixes to help eliminate race conditions from
      device-crash-test, along with a fix that allows the SCM_RIGHTS
      functionality to work on hosts that only have Python 3.6.
      
      If this is too much this late in the RC process, I'd advocate for at
      least patch 7/7 by itself.
      
      # gpg: Signature made Tue 23 Nov 2021 03:37:17 AM CET
      # gpg:                using RSA key F9B7ABDBBCACDF95BE76CBD07DEF8106AAFC390E
      # gpg: Good signature from "John Snow (John Huston) <jsnow@redhat.com>" [full]
      
      * tag 'python-pull-request' of https://gitlab.com/jsnow/qemu
      
      :
        python/aqmp: fix send_fd_scm for python 3.6.x
        scripts/device-crash-test: Use a QMP timeout
        python/machine: handle "fast" QEMU terminations
        python/machine: move more variable initializations to _pre_launch
        python/machine: add instance disambiguator to default nickname
        python/machine: remove _remove_monitor_sockfile property
        python/machine: add @sock_dir property
      
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      3c2a46d5
    • Warner Losh's avatar
      linux-user/signal.c: Create a common rewind_if_in_safe_syscall · 07637888
      Warner Losh authored
      
      All instances of rewind_if_in_safe_syscall are the same, differing only
      in how the instruction point is fetched from the ucontext and the size
      of the registers. Use host_signal_pc and new host_signal_set_pc
      interfaces to fetch the pointer to the PC and adjust if needed. Delete
      all the old copies of rewind_if_in_safe_syscall.
      
      Acked-by: default avatarLaurent Vivier <laurent@vivier.eu>
      Signed-off-by: default avatarWarner Losh <imp@bsdimp.com>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-Id: <20211113045603.60391-3-imp@bsdimp.com>
      [rth: include safe-syscall.h, simplify ifdefs]
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      07637888
    • Warner Losh's avatar
      linux-user: Add host_signal_set_pc to set pc in mcontext · c6cda6a4
      Warner Losh authored
      
      Add a new function host_signal_set_pc to set the next pc in an
      mcontext. The caller should ensure this is a valid PC for execution.
      
      Acked-by: default avatarLaurent Vivier <laurent@vivier.eu>
      Signed-off-by: default avatarWarner Losh <imp@bsdimp.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Reviewed-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      Message-Id: <20211113045603.60391-2-imp@bsdimp.com>
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      c6cda6a4
    • Richard Henderson's avatar
      Merge tag 'pull-target-arm-20211122-1' of... · 6d9c9603
      Richard Henderson authored
      Merge tag 'pull-target-arm-20211122-1' of https://git.linaro.org/people/pmaydell/qemu-arm into staging
      
      target-arm queue:
       * drop spurious bump of ITS vmstate version fields
      
      # gpg: Signature made Mon 22 Nov 2021 07:43:19 PM CET
      # gpg:                using RSA key E1A5C593CD419DE28E8315CF3C2525ED14360CDE
      # gpg:                issuer "peter.maydell@linaro.org"
      # gpg: Good signature from "Peter Maydell <peter.maydell@linaro.org>" [full]
      # gpg:                 aka "Peter Maydell <pmaydell@gmail.com>" [full]
      # gpg:                 aka "Peter Maydell <pmaydell@chiark.greenend.org.uk>" [full]
      
      * tag 'pull-target-arm-20211122-1' of https://git.linaro.org/people/pmaydell/qemu-arm
      
      :
        hw/intc/arm_gicv3_its: Revert version increments in vmstate_its
      
      Signed-off-by: default avatarRichard Henderson <richard.henderson@linaro.org>
      6d9c9603
  6. Nov 22, 2021
Loading