1. 07 Sep, 2022 6 commits
    • Jean-Philippe Brucker's avatar
      iommu/virtio: Fix interaction with VFIO · 91c98fe7
      Jean-Philippe Brucker authored
      Commit e8ae0e14 ("vfio: Require that devices support DMA cache
      coherence") requires IOMMU drivers to advertise
      IOMMU_CAP_CACHE_COHERENCY, in order to be used by VFIO. Since VFIO does
      not provide to userspace the ability to maintain coherency through cache
      invalidations, it requires hardware coherency. Advertise the capability
      in order to restore VFIO support.
      
      The meaning of IOMMU_CAP_CACHE_COHERENCY also changed from "IOMMU can
      enforce cache coherent DMA transactions" to "IOMMU_CACHE is supported".
      While virtio-iommu cannot enforce coherency (of PCIe no-snoop
      transactions), it does support IOMMU_CACHE.
      
      We can distinguish different cases of non-coherent DMA:
      
      (1) When accesses from a hardware endpoint are not coherent. The host
          would describe such a device using firmware methods ('dma-coherent'
          in device-tree, '_CCA' in ACPI), since they are also needed without
          a vIOMMU. In this case mappings are created without IOMMU_CACHE.
          virtio-iommu doesn't need any additional support. It sends the same
          requests as for coherent devices.
      
      (2) When the physical IOMMU supports non-cacheable mappings. Supporting
          those would require a new feature in virtio-iommu, new PROBE request
          property and MAP flags. Device drivers would use a new API to
          discover this since it depends on the architecture and the physical
          IOMMU.
      
      (3) When the hardware supports PCIe no-snoop. It is possible for
          assigned PCIe devices to issue no-snoop transactions, and the
          virtio-iommu specification is lacking any mention of this.
      
          Arm platforms don't necessarily support no-snoop, and those that do
          cannot enforce coherency of no-snoop transactions. Device drivers
          must be careful about assuming that no-snoop transactions won't end
          up cached; see commit e02f5c1b ("drm: disable uncached DMA
          optimization for ARM and arm64"). On x86 platforms, the host may or
          may not enforce coherency of no-snoop transactions with the physical
          IOMMU. But according to the above commit, on x86 a driver which
          assumes that no-snoop DMA is compatible with uncached CPU mappings
          will also work if the host enforces coherency.
      
          Although these issues are not specific to virtio-iommu, it could be
          used to facilitate discovery and configuration of no-snoop. This
          would require a new feature bit, PROBE property and ATTACH/MAP
          flags.
      
      Cc: stable@vger.kernel.org
      Fixes: e8ae0e14 ("vfio: Require that devices support DMA cache coherence")
      Signed-off-by: default avatarJean-Philippe Brucker <jean-philippe@linaro.org>
      Reviewed-by: default avatarRobin Murphy <robin.murphy@arm.com>
      Link: https://lore.kernel.org/r/20220825154622.86759-1-jean-philippe@linaro.orgSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      91c98fe7
    • Lu Baolu's avatar
      iommu/vt-d: Fix lockdep splat due to klist iteration in atomic context · 35bf49e0
      Lu Baolu authored
      With CONFIG_INTEL_IOMMU_DEBUGFS enabled, below lockdep splat are seen
      when an I/O fault occurs on a machine with an Intel IOMMU in it.
      
       DMAR: DRHD: handling fault status reg 3
       DMAR: [DMA Write NO_PASID] Request device [00:1a.0] fault addr 0x0
             [fault reason 0x05] PTE Write access is not set
       DMAR: Dump dmar0 table entries for IOVA 0x0
       DMAR: root entry: 0x0000000127f42001
       DMAR: context entry: hi 0x0000000000001502, low 0x000000012d8ab001
       ================================
       WARNING: inconsistent lock state
       5.20.0-0.rc0.20220812git7ebfc85e.10.fc38.x86_64 #1 Not tainted
       --------------------------------
       inconsistent {HARDIRQ-ON-W} -> {IN-HARDIRQ-W} usage.
       rngd/1006 [HC1[1]:SC0[0]:HE0:SE1] takes:
       ff177021416f2d78 (&k->k_lock){?.+.}-{2:2}, at: klist_next+0x1b/0x160
       {HARDIRQ-ON-W} state was registered at:
         lock_acquire+0xce/0x2d0
         _raw_spin_lock+0x33/0x80
         klist_add_tail+0x46/0x80
         bus_add_device+0xee/0x150
         device_add+0x39d/0x9a0
         add_memory_block+0x108/0x1d0
         memory_dev_init+0xe1/0x117
         driver_init+0x43/0x4d
         kernel_init_freeable+0x1c2/0x2cc
         kernel_init+0x16/0x140
         ret_from_fork+0x1f/0x30
       irq event stamp: 7812
       hardirqs last  enabled at (7811): [<ffffffff85000e86>] asm_sysvec_apic_timer_interrupt+0x16/0x20
       hardirqs last disabled at (7812): [<ffffffff84f16894>] irqentry_enter+0x54/0x60
       softirqs last  enabled at (7794): [<ffffffff840ff669>] __irq_exit_rcu+0xf9/0x170
       softirqs last disabled at (7787): [<ffffffff840ff669>] __irq_exit_rcu+0xf9/0x170
      
      The klist iterator functions using spin_*lock_irq*() but the klist
      insertion functions using spin_*lock(), combined with the Intel DMAR
      IOMMU driver iterating over klists from atomic (hardirq) context, where
      pci_get_domain_bus_and_slot() calls into bus_find_device() which iterates
      over klists.
      
      As currently there's no plan to fix the klist to make it safe to use in
      atomic context, this fixes the lockdep splat by avoid calling
      pci_get_domain_bus_and_slot() in the hardirq context.
      
      Fixes: 8ac0b64b ("iommu/vt-d: Use pci_get_domain_bus_and_slot() in pgtable_walk()")
      Reported-by: default avatarLennert Buytenhek <buytenh@wantstofly.org>
      Link: https://lore.kernel.org/linux-iommu/Yvo2dfpEh%2FWC+Wrr@wantstofly.org/
      Link: https://lore.kernel.org/linux-iommu/YvyBdPwrTuHHbn5X@wantstofly.org/Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Link: https://lore.kernel.org/r/20220819015949.4795-1-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      35bf49e0
    • Lu Baolu's avatar
      iommu/vt-d: Fix recursive lock issue in iommu_flush_dev_iotlb() · a349ffcb
      Lu Baolu authored
      The per domain spinlock is acquired in iommu_flush_dev_iotlb(), which
      is possbile to be called in the interrupt context. For example, the
      drm-intel's CI system got completely blocked with below error:
      
       WARNING: inconsistent lock state
       6.0.0-rc1-CI_DRM_11990-g6590d43d39b9+ #1 Not tainted
       --------------------------------
       inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage.
       swapper/6/0 [HC0[0]:SC1[1]:HE1:SE0] takes:
       ffff88810440d678 (&domain->lock){+.?.}-{2:2}, at: iommu_flush_dev_iotlb.part.61+0x23/0x80
       {SOFTIRQ-ON-W} state was registered at:
         lock_acquire+0xd3/0x310
         _raw_spin_lock+0x2a/0x40
         domain_update_iommu_cap+0x20b/0x2c0
         intel_iommu_attach_device+0x5bd/0x860
         __iommu_attach_device+0x18/0xe0
         bus_iommu_probe+0x1f3/0x2d0
         bus_set_iommu+0x82/0xd0
         intel_iommu_init+0xe45/0x102a
         pci_iommu_init+0x9/0x31
         do_one_initcall+0x53/0x2f0
         kernel_init_freeable+0x18f/0x1e1
         kernel_init+0x11/0x120
         ret_from_fork+0x1f/0x30
       irq event stamp: 162354
       hardirqs last  enabled at (162354): [<ffffffff81b59274>] _raw_spin_unlock_irqrestore+0x54/0x70
       hardirqs last disabled at (162353): [<ffffffff81b5901b>] _raw_spin_lock_irqsave+0x4b/0x50
       softirqs last  enabled at (162338): [<ffffffff81e00323>] __do_softirq+0x323/0x48e
       softirqs last disabled at (162349): [<ffffffff810c1588>] irq_exit_rcu+0xb8/0xe0
       other info that might help us debug this:
        Possible unsafe locking scenario:
              CPU0
              ----
         lock(&domain->lock);
         <Interrupt>
           lock(&domain->lock);
         *** DEADLOCK ***
       1 lock held by swapper/6/0:
      
      This coverts the spin_lock/unlock() into the irq save/restore varieties
      to fix the recursive locking issues.
      
      Fixes: ffd5869d ("iommu/vt-d: Replace spin_lock_irqsave() with spin_lock()")
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Acked-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      Link: https://lore.kernel.org/r/20220817025650.3253959-1-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      a349ffcb
    • Lu Baolu's avatar
      iommu/vt-d: Correctly calculate sagaw value of IOMMU · 53fc7ad6
      Lu Baolu authored
      The Intel IOMMU driver possibly selects between the first-level and the
      second-level translation tables for DMA address translation. However,
      the levels of page-table walks for the 4KB base page size are calculated
      from the SAGAW field of the capability register, which is only valid for
      the second-level page table. This causes the IOMMU driver to stop working
      if the hardware (or the emulated IOMMU) advertises only first-level
      translation capability and reports the SAGAW field as 0.
      
      This solves the above problem by considering both the first level and the
      second level when calculating the supported page table levels.
      
      Fixes: b802d070 ("iommu/vt-d: Use iova over first level")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Link: https://lore.kernel.org/r/20220817023558.3253263-1-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      53fc7ad6
    • Lu Baolu's avatar
      iommu/vt-d: Fix kdump kernels boot failure with scalable mode · 0c5f6c0d
      Lu Baolu authored
      The translation table copying code for kdump kernels is currently based
      on the extended root/context entry formats of ECS mode defined in older
      VT-d v2.5, and doesn't handle the scalable mode formats. This causes
      the kexec capture kernel boot failure with DMAR faults if the IOMMU was
      enabled in scalable mode by the previous kernel.
      
      The ECS mode has already been deprecated by the VT-d spec since v3.0 and
      Intel IOMMU driver doesn't support this mode as there's no real hardware
      implementation. Hence this converts ECS checking in copying table code
      into scalable mode.
      
      The existing copying code consumes a bit in the context entry as a mark
      of copied entry. It needs to work for the old format as well as for the
      extended context entries. As it's hard to find such a common bit for both
      legacy and scalable mode context entries. This replaces it with a per-
      IOMMU bitmap.
      
      Fixes: 7373a8cc ("iommu/vt-d: Setup context and enable RID2PASID support")
      Cc: stable@vger.kernel.org
      Reported-by: default avatarJerry Snitselaar <jsnitsel@redhat.com>
      Tested-by: default avatarWen Jin <wen.jin@intel.com>
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Link: https://lore.kernel.org/r/20220817011035.3250131-1-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      0c5f6c0d
    • John Sperbeck's avatar
      iommu/amd: use full 64-bit value in build_completion_wait() · 94a568ce
      John Sperbeck authored
      We started using a 64 bit completion value.  Unfortunately, we only
      stored the low 32-bits, so a very large completion value would never
      be matched in iommu_completion_wait().
      
      Fixes: c69d89af ("iommu/amd: Use 4K page for completion wait write-back semaphore")
      Signed-off-by: default avatarJohn Sperbeck <jsperbeck@google.com>
      Link: https://lore.kernel.org/r/20220801192229.3358786-1-jsperbeck@google.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      94a568ce
  2. 04 Sep, 2022 5 commits
    • Linus Torvalds's avatar
      Linux 6.0-rc4 · 7e18e42e
      Linus Torvalds authored
      7e18e42e
    • Linus Torvalds's avatar
      Merge tag 'powerpc-6.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 59954972
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
      
       - Fix handling of PCI domains in /proc on 32-bit systems using the
         recently added support for numbering buses from zero for each domain.
      
       - A fix and a revert for some changes to use READ/WRITE_ONCE() which
         caused problems with KASAN enabled due to sanitisation calls being
         introduced in low-level paths that can't cope with it.
      
       - Fix build errors on 32-bit caused by the syscall table being
         misaligned sometimes.
      
       - Two fixes to get IBM Cell native machines booting again, which had
         bit-rotted while my QS22 was temporarily out of action.
      
       - Fix the papr_scm driver to not assume the order of events returned by
         the hypervisor is stable, and a related compile fix.
      
      Thanks to Aneesh Kumar K.V, Christophe Leroy, Jordan Niethe, Kajol Jain,
      Masahiro Yamada, Nathan Chancellor, Pali Rohár, Vaibhav Jain, and Zhouyi
      Zhou.
      
      * tag 'powerpc-6.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/papr_scm: Ensure rc is always initialized in papr_scm_pmu_register()
        Revert "powerpc/irq: Don't open code irq_soft_mask helpers"
        powerpc: Fix hard_irq_disable() with sanitizer
        powerpc/rtas: Fix RTAS MSR[HV] handling for Cell
        Revert "powerpc: Remove unused FW_FEATURE_NATIVE references"
        powerpc: align syscall table for ppc32
        powerpc/pci: Enable PCI domains in /proc when PCI bus numbers are not unique
        powerpc/papr_scm: Fix nvdimm event mappings
      59954972
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 685ed983
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "s390:
      
         - PCI interpretation compile fixes
      
        RISC-V:
      
         - fix unused variable warnings in vcpu_timer.c
      
         - move extern sbi_ext declarations to a header
      
        x86:
      
         - check validity of argument to KVM_SET_MP_STATE
      
         - use guest's global_ctrl to completely disable guest PEBS
      
         - fix a memory leak on memory allocation failure
      
         - mask off unsupported and unknown bits of IA32_ARCH_CAPABILITIES
      
         - fix build failure with Clang integrated assembler
      
         - fix MSR interception
      
         - always flush TLBs when enabling dirty logging"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86: check validity of argument to KVM_SET_MP_STATE
        perf/x86/core: Completely disable guest PEBS via guest's global_ctrl
        KVM: x86: fix memoryleak in kvm_arch_vcpu_create()
        KVM: x86: Mask off unsupported and unknown bits of IA32_ARCH_CAPABILITIES
        KVM: s390: pci: Hook to access KVM lowlevel from VFIO
        riscv: kvm: move extern sbi_ext declarations to a header
        riscv: kvm: vcpu_timer: fix unused variable warnings
        KVM: selftests: Fix ambiguous mov in KVM_ASM_SAFE()
        KVM: selftests: Fix KVM_EXCEPTION_MAGIC build with Clang
        KVM: VMX: Heed the 'msr' argument in msr_write_intercepted()
        kvm: x86: mmu: Always flush TLBs when enabling dirty logging
        kvm: x86: mmu: Drop the need_remote_flush() function
      685ed983
    • Nick Desaulniers's avatar
      Makefile.extrawarn: re-enable -Wformat for clang; take 2 · b0839b28
      Nick Desaulniers authored
      -Wformat was recently re-enabled for builds with clang, then quickly
      re-disabled, due to concerns stemming from the frequency of default
      argument promotion related warning instances.
      
      commit 258fafcd ("Makefile.extrawarn: re-enable -Wformat for clang")
      commit 21f9c8a1 ("Revert "Makefile.extrawarn: re-enable -Wformat for clang"")
      
      ISO WG14 has ratified N2562 to address default argument promotion
      explicitly for printf, as part of the upcoming ISO C2X standard.
      
      The behavior of clang was changed in clang-16 to not warn for the cited
      cases in all language modes.
      
      Add a version check, so that users of clang-16 now get the full effect
      of -Wformat. For older clang versions, re-enable flags under the
      -Wformat group that way users still get some useful checks related to
      format strings, without noisy default argument promotion warnings. I
      intentionally omitted -Wformat-y2k and -Wformat-security from being
      re-enabled, which are also part of -Wformat in clang-16.
      
      Link: https://github.com/ClangBuiltLinux/linux/issues/378
      Link: https://github.com/llvm/llvm-project/issues/57102
      Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2562.pdfSuggested-by: default avatarJustin Stitt <jstitt007@gmail.com>
      Suggested-by: default avatarNathan Chancellor <nathan@kernel.org>
      Suggested-by: default avatarYoungmin Nam <youngmin.nam@samsung.com>
      Signed-off-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Reviewed-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarNathan Chancellor <nathan@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b0839b28
    • Linus Torvalds's avatar
      Merge tag 'gpio-fixes-for-v6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 7726d4c3
      Linus Torvalds authored
      Pull gpio fixes from Bartosz Golaszewski:
       "A a set of fixes from the GPIO subsystem.
      
        Most are small driver fixes except the realtek-otto driver patch which
        is pretty big but addresses a significant flaw that can cause the CPU
        to stay infinitely busy on uncleared ISR on some platforms.
      
        Summary:
         - MAINTAINERS update
         - fix resource leaks in gpio-mockup and gpio-pxa
         - add missing locking in gpio-pca953x
         - use 32-bit I/O in gpio-realtek-otto
         - make irq_chip structures immutable in four more drivers"
      
      * tag 'gpio-fixes-for-v6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        gpio: ws16c48: Make irq_chip immutable
        gpio: 104-idio-16: Make irq_chip immutable
        gpio: 104-idi-48: Make irq_chip immutable
        gpio: 104-dio-48e: Make irq_chip immutable
        gpio: realtek-otto: switch to 32-bit I/O
        gpio: pca953x: Add mutex_lock for regcache sync in PM
        gpio: mockup: remove gpio debugfs when remove device
        gpio: pxa: use devres for the clock struct
        MAINTAINERS: rectify entry for XILINX GPIO DRIVER
      7726d4c3
  3. 03 Sep, 2022 19 commits
  4. 02 Sep, 2022 10 commits
    • Linus Torvalds's avatar
      Merge tag 'block-6.0-2022-09-02' of git://git.kernel.dk/linux-block · d895ec79
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request via Christoph:
           - error handling fix for the new auth code (Hannes Reinecke)
           - fix unhandled tcp states in nvmet_tcp_state_change (Maurizio
             Lombardi)
           - add NVME_QUIRK_BOGUS_NID for Lexar NM610 (Shyamin Ayesh)
      
       - Add documentation for the ublk driver merged in this merge window
         (Ming)
      
      * tag 'block-6.0-2022-09-02' of git://git.kernel.dk/linux-block:
        Documentation: document ublk
        nvmet-tcp: fix unhandled tcp states in nvmet_tcp_state_change()
        nvmet-auth: add missing goto in nvmet_setup_auth()
        nvme-pci: add NVME_QUIRK_BOGUS_NID for Lexar NM610
      d895ec79
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.0-2022-09-02' of git://git.kernel.dk/linux-block · cec53f4c
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - A single fix for over-eager retries for networking (Pavel)
      
       - Revert the notification slot support for zerocopy sends.
      
         It turns out that even after more than a year or development and
         testing, there's not full agreement on whether just using plain
         ordered notifications is Good Enough to avoid the complexity of using
         the notifications slots. Because of that, we decided that it's best
         left to a future final decision.
      
         We can always bring back this feature, but we can't really change it
         or remove it once we've released 6.0 with it enabled. The reverts
         leave the usual CQE notifications as the primary interface for
         knowing when data was sent, and when it was acked. (Pavel)
      
      * tag 'io_uring-6.0-2022-09-02' of git://git.kernel.dk/linux-block:
        selftests/net: return back io_uring zc send tests
        io_uring/net: simplify zerocopy send user API
        io_uring/notif: remove notif registration
        Revert "io_uring: rename IORING_OP_FILES_UPDATE"
        Revert "io_uring: add zc notification flush requests"
        selftests/net: temporarily disable io_uring zc test
        io_uring/net: fix overexcessive retries
      cec53f4c
    • Linus Torvalds's avatar
      Merge tag '6.0-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 1551f8f2
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Five fixes, all also marked for stable:
      
         - fixes for collapse range and insert range (also fixes xfstest
           generic/031)
      
         - memory leak fix"
      
      * tag '6.0-rc3-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix small mempool leak in SMB2_negotiate()
        smb3: use filemap_write_and_wait_range instead of filemap_write_and_wait
        smb3: fix temporary data corruption in insert range
        smb3: fix temporary data corruption in collapse range
        smb3: Move the flush out of smb2_copychunk_range() into its callers
      1551f8f2
    • Linus Torvalds's avatar
      Merge tag 'landlock-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux · 0c95f022
      Linus Torvalds authored
      Pull landlock fix from Mickaël Salaün:
       "This fixes a mis-handling of the LANDLOCK_ACCESS_FS_REFER right when
        multiple rulesets/domains are stacked.
      
        The expected behaviour was that an additional ruleset can only
        restrict the set of permitted operations, but in this particular case,
        it was potentially possible to re-gain the LANDLOCK_ACCESS_FS_REFER
        right"
      
      * tag 'landlock-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/mic/linux:
        landlock: Fix file reparenting without explicit LANDLOCK_ACCESS_FS_REFER
      0c95f022
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · b307e704
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
      
       - Fix workaround for SD UHS-I voltage switch
      
      * tag 'mmc-v6.0-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: core: Fix inconsistent sd3_bus_mode at UHS-I SD voltage switch failure
        mmc: core: Fix UHS-I SD 1.8V workaround branch
      b307e704
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2022-09-02' of git://anongit.freedesktop.org/drm/drm · 1e8e515e
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Regular fixes pull. One core dma-buf fix, then two weeks of i915
        fixes, a lot of amdgpu fixes mostly for new IP, and a bunch of msm
        fixes, mostly modesetting ones.
      
        Nothing seems too bad at this point.
      
        dma-buf/dma-resv:
         - Fence-handling fix
      
        i915:
         - GVT fixes including fix for a CommetLake regression in mmio table
           and misc doc and typo fixes
         - Fix CCS handling
         - Fix for guc requests after reset
         - Display DSI related fixes
         - Display backlight related fixes
         - Fix for a null pointer dereference
         - HDMI related quirk for ECS Liva Q2 with GLK graphics
         - Skip wm/ddb readout for disabled pipes
      
        amdgpu:
         - FRU error message fix
         - MES 11 updates
         - DCN 3.2.x fixes
         - DCN 3.1.4 fixes
         - Fix possible use after free in CS IOCTL
         - SMU 13.0.x fixes
         - Fix iolink reporting on devices with direct connections to CPU
         - GFX10 tap delay firmware fixes
      
        msm:
         - Fix for inconsistent indenting in msm_dsi_dphy_timing_calc_v3().
         - Fix to make eDP the first connector in the connected list.
         - Fix to populate intf_cfg correctly before calling reset_intf_cfg().
         - Specify the correct number of DSI regulators for SDM660.
         - Specify the correct number of DSI regulators for MSM8996.
         - Fix for removing DP_RECOVERED_CLOCK_OUT_EN bit for tps4 link training
         - Fix probe-deferral crash in gpu devfreq
         - Fix gpu debugfs deadlock"
      
      * tag 'drm-fixes-2022-09-02' of git://anongit.freedesktop.org/drm/drm: (51 commits)
        drm/amd/amdgpu: skip ucode loading if ucode_size == 0
        drm/amdgpu: only init tap_delay ucode when it's included in ucode binary
        drm/amd/display: Fix black flash when switching from ODM2to1 to ODMBypass
        drm/amd/display: Fix check for stream and plane
        drm/amd/display: Re-initialize viewport after pipe merge
        drm/amd/display: Use correct plane for CAB cursor size allocation
        drm/amdgpu: ensure no PCIe peer access for CPU XGMI iolinks
        drm/amd/pm: bump SMU 13.0.0 driver_if header version
        drm/amd/pm: use vbios carried pptable for all SMU13.0.7 SKUs
        drm/amd/pm: use vbios carried pptable for those supported SKUs
        drm/amd/display: fix wrong register access
        drm/amd/display: use actual cursor size instead of max for CAB allocation
        drm/amd/display: disable display fresh from MALL on an edge case for DCN321
        drm/amd/display: Fix CAB cursor size allocation for DCN32/321
        drm/amd/display: Missing HPO instance added
        drm/amd/display: set dig fifo read start level to 7 before dig fifo reset
        drm/amdgpu: Fix use-after-free in amdgpu_cs_ioctl
        drm/amd/display: Fix OTG H timing reset for dcn314
        drm/amd/display: Fix DCN32 DPSTREAMCLK_CNTL programming
        drm/amdgpu: Update mes_v11_api_def.h
        ...
      1e8e515e
    • Linus Torvalds's avatar
      Merge tag 'driver-core-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 0b3acd1c
      Linus Torvalds authored
      Pull driver core fixes from Greg KH:
       "Here are some small driver core fixes for some oft-reported problems
        in 6.0-rc1.  They include:
      
         - a bunch of reverts to handle driver_deferred_probe_check_state()
           problems that were part of the 6.0-rc1 merge.
      
         - firmware_loader bugfixes now that the code is being properly tested
           and used by others
      
         - arch_topology fix
      
         - deferred driver probe bugfix to solve a long-suffering amba bus
           problem that many people have reported.
      
        All of these have been in linux-next for a while with no reported
        problems"
      
      * tag 'driver-core-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
        firmware_loader: Fix memory leak in firmware upload
        firmware_loader: Fix use-after-free during unregister
        arch_topology: Silence early cacheinfo errors when non-existent
        driver core: Don't probe devices after bus_type.match() probe deferral
        Revert "iommu/of: Delete usage of driver_deferred_probe_check_state()"
        Revert "PM: domains: Delete usage of driver_deferred_probe_check_state()"
        Revert "net: mdio: Delete usage of driver_deferred_probe_check_state()"
        Revert "driver core: Delete driver_deferred_probe_check_state()"
      0b3acd1c
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · ffb384c2
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are some small char/misc and other driver fixes for 6.0-rc4.
      
        Included in here are:
      
         - binder fixes for previous fixes, and a few more fixes uncovered by
           them.
      
         - iio driver fixes
      
         - soundwire driver fixes
      
         - fastrpc driver fixes for memory corruption on some hardware
      
         - peci driver fix
      
         - mhi driver fix
      
        All of these have been in linux-next with no reported problems"
      
      * tag 'char-misc-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        binder: fix alloc->vma_vm_mm null-ptr dereference
        misc: fastrpc: increase maximum session count
        misc: fastrpc: fix memory corruption on open
        misc: fastrpc: fix memory corruption on probe
        soundwire: qcom: fix device status array range
        bus: mhi: host: Fix up null pointer access in mhi_irq_handler
        soundwire: qcom: remove duplicate reset control get
        iio: light: cm32181: make cm32181_pm_ops static
        iio: ad7292: Prevent regulator double disable
        dt-bindings: iio: gyroscope: bosch,bmg160: correct number of pins
        iio: adc: mcp3911: use correct formula for AD conversion
        iio: adc: mcp3911: correct "microchip,device-addr" property
        Revert "binder_alloc: Add missing mmap_lock calls when using the VMA"
        binder_alloc: Add missing mmap_lock calls when using the VMA
        binder: fix UAF of ref->proc caused by race condition
        iio: light: cm3605: Fix an error handling path in cm3605_probe()
        iio: adc: mcp3911: make use of the sign bit
        peci: cpu: Fix use-after-free in adev_release()
        peci: aspeed: fix error check return value of platform_get_irq()
      ffb384c2
    • Linus Torvalds's avatar
      Merge tag 'usb-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · fd59585c
      Linus Torvalds authored
      Pull USB/Thunderbolt driver fixes from Greg KH:
       "Here are a lot of small USB and Thunderbolt driver fixes for 6.0-rc4
        for reported problems. Included in here are:
      
         - new usb-serial driver ids
      
         - dwc3 driver bugfixes for reported problems with 6.0-rc1
      
         - new device quirks, and reverts of some quirks that were incorrect
      
         - gadget driver bugfixes for reported problems
      
         - USB host controller bugfixes (xhci and others)
      
         - other small USB fixes, details in the shortlog
      
         - small thunderbolt driver fixes
      
        All of these have been in linux-next with no reported issues"
      
      * tag 'usb-6.0-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (51 commits)
        Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio"
        usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS
        USB: serial: ch341: fix disabled rx timer on older devices
        USB: serial: ch341: fix lost character on LCR updates
        USB: serial: cp210x: add Decagon UCA device id
        Revert "usb: add quirks for Lenovo OneLink+ Dock"
        usb: cdns3: fix issue with rearming ISO OUT endpoint
        usb: cdns3: fix incorrect handling TRB_SMM flag for ISOC transfer
        usb: gadget: mass_storage: Fix cdrom data transfers on MAC-OS
        media: mceusb: Use new usb_control_msg_*() routines
        USB: core: Prevent nested device-reset calls
        USB: gadget: Fix obscure lockdep violation for udc_mutex
        usb: dwc2: fix wrong order of phy_power_on and phy_init
        usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
        usb: typec: Remove retimers properly
        usb: dwc3: disable USB core PHY management
        usb: add quirks for Lenovo OneLink+ Dock
        USB: serial: option: add support for Cinterion MV32-WA/WB RmNet mode
        USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id
        USB: serial: option: add Quectel EM060K modem
        ...
      fd59585c
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.0-2' of... · 1a2f6a37
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fixes from Hans de Goede:
       "Various small fixes and hardware-id additions"
      
      * tag 'platform-drivers-x86-v6.0-2' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        platform/x86: p2sb: Fix UAF when caller uses resource name
        platform/x86: asus-wmi: Increase FAN_CURVE_BUF_LEN to 32
        platform/mellanox: Remove redundant 'NULL' check
        platform/mellanox: Remove unnecessary code
        platform/mellanox: mlxreg-lc: Fix locking issue
        platform/mellanox: mlxreg-lc: Fix coverity warning
        platform/x86: acer-wmi: Acer Aspire One AOD270/Packard Bell Dot keymap fixes
        platform/x86: thinkpad_acpi: Explicitly set to balanced mode on startup
        platform/x86: asus-wmi: Fix the name of the mic-mute LED classdev
        platform/surface: aggregator_registry: Add HID devices for sensors and UCSI client to SP8
        platform/surface: aggregator_registry: Rename HID device nodes based on new findings
        platform/surface: aggregator_registry: Rename HID device nodes based on their function
        platform/surface: aggregator_registry: Add support for Surface Laptop Go 2
        platform/x86: x86-android-tablets: Fix broken touchscreen on Chuwi Hi8 with Windows BIOS
        platform/x86: pmc_atom: Fix SLP_TYPx bitfield mask
      1a2f6a37