Skip to content
Snippets Groups Projects
  1. Jan 12, 2024
  2. Jan 11, 2024
  3. Jan 08, 2024
  4. Jan 05, 2024
  5. Dec 26, 2023
  6. Dec 22, 2023
    • Kevin Wolf's avatar
      iotests: Basic tests for internal snapshots · 11b0730d
      Kevin Wolf authored
      
      We have a few test cases that include tests for corner case aspects of
      internal snapshots, but nothing that tests that they actually function
      as snapshots or that involves deleting a snapshot. Add a test for this
      kind of basic internal snapshot functionality.
      
      The error cases include a regression test for the crash we just fixed
      with snapshot operations on inactive images.
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Message-ID: <20231201142520.32255-4-kwolf@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      (cherry picked from commit bb6e2511eb48539b7dcbcb5f47772e156b9c45d1)
      Signed-off-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
      11b0730d
    • Kevin Wolf's avatar
      vl: Improve error message for conflicting -incoming and -loadvm · 64537ff1
      Kevin Wolf authored
      
      Currently, the conflict between -incoming and -loadvm is only detected
      when loading the snapshot fails because the image is still inactive for
      the incoming migration. This results in a suboptimal error message:
      
      $ ./qemu-system-x86_64 -hda /tmp/test.qcow2 -loadvm foo -incoming defer
      qemu-system-x86_64: Device 'ide0-hd0' is writable but does not support snapshots
      
      Catch the situation already in qemu_validate_options() to improve the
      message:
      
      $ ./qemu-system-x86_64 -hda /tmp/test.qcow2 -loadvm foo -incoming defer
      qemu-system-x86_64: 'incoming' and 'loadvm' options are mutually exclusive
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Message-ID: <20231201142520.32255-3-kwolf@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      (cherry picked from commit 5a7f21efaf99c60614fe1967be1c0f9aa46c526e)
      Signed-off-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
      64537ff1
    • Kevin Wolf's avatar
      block: Fix crash when loading snapshot on inactive node · e2e01b3a
      Kevin Wolf authored
      
      bdrv_is_read_only() only checks if the node is configured to be
      read-only eventually, but even if it returns false, writing to the node
      may not be permitted at the moment (because it's inactive).
      
      bdrv_is_writable() checks that the node can be written to right now, and
      this is what the snapshot operations really need.
      
      Change bdrv_can_snapshot() to use bdrv_is_writable() to fix crashes like
      the following:
      
      $ ./qemu-system-x86_64 -hda /tmp/test.qcow2 -loadvm foo -incoming defer
      qemu-system-x86_64: ../block/io.c:1990: int bdrv_co_write_req_prepare(BdrvChild *, int64_t, int64_t, BdrvTrackedRequest *, int): Assertion `!(bs->open_flags & BDRV_O_INACTIVE)' failed.
      
      The resulting error message after this patch isn't perfect yet, but at
      least it doesn't crash any more:
      
      $ ./qemu-system-x86_64 -hda /tmp/test.qcow2 -loadvm foo -incoming defer
      qemu-system-x86_64: Device 'ide0-hd0' is writable but does not support snapshots
      
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      Message-ID: <20231201142520.32255-2-kwolf@redhat.com>
      Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
      (cherry picked from commit d3007d348adaaf04ee8b099a475282034a662414)
      Signed-off-by: default avatarMichael Tokarev <mjt@tls.msk.ru>
      e2e01b3a
  7. Dec 19, 2023
  8. Dec 12, 2023
  9. Dec 06, 2023
    • Stefan Hajnoczi's avatar
      9c74490b
    • Michael Roth's avatar
      i386/sev: Avoid SEV-ES crash due to missing MSR_EFER_LMA bit · 5746f70d
      Michael Roth authored
      
      Commit 7191f24c ("accel/kvm/kvm-all: Handle register access errors")
      added error checking for KVM_SET_SREGS/KVM_SET_SREGS2. In doing so, it
      exposed a long-running bug in current KVM support for SEV-ES where the
      kernel assumes that MSR_EFER_LMA will be set explicitly by the guest
      kernel, in which case EFER write traps would result in KVM eventually
      seeing MSR_EFER_LMA get set and recording it in such a way that it would
      be subsequently visible when accessing it via KVM_GET_SREGS/etc.
      
      However, guest kernels currently rely on MSR_EFER_LMA getting set
      automatically when MSR_EFER_LME is set and paging is enabled via
      CR0_PG_MASK. As a result, the EFER write traps don't actually expose the
      MSR_EFER_LMA bit, even though it is set internally, and when QEMU
      subsequently tries to pass this EFER value back to KVM via
      KVM_SET_SREGS* it will fail various sanity checks and return -EINVAL,
      which is now considered fatal due to the aforementioned QEMU commit.
      
      This can be addressed by inferring the MSR_EFER_LMA bit being set when
      paging is enabled and MSR_EFER_LME is set, and synthesizing it to ensure
      the expected bits are all present in subsequent handling on the host
      side.
      
      Ultimately, this handling will be implemented in the host kernel, but to
      avoid breaking QEMU's SEV-ES support when using older host kernels, the
      same handling can be done in QEMU just after fetching the register
      values via KVM_GET_SREGS*. Implement that here.
      
      Cc: Paolo Bonzini <pbonzini@redhat.com>
      Cc: Marcelo Tosatti <mtosatti@redhat.com>
      Cc: Tom Lendacky <thomas.lendacky@amd.com>
      Cc: Akihiko Odaki <akihiko.odaki@daynix.com>
      Cc: Philippe Mathieu-Daudé <philmd@linaro.org>
      Cc: Lara Lazier <laramglazier@gmail.com>
      Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
      Cc: Maxim Levitsky <mlevitsk@redhat.com>
      Cc:  <kvm@vger.kernel.org>
      Fixes: 7191f24c ("accel/kvm/kvm-all: Handle register access errors")
      Signed-off-by: default avatarMichael Roth <michael.roth@amd.com>
      Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      Message-ID: <20231206155821.1194551-1-michael.roth@amd.com>
      5746f70d
  10. Dec 05, 2023
    • Stefan Hajnoczi's avatar
      Merge tag 'pull-ufs-20231205' of https://gitlab.com/jeuk20.kim/qemu into staging · d451e32c
      Stefan Hajnoczi authored
      ufs fixes for 8.2
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQIzBAABCgAdFiEEUBfYMVl8eKPZB+73EuIgTA5dtgIFAmVurjcACgkQEuIgTA5d
      # tgLWVBAAkzus4nN2+Z0H23VUmeBPCLPFXRSkK8mOWC3ymbX3kiy/IjgM7Ept6QWA
      # btssTf3YEeDtycgbrb5GZ4kEfKThDN7bbGRHvCW5bjwkyLQN1Ys2K61CTRX0VhSi
      # U4HDE3gCm+LpO28BuV/1KunlSH4TWjt76AB6YG5PuyzSH+AbC8yY7m+VSJTmCw1k
      # cZv0TQ+9lqWc4C6ziETV8UqhhltBmd/57P3xFDKhYNl0EtzxnKGSZ2szzWqE7guY
      # DsmTlfB5bnkYPE51xxTcJnRj907utNrIfa2kbu9wXU/GuPuEf9QkDo1Dt3t1Z0Zm
      # OZPkloXC2eNufVcGYVJa2PylRjwFlg01IuhYmlhsgerg5LZz2RIyrWM61JTONF2J
      # 6EvO89e2S3XpBbnl2ugf2rMIdW1tlLSWhnLZD+jZzOu+V2TeLm6/onHWCVQ02sLr
      # ddDVpf2djvUsmRvcBBYlI40FcC9Wt828Spm+wkRsGHC+VbAg2al6jRNXyJ2LWeiS
      # wGsAwRV6XhQz996uMOWTA7jEsAawHUFgYCsH4bgiqiWEn+FblufY2iicRxY4ZsJA
      # GXpvxGoUHWE8e0XjXG1BnRFo2Q5ns9SRl5gx5X7rcmIKUGGCh3ZI72zfeVgCjm7b
      # 5/CV/YzKuCRWJCYcORguli1GVuPO01FJrBloTJc0OSaDAtZL2Mg=
      # =o2kr
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Mon 04 Dec 2023 23:59:35 EST
      # gpg:                using RSA key 5017D831597C78A3D907EEF712E2204C0E5DB602
      # gpg: Good signature from "Jeuk Kim <jeuk20.kim@samsung.com>" [unknown]
      # gpg:                 aka "Jeuk Kim <jeuk20.kim@gmail.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: 5017 D831 597C 78A3 D907  EEF7 12E2 204C 0E5D B602
      
      * tag 'pull-ufs-20231205' of https://gitlab.com/jeuk20.kim/qemu
      
      :
        hw/ufs: avoid generating the same ID string for different LU devices
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      d451e32c
    • Akinobu Mita's avatar
      hw/ufs: avoid generating the same ID string for different LU devices · 80a37b03
      Akinobu Mita authored
      
      QEMU would not start when trying to create two UFS host controllers and
      a UFS logical unit for each with the following options:
      
      -device ufs,id=bus0 \
      -device ufs-lu,drive=drive1,bus=bus0,lun=0 \
      -device ufs,id=bus1 \
      -device ufs-lu,drive=drive2,bus=bus1,lun=0 \
      
      This is because the same ID string ("0:0:0/scsi-disk") is generated
      for both UFS logical units.
      
      To fix this issue, prepend the parent pci device's path to make
      the ID string unique.
      ("0000:00:03.0/0:0:0/scsi-disk" and "0000:00:04.0/0:0:0/scsi-disk")
      
      Resolves: #2018
      Fixes: 096434fe ("hw/ufs: Modify lu.c to share codes with SCSI subsystem")
      Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
      Reviewed-by: default avatarJeuk Kim <jeuk20.kim@samsung.com>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-Id: <20231204150543.48252-1-akinobu.mita@gmail.com>
      Signed-off-by: default avatarJeuk Kim <jeuk20.kim@samsung.com>
      80a37b03
  11. Dec 04, 2023
    • Stefan Hajnoczi's avatar
      Merge tag 'misc-fixes-20231204' of https://github.com/philmd/qemu into staging · eeaaf96f
      Stefan Hajnoczi authored
      Misc fixes for 8.2
      
      - memory: Avoid unaligned accesses (Patrick)
      - target/riscv: Fix variable shadowing (Daniel)
      - tests/avocado: Update URL, skip flaky test (Alex, Phil)
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQIzBAABCAAdFiEE+qvnXhKRciHc/Wuy4+MsLN6twN4FAmVt7w4ACgkQ4+MsLN6t
      # wN7AzA/+N1ec1I2IC0LYT8ThBCyV/92o+1FH5KaIxiVN5Ty3cACnGAac8IJ1K2tC
      # 5WG8Dxg4rq+bM16lUq9ME7k82Y3PoxLoRQa8fuClFKdHMXU2sgY4OwTx2606cO4B
      # 0H4gR+i3XgrgIDo8qRezWX0JSd1Srrz9QPlcq6kJfDtRq7DU0329aOobkyzuUJPb
      # DJD9YPu9y0KokBCBuVlt5ypNSM9xJGRtznFt1sFfNyPgNOnie3s+fYpPn26UigcY
      # 8OY/PMS5hapDw/s/gFKWQb/nCTSRnJKZ5dODOjHXK8HvTbYHedw8C4apXyjSXwBI
      # fBerNEKJHwD/1QkFhbNCIwsidH72BWeHljrelbZlsUfXU1VcCqNiXV8d2R9ak3xt
      # lrW7UcytC1+PqhmIVEXAOA4cwJcq6Hs9IcZ9G9aMvcmlhY3Fv0UKMoRYgsGTULeP
      # ySQF3FDSc6dldsfBdwqHGHlwL12EYmpN2sIhEc5aQ9y5Mmuj2FBOYHUbPpyoVLpw
      # e45n9Epc43GUVCMj3lZNjWKd+87nGjwKOM3rpBlcaSG3JRkLUe8o5APxeYzePZfO
      # 2IOWcGnrUixsvWbNY+6JF98n5hQK7Va3h/e1YbS1K2OZ013LT1SNiZ1LOrl9KiXf
      # agY6HMukKbCpJAqpXnMbgWdxCb7GdtjVaWKIVEgejeZTVdH4f8Y=
      # =r21r
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Mon 04 Dec 2023 10:23:58 EST
      # gpg:                using RSA key FAABE75E12917221DCFD6BB2E3E32C2CDEADC0DE
      # gpg: Good signature from "Philippe Mathieu-Daudé (F4BUG) <f4bug@amsat.org>" [full]
      # Primary key fingerprint: FAAB E75E 1291 7221 DCFD  6BB2 E3E3 2C2C DEAD C0DE
      
      * tag 'misc-fixes-20231204' of https://github.com/philmd/qemu
      
      :
        tests/avocado: mark ReplayKernelNormal.test_mips64el_malta as flaky
        tests/avocado: Update yamon-bin-02.22.zip URL
        target/riscv/kvm: fix shadowing in kvm_riscv_(get|put)_regs_csr
        system/memory: use ldn_he_p/stn_he_p
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      eeaaf96f
    • Stefan Hajnoczi's avatar
      Merge tag 'pull-target-arm-20231204-1' of... · db5e49e7
      Stefan Hajnoczi authored
      Merge tag 'pull-target-arm-20231204-1' of https://git.linaro.org/people/pmaydell/qemu-arm into staging
      
      target-arm queue:
       * Turn off SME if SVE is turned off (this combination doesn't
         currently work and QEMU will assert if you try it)
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQJNBAABCAA3FiEE4aXFk81BneKOgxXPPCUl7RQ2DN4FAmVt3wQZHHBldGVyLm1h
      # eWRlbGxAbGluYXJvLm9yZwAKCRA8JSXtFDYM3vrmD/9zu48IxCdHFSshMRmXz6kI
      # tMvTrsMSOGXfuQqCbvLn3CUP/La50Yt/T1C2TKzVII1W8zpw8wEEvraCBjexzUzK
      # Jcjw0dPSIllQOHBkoUGsgqA0+UkhfIwH0po10rxm1L+ZP3DfISVdyDV9oxCNfEO0
      # pGXI1eAN9GIQtJtUj3kZE+RUoamJfoSjlm5XVeX3T+utEU7yf1461L1/qaylYOrW
      # wao72ffbuf41jRJwnVmMFoIPrwueYtEeuKl/EgYU4YPxkSQEo34u6d9fz2Irt6/Y
      # utO2SffhhmlxQaFhgPX3hvAsfapMt/p2Jy6oUpThOjN75adCq+g1CYj7lzEfIX16
      # kb2CY8zQ8NboJtgnkiQAA062myURnk/kmulv0OF6Hh0jHSuLzuMMLcCfBJgq4H6s
      # mnBCJfetwRgwqcSl1JTfrMm4wYOLmSrmOcM5JjYwY2YYjnFXI+XB1MdKm0h8cROG
      # nFu5TZtNnxgzqBgoh1140AYN851Y1dshczZIHb1/YuNpBIl+ZUO4v5sRT3KBSzb+
      # G21570neBv8QcfDSgrLesrjNBDREfkaWEu9BM85461uTjbCLG8RUpn+Jd4VtpkNe
      # YVzomhuM9CI5CmYdrTMJ74gnZUtAT9Q3FTcfGL8G4KiSIe85BTw+gEy4PhLXD6FT
      # 68fP1M+s8/hsuXCJYbvmAA==
      # =K/u0
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Mon 04 Dec 2023 09:15:32 EST
      # 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]
      # gpg:                 aka "Peter Maydell <peter@archaic.org.uk>" [unknown]
      # Primary key fingerprint: E1A5 C593 CD41 9DE2 8E83  15CF 3C25 25ED 1436 0CDE
      
      * tag 'pull-target-arm-20231204-1' of https://git.linaro.org/people/pmaydell/qemu-arm
      
      :
        target/arm: Disable SME if SVE is disabled
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      db5e49e7
    • Stefan Hajnoczi's avatar
      Merge tag 'pull-request-2023-12-04' of https://gitlab.com/thuth/qemu into staging · 169c4e77
      Stefan Hajnoczi authored
      * Fix wording in iotest 149
      * Fix whitespace issues in sh4 code (ignore checkpatch.pl warnings here)
      * Make sure to check return values in qtests
      
      # -----BEGIN PGP SIGNATURE-----
      #
      # iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmVt4PwRHHRodXRoQHJl
      # ZGhhdC5jb20ACgkQLtnXdP5wLbWhYxAAm6ww++qfCh5uLrKjXrv/ZS+b+8UVMT+p
      # wOBNBz0RDpDahAwesxLABAg9b+fabLTx9OpOyQRgmM/ofCoW/Oi7xzCEwv9JPJX0
      # Kr7x5AMCTc2hPydxsMenWYZXLZXcc0HSkB+4yN5FTeOl8YPoRetegsGbiirGpod1
      # QyD/oLMZzBxqteF/m0a4gxEuwi3qgRVIOkdk8zeSBMAl6EUazsKR8sTrdCrkupHl
      # ddMKjRH4Gr2sXoZ8L/mr4T5FodVxAF1pcZnVyPYDlVgNK/V0IWDcbmFFNr0rXxCM
      # CZz7gIOZkpm/MXpVE9UEg++ZOQ16gDUNpvQRyNPgIn0vbiuF5kcXmUpstJWHDico
      # O98wgH6im3iC7xyaMTOq3pjSb9RNP4cmIw77EKJyS93RDAgiCX0ozN3zEkxsvZYu
      # hQadBd3TSUP6jxz2SWQ6irCwkElfozCc1cPfUyW0rFXjLqWei0UirWDdyN5dL8vk
      # pkupZG5p3jiiZs1hm+TQ4W1CPVZFTAW+LcI7V/Na3EBKQvrjYDlHMQdx0NaJh5e3
      # xn84bvTnuYfT/I63z9zqIbMwPQ5t+lJaR9ohkn9Q4tTEnHuMV9svON5rsRc3YE6p
      # XrR02G9zu4kVAKs51DFNWC9SLgviW+LB2DCe+e2CrqwPjiz+MeOVGEEre7/nnj/q
      # clP7u3MyX5A=
      # =rU6S
      # -----END PGP SIGNATURE-----
      # gpg: Signature made Mon 04 Dec 2023 09:23:56 EST
      # gpg:                using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
      # gpg:                issuer "thuth@redhat.com"
      # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
      # gpg:                 aka "Thomas Huth <thuth@redhat.com>" [full]
      # gpg:                 aka "Thomas Huth <huth@tuxfamily.org>" [full]
      # gpg:                 aka "Thomas Huth <th.huth@posteo.de>" [unknown]
      # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3  EAB9 2ED9 D774 FE70 2DB5
      
      * tag 'pull-request-2023-12-04' of https://gitlab.com/thuth/qemu
      
      :
        tests/qtest: check the return value
        sh4: Coding style: Remove tabs
        tests/qemu-iotests/149: Use more inclusive language in this test
      
      Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
      169c4e77
    • Alex Bennée's avatar
      tests/avocado: mark ReplayKernelNormal.test_mips64el_malta as flaky · 2e8ed6a9
      Alex Bennée authored
      
      I missed this when going through the recent failure logs. I can run
      the test 30 times without failure locally but it seems to hang pretty
      reliably on GitLab's CI infra-structure.
      
      Cc: Philippe Mathieu-Daudé <philmd@linaro.org>
      Signed-off-by: default avatarAlex Bennée <alex.bennee@linaro.org>
      Reviewed-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      Message-ID: <20231201201027.2689404-1-alex.bennee@linaro.org>
      Signed-off-by: default avatarPhilippe Mathieu-Daudé <philmd@linaro.org>
      2e8ed6a9
Loading