1. 28 Apr, 2022 7 commits
    • Lu Baolu's avatar
      vfio: Set DMA ownership for VFIO devices · 70693f47
      Lu Baolu authored
      Claim group dma ownership when an IOMMU group is set to a container,
      and release the dma ownership once the iommu group is unset from the
      container.
      
      This change disallows some unsafe bridge drivers to bind to non-ACS
      bridges while devices under them are assigned to user space. This is an
      intentional enhancement and possibly breaks some existing
      configurations. The recommendation to such an affected user would be
      that the previously allowed host bridge driver was unsafe for this use
      case and to continue to enable assignment of devices within that group,
      the driver should be unbound from the bridge device or replaced with the
      pci-stub driver.
      
      For any bridge driver, we consider it unsafe if it satisfies any of the
      following conditions:
      
        1) The bridge driver uses DMA. Calling pci_set_master() or calling any
           kernel DMA API (dma_map_*() and etc.) is an indicate that the
           driver is doing DMA.
      
        2) If the bridge driver uses MMIO, it should be tolerant to hostile
           userspace also touching the same MMIO registers via P2P DMA
           attacks.
      
      If the bridge driver turns out to be a safe one, it could be used as
      before by setting the driver's .driver_managed_dma field, just like what
      we have done in the pcieport driver.
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Acked-by: default avatarAlex Williamson <alex.williamson@redhat.com>
      Link: https://lore.kernel.org/r/20220418005000.897664-8-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      70693f47
    • Lu Baolu's avatar
      PCI: portdrv: Set driver_managed_dma · c7d46984
      Lu Baolu authored
      If a switch lacks ACS P2P Request Redirect, a device below the switch can
      bypass the IOMMU and DMA directly to other devices below the switch, so
      all the downstream devices must be in the same IOMMU group as the switch
      itself.
      
      The existing VFIO framework allows the portdrv driver to be bound to the
      bridge while its downstream devices are assigned to user space. The
      pci_dma_configure() marks the IOMMU group as containing only devices
      with kernel drivers that manage DMA. Avoid this default behavior for the
      portdrv driver in order for compatibility with the current VFIO usage.
      
      We achieve this by setting ".driver_managed_dma = true" in pci_driver
      structure. It is safe because the portdrv driver meets below criteria:
      
      - This driver doesn't use DMA, as you can't find any related calls like
        pci_set_master() or any kernel DMA API (dma_map_*() and etc.).
      - It doesn't use MMIO as you can't find ioremap() or similar calls. It's
        tolerant to userspace possibly also touching the same MMIO registers
        via P2P DMA access.
      Suggested-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Suggested-by: default avatarKevin Tian <kevin.tian@intel.com>
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Link: https://lore.kernel.org/r/20220418005000.897664-7-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      c7d46984
    • Lu Baolu's avatar
      PCI: pci_stub: Set driver_managed_dma · 18c7a349
      Lu Baolu authored
      The current VFIO implementation allows pci-stub driver to be bound to
      a PCI device with other devices in the same IOMMU group being assigned
      to userspace. The pci-stub driver has no dependencies on DMA or the
      IOVA mapping of the device, but it does prevent the user from having
      direct access to the device, which is useful in some circumstances.
      
      The pci_dma_configure() marks the iommu_group as containing only devices
      with kernel drivers that manage DMA. For compatibility with the VFIO
      usage, avoid this default behavior for the pci_stub. This allows the
      pci_stub still able to be used by the admin to block driver binding after
      applying the DMA ownership to VFIO.
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Link: https://lore.kernel.org/r/20220418005000.897664-6-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      18c7a349
    • Lu Baolu's avatar
      bus: platform,amba,fsl-mc,PCI: Add device DMA ownership management · 512881ea
      Lu Baolu authored
      The devices on platform/amba/fsl-mc/PCI buses could be bound to drivers
      with the device DMA managed by kernel drivers or user-space applications.
      Unfortunately, multiple devices may be placed in the same IOMMU group
      because they cannot be isolated from each other. The DMA on these devices
      must either be entirely under kernel control or userspace control, never
      a mixture. Otherwise the driver integrity is not guaranteed because they
      could access each other through the peer-to-peer accesses which by-pass
      the IOMMU protection.
      
      This checks and sets the default DMA mode during driver binding, and
      cleanups during driver unbinding. In the default mode, the device DMA is
      managed by the device driver which handles DMA operations through the
      kernel DMA APIs (see Documentation/core-api/dma-api.rst).
      
      For cases where the devices are assigned for userspace control through the
      userspace driver framework(i.e. VFIO), the drivers(for example, vfio_pci/
      vfio_platfrom etc.) may set a new flag (driver_managed_dma) to skip this
      default setting in the assumption that the drivers know what they are
      doing with the device DMA.
      
      Calling iommu_device_use_default_domain() before {of,acpi}_dma_configure
      is currently a problem. As things stand, the IOMMU driver ignored the
      initial iommu_probe_device() call when the device was added, since at
      that point it had no fwspec yet. In this situation,
      {of,acpi}_iommu_configure() are retriggering iommu_probe_device() after
      the IOMMU driver has seen the firmware data via .of_xlate to learn that
      it actually responsible for the given device. As the result, before
      that gets fixed, iommu_use_default_domain() goes at the end, and calls
      arch_teardown_dma_ops() if it fails.
      
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Bjorn Helgaas <bhelgaas@google.com>
      Cc: Stuart Yoder <stuyoder@gmail.com>
      Cc: Laurentiu Tudor <laurentiu.tudor@nxp.com>
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Reviewed-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Tested-by: default avatarEric Auger <eric.auger@redhat.com>
      Link: https://lore.kernel.org/r/20220418005000.897664-5-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      512881ea
    • Lu Baolu's avatar
      amba: Stop sharing platform_dma_configure() · 4a6d9dd5
      Lu Baolu authored
      Stop sharing platform_dma_configure() helper as they are about to have
      their own bus dma_configure callbacks.
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Link: https://lore.kernel.org/r/20220418005000.897664-4-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      4a6d9dd5
    • Lu Baolu's avatar
      driver core: Add dma_cleanup callback in bus_type · 25f3bcfc
      Lu Baolu authored
      The bus_type structure defines dma_configure() callback for bus drivers
      to configure DMA on the devices. This adds the paired dma_cleanup()
      callback and calls it during driver unbinding so that bus drivers can do
      some cleanup work.
      
      One use case for this paired DMA callbacks is for the bus driver to check
      for DMA ownership conflicts during driver binding, where multiple devices
      belonging to a same IOMMU group (the minimum granularity of isolation and
      protection) may be assigned to kernel drivers or user space respectively.
      
      Without this change, for example, the vfio driver has to listen to a bus
      BOUND_DRIVER event and then BUG_ON() in case of dma ownership conflict.
      This leads to bad user experience since careless driver binding operation
      may crash the system if the admin overlooks the group restriction. Aside
      from bad design, this leads to a security problem as a root user, even with
      lockdown=integrity, can force the kernel to BUG.
      
      With this change, the bus driver could check and set the DMA ownership in
      driver binding process and fail on ownership conflicts. The DMA ownership
      should be released during driver unbinding.
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Link: https://lore.kernel.org/r/20220418005000.897664-3-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      25f3bcfc
    • Lu Baolu's avatar
      iommu: Add DMA ownership management interfaces · 1ea2a07a
      Lu Baolu authored
      Multiple devices may be placed in the same IOMMU group because they
      cannot be isolated from each other. These devices must either be
      entirely under kernel control or userspace control, never a mixture.
      
      This adds dma ownership management in iommu core and exposes several
      interfaces for the device drivers and the device userspace assignment
      framework (i.e. VFIO), so that any conflict between user and kernel
      controlled dma could be detected at the beginning.
      
      The device driver oriented interfaces are,
      
      	int iommu_device_use_default_domain(struct device *dev);
      	void iommu_device_unuse_default_domain(struct device *dev);
      
      By calling iommu_device_use_default_domain(), the device driver tells
      the iommu layer that the device dma is handled through the kernel DMA
      APIs. The iommu layer will manage the IOVA and use the default domain
      for DMA address translation.
      
      The device user-space assignment framework oriented interfaces are,
      
      	int iommu_group_claim_dma_owner(struct iommu_group *group,
      					void *owner);
      	void iommu_group_release_dma_owner(struct iommu_group *group);
      	bool iommu_group_dma_owner_claimed(struct iommu_group *group);
      
      The device userspace assignment must be disallowed if the DMA owner
      claiming interface returns failure.
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Signed-off-by: default avatarKevin Tian <kevin.tian@intel.com>
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Link: https://lore.kernel.org/r/20220418005000.897664-2-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      1ea2a07a
  2. 24 Apr, 2022 8 commits
  3. 23 Apr, 2022 13 commits
    • Linus Torvalds's avatar
      Merge tag 'arc-5.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · f3935926
      Linus Torvalds authored
      Pull ARC fixes from Vineet Gupta:
      
       - Assorted fixes
      
      * tag 'arc-5.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
        ARC: remove redundant READ_ONCE() in cmpxchg loop
        ARC: atomic: cleanup atomic-llsc definitions
        arc: drop definitions of pgd_index() and pgd_offset{, _k}() entirely
        ARC: dts: align SPI NOR node name with dtschema
        ARC: Remove a redundant memset()
        ARC: fix typos in comments
        ARC: entry: fix syscall_trace_exit argument
      f3935926
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 6fc2586d
      Linus Torvalds authored
      Pull SCSI fix from James Bottomley:
       "One fix for an information leak caused by copying a buffer to
        userspace without checking for error first in the sr driver"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: sr: Do not leak information in ioctl
      6fc2586d
    • Linus Torvalds's avatar
      Merge tag 'for-linus-5.18-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · b51bd23c
      Linus Torvalds authored
      Pull xen fixes from Juergen Gross:
       "A simple cleanup patch and a refcount fix for Xen on Arm"
      
      * tag 'for-linus-5.18-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        arm/xen: Fix some refcount leaks
        xen: Convert kmap() to kmap_local_page()
      b51bd23c
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2022-04-23' of git://anongit.freedesktop.org/drm/drm · 13bc32ba
      Linus Torvalds authored
      Pull more drm fixes from Dave Airlie:
       "Maarten was away, so Maxine stepped up and sent me the drm-fixes
        merge, so no point leaving it for another week.
      
        The big change is an OF revert around bridge/panels, it may have some
        driver fallout, but hopefully this revert gets them shook out in the
        next week easier.
      
        Otherwise it's a bunch of locking/refcounts across drivers, a radeon
        dma_resv logic fix and some raspberry pi panel fixes.
      
        panel:
         - revert of patch that broke panel/bridge issues
      
        dma-buf:
         - remove unused header file.
      
        amdgpu:
         - partial revert of locking change
      
        radeon:
         - fix dma_resv logic inversion
      
        panel:
         - pi touchscreen panel init fixes
      
        vc4:
         - build fix
         - runtime pm refcount fix
      
        vmwgfx:
         - refcounting fix"
      
      * tag 'drm-fixes-2022-04-23' of git://anongit.freedesktop.org/drm/drm:
        drm/amdgpu: partial revert "remove ctx->lock" v2
        Revert "drm: of: Lookup if child node has panel or bridge"
        Revert "drm: of: Properly try all possible cases for bridge/panel detection"
        drm/vc4: Use pm_runtime_resume_and_get to fix pm_runtime_get_sync() usage
        drm/vmwgfx: Fix gem refcounting and memory evictions
        drm/vc4: Fix build error when CONFIG_DRM_VC4=y && CONFIG_RASPBERRYPI_FIRMWARE=m
        drm/panel/raspberrypi-touchscreen: Initialise the bridge in prepare
        drm/panel/raspberrypi-touchscreen: Avoid NULL deref if not initialised
        dma-buf-map: remove renamed header file
        drm/radeon: fix logic inversion in radeon_sync_resv
      13bc32ba
    • Linus Torvalds's avatar
      Merge tag 'input-for-v5.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 0fe86b27
      Linus Torvalds authored
      Pull input fixes from Dmitry Torokhov:
      
       - a new set of keycodes to be used by marine navigation systems
      
       - minor fixes to omap4-keypad and cypress-sf drivers
      
      * tag 'input-for-v5.18-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: add Marine Navigation Keycodes
        Input: omap4-keypad - fix pm_runtime_get_sync() error checking
        Input: cypress-sf - register a callback to disable the regulators
      0fe86b27
    • Linus Torvalds's avatar
      Merge tag 'block-5.18-2022-04-22' of git://git.kernel.dk/linux-block · 8467f9e3
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Just two small regression fixes for bcache"
      
      * tag 'block-5.18-2022-04-22' of git://git.kernel.dk/linux-block:
        bcache: fix wrong bdev parameter when calling bio_alloc_clone() in do_bio_hook()
        bcache: put bch_bio_map() back to correct location in journal_write_unlocked()
      8467f9e3
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.18-2022-04-22' of git://git.kernel.dk/linux-block · 1f5e98e7
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Just two small fixes - one fixing a potential leak for the iovec for
        larger requests added in this cycle, and one fixing a theoretical leak
        with CQE_SKIP and IOPOLL"
      
      * tag 'io_uring-5.18-2022-04-22' of git://git.kernel.dk/linux-block:
        io_uring: fix leaks on IOPOLL and CQE_SKIP
        io_uring: free iovec if file assignment fails
      1f5e98e7
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v5.18-2022-04-22' of... · 45ab9400
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v5.18-2022-04-22' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
      
       - Fix header include for LLVM >= 14 when building with libclang.
      
       - Allow access to 'data_src' for auxtrace in 'perf script' with ARM SPE
         perf.data files, fixing processing data with such attributes.
      
       - Fix error message for test case 71 ("Convert perf time to TSC") on
         s390, where it is not supported.
      
      * tag 'perf-tools-fixes-for-v5.18-2022-04-22' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux:
        perf test: Fix error message for test case 71 on s390, where it is not supported
        perf report: Set PERF_SAMPLE_DATA_SRC bit for Arm SPE event
        perf script: Always allow field 'data_src' for auxtrace
        perf clang: Fix header include for LLVM >= 14
      45ab9400
    • Randy Dunlap's avatar
      sparc: cacheflush_32.h needs struct page · 9423edfc
      Randy Dunlap authored
      Add a struct page forward declaration to cacheflush_32.h.
      Fixes this build warning:
      
          CC      drivers/crypto/xilinx/zynqmp-sha.o
        In file included from arch/sparc/include/asm/cacheflush.h:11,
                         from include/linux/cacheflush.h:5,
                         from drivers/crypto/xilinx/zynqmp-sha.c:6:
        arch/sparc/include/asm/cacheflush_32.h:38:37: warning: 'struct page' declared inside parameter list will not be visible outside of this definition or declaration
           38 | void sparc_flush_page_to_ram(struct page *page);
      
      Exposed by commit 0e03b8fd ("crypto: xilinx - Turn SHA into a
      tristate and allow COMPILE_TEST") but not Fixes: that commit because the
      underlying problem is older.
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: David S. Miller <davem@davemloft.net>
      Cc: Sam Ravnborg <sam@ravnborg.org>
      Cc: sparclinux@vger.kernel.org
      Acked-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Acked-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9423edfc
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2022-04-22' of git://anongit.freedesktop.org/drm/drm-misc into drm-fixes · c18a2a28
      Dave Airlie authored
      Two fixes for the raspberrypi panel initialisation, one fix for a logic
      inversion in radeon, a build and pm refcounting fix for vc4, two reverts
      for drm_of_get_bridge that caused a number of regression and a locking
      regression for amdgpu.
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Maxime Ripard <maxime@cerno.tech>
      Link: https://patchwork.freedesktop.org/patch/msgid/20220422084403.2xrhf3jusdej5yo4@houat
      c18a2a28
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · c00c5e1d
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Fix some syzbot-detected bugs, as well as other bugs found by I/O
        injection testing.
      
        Change ext4's fallocate to consistently drop set[ug]id bits when an
        fallocate operation might possibly change the user-visible contents of
        a file.
      
        Also, improve handling of potentially invalid values in the the
        s_overhead_cluster superblock field to avoid ext4 returning a negative
        number of free blocks"
      
      * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
        jbd2: fix a potential race while discarding reserved buffers after an abort
        ext4: update the cached overhead value in the superblock
        ext4: force overhead calculation if the s_overhead_cluster makes no sense
        ext4: fix overhead calculation to account for the reserved gdt blocks
        ext4, doc: fix incorrect h_reserved size
        ext4: limit length to bitmap_maxbytes - blocksize in punch_hole
        ext4: fix use-after-free in ext4_search_dir
        ext4: fix bug_on in start_this_handle during umount filesystem
        ext4: fix symlink file size not match to file content
        ext4: fix fallocate to use file_modified to update permissions consistently
      c00c5e1d
    • Linus Torvalds's avatar
      Merge tag 'ata-5.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · 2e5991fa
      Linus Torvalds authored
      Pull ATA fix from Damien Le Moal:
       "A single fix to avoid a NULL pointer dereference in the pata_marvell
        driver with adapters not supporting DMA, from Zheyu"
      
      * tag 'ata-5.18-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        ata: pata_marvell: Check the 'bmdma_addr' beforing reading
      2e5991fa
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · bb4ce2c6
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "The main and larger change here is a workaround for AMD's lack of
        cache coherency for encrypted-memory guests.
      
        I have another patch pending, but it's waiting for review from the
        architecture maintainers.
      
        RISC-V:
      
         - Remove 's' & 'u' as valid ISA extension
      
         - Do not allow disabling the base extensions 'i'/'m'/'a'/'c'
      
        x86:
      
         - Fix NMI watchdog in guests on AMD
      
         - Fix for SEV cache incoherency issues
      
         - Don't re-acquire SRCU lock in complete_emulated_io()
      
         - Avoid NULL pointer deref if VM creation fails
      
         - Fix race conditions between APICv disabling and vCPU creation
      
         - Bugfixes for disabling of APICv
      
         - Preserve BSP MSR_KVM_POLL_CONTROL across suspend/resume
      
        selftests:
      
         - Do not use bitfields larger than 32-bits, they differ between GCC
           and clang"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        kvm: selftests: introduce and use more page size-related constants
        kvm: selftests: do not use bitfields larger than 32-bits for PTEs
        KVM: SEV: add cache flush to solve SEV cache incoherency issues
        KVM: SVM: Flush when freeing encrypted pages even on SME_COHERENT CPUs
        KVM: SVM: Simplify and harden helper to flush SEV guest page(s)
        KVM: selftests: Silence compiler warning in the kvm_page_table_test
        KVM: x86/pmu: Update AMD PMC sample period to fix guest NMI-watchdog
        x86/kvm: Preserve BSP MSR_KVM_POLL_CONTROL across suspend/resume
        KVM: SPDX style and spelling fixes
        KVM: x86: Skip KVM_GUESTDBG_BLOCKIRQ APICv update if APICv is disabled
        KVM: x86: Pend KVM_REQ_APICV_UPDATE during vCPU creation to fix a race
        KVM: nVMX: Defer APICv updates while L2 is active until L1 is active
        KVM: x86: Tag APICv DISABLE inhibit, not ABSENT, if APICv is disabled
        KVM: Initialize debugfs_dentry when a VM is created to avoid NULL deref
        KVM: Add helpers to wrap vcpu->srcu_idx and yell if it's abused
        KVM: RISC-V: Use kvm_vcpu.srcu_idx, drop RISC-V's unnecessary copy
        KVM: x86: Don't re-acquire SRCU lock in complete_emulated_io()
        RISC-V: KVM: Restrict the extensions that can be disabled
        RISC-V: KVM: Remove 's' & 'u' as valid ISA extension
      bb4ce2c6
  4. 22 Apr, 2022 12 commits