1. 08 Mar, 2024 1 commit
  2. 06 Mar, 2024 8 commits
    • Lu Baolu's avatar
      iommu/vt-d: Remove scalabe mode in domain_context_clear_one() · 80ca79f3
      Lu Baolu authored
      domain_context_clear_one() only handles the context entry teardown in
      legacy mode. Remove the scalable mode check in it to avoid dead code.
      
      Remove an unnecessary check in the code as well.
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
      Link: https://lore.kernel.org/r/20240305013305.204605-6-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      80ca79f3
    • Lu Baolu's avatar
      iommu/vt-d: Remove scalable mode context entry setup from attach_dev · a016e538
      Lu Baolu authored
      The scalable mode context entry is now setup in the probe_device path,
      eliminating the need to configure it in the attach_dev path. Removes the
      redundant code from the attach_dev path to avoid dead code.
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
      Link: https://lore.kernel.org/r/20240305013305.204605-5-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      a016e538
    • Lu Baolu's avatar
      iommu/vt-d: Setup scalable mode context entry in probe path · 301f1a80
      Lu Baolu authored
      In contrast to legacy mode, the DMA translation table is configured in
      the PASID table entry instead of the context entry for scalable mode.
      For this reason, it is more appropriate to set up the scalable mode
      context entry in the device_probe callback and direct it to the
      appropriate PASID table.
      
      The iommu domain attach/detach operations only affect the PASID table
      entry. Therefore, there is no need to modify the context entry when
      configuring the translation type and page table.
      
      The only exception is the kdump case, where context entry setup is
      postponed until the device driver invokes the first DMA interface.
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
      Link: https://lore.kernel.org/r/20240305013305.204605-4-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      301f1a80
    • Lu Baolu's avatar
      iommu/vt-d: Fix NULL domain on device release · 81e921fd
      Lu Baolu authored
      In the kdump kernel, the IOMMU operates in deferred_attach mode. In this
      mode, info->domain may not yet be assigned by the time the release_device
      function is called. It leads to the following crash in the crash kernel:
      
          BUG: kernel NULL pointer dereference, address: 000000000000003c
          ...
          RIP: 0010:do_raw_spin_lock+0xa/0xa0
          ...
          _raw_spin_lock_irqsave+0x1b/0x30
          intel_iommu_release_device+0x96/0x170
          iommu_deinit_device+0x39/0xf0
          __iommu_group_remove_device+0xa0/0xd0
          iommu_bus_notifier+0x55/0xb0
          notifier_call_chain+0x5a/0xd0
          blocking_notifier_call_chain+0x41/0x60
          bus_notify+0x34/0x50
          device_del+0x269/0x3d0
          pci_remove_bus_device+0x77/0x100
          p2sb_bar+0xae/0x1d0
          ...
          i801_probe+0x423/0x740
      
      Use the release_domain mechanism to fix it. The scalable mode context
      entry which is not part of release domain should be cleared in
      release_device().
      
      Fixes: 586081d3 ("iommu/vt-d: Remove DEFER_DEVICE_DOMAIN_INFO")
      Reported-by: default avatarEric Badger <ebadger@purestorage.com>
      Closes: https://lore.kernel.org/r/20240113181713.1817855-1-ebadger@purestorage.comSigned-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
      Link: https://lore.kernel.org/r/20240305013305.204605-3-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      81e921fd
    • Lu Baolu's avatar
      iommu: Add static iommu_ops->release_domain · 0061ffe2
      Lu Baolu authored
      The current device_release callback for individual iommu drivers does the
      following:
      
      1) Silent IOMMU DMA translation: It detaches any existing domain from the
         device and puts it into a blocking state (some drivers might use the
         identity state).
      2) Resource release: It releases resources allocated during the
         device_probe callback and restores the device to its pre-probe state.
      
      Step 1 is challenging for individual iommu drivers because each must check
      if a domain is already attached to the device. Additionally, if a deferred
      attach never occurred, the device_release should avoid modifying hardware
      configuration regardless of the reason for its call.
      
      To simplify this process, introduce a static release_domain within the
      iommu_ops structure. It can be either a blocking or identity domain
      depending on the iommu hardware. The iommu core will decide whether to
      attach this domain before the device_release callback, eliminating the
      need for repetitive code in various drivers.
      
      Consequently, the device_release callback can focus solely on the opposite
      operations of device_probe, including releasing all resources allocated
      during that callback.
      Co-developed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Signed-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Reviewed-by: default avatarKevin Tian <kevin.tian@intel.com>
      Link: https://lore.kernel.org/r/20240305013305.204605-2-baolu.lu@linux.intel.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      0061ffe2
    • Ethan Zhao's avatar
      iommu/vt-d: Improve ITE fault handling if target device isn't present · 80a9b50c
      Ethan Zhao authored
      Because surprise removal could happen anytime, e.g. user could request safe
      removal to EP(endpoint device) via sysfs and brings its link down to do
      surprise removal cocurrently. such aggressive cases would cause ATS
      invalidation request issued to non-existence target device, then deadly
      loop to retry that request after ITE fault triggered in interrupt context.
      this patch aims to optimize the ITE handling by checking the target device
      presence state to avoid retrying the timeout request blindly, thus avoid
      hard lockup or system hang.
      
      Devices TLB should only be invalidated when devices are in the
      iommu->device_rbtree (probed, not released) and present.
      
      Fixes: 6ba6c3a4 ("VT-d: add device IOTLB invalidation support")
      Reviewed-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Signed-off-by: default avatarEthan Zhao <haifeng.zhao@linux.intel.com>
      Link: https://lore.kernel.org/r/20240301080727.3529832-4-haifeng.zhao@linux.intel.comSigned-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      80a9b50c
    • Ethan Zhao's avatar
      iommu/vt-d: Don't issue ATS Invalidation request when device is disconnected · 4fc82cd9
      Ethan Zhao authored
      For those endpoint devices connect to system via hotplug capable ports,
      users could request a hot reset to the device by flapping device's link
      through setting the slot's link control register, as pciehp_ist() DLLSC
      interrupt sequence response, pciehp will unload the device driver and
      then power it off. thus cause an IOMMU device-TLB invalidation (Intel
      VT-d spec, or ATS Invalidation in PCIe spec r6.1) request for non-existence
      target device to be sent and deadly loop to retry that request after ITE
      fault triggered in interrupt context.
      
      That would cause following continuous hard lockup warning and system hang
      
      [ 4211.433662] pcieport 0000:17:01.0: pciehp: Slot(108): Link Down
      [ 4211.433664] pcieport 0000:17:01.0: pciehp: Slot(108): Card not present
      [ 4223.822591] NMI watchdog: Watchdog detected hard LOCKUP on cpu 144
      [ 4223.822622] CPU: 144 PID: 1422 Comm: irq/57-pciehp Kdump: loaded Tainted: G S
               OE    kernel version xxxx
      [ 4223.822623] Hardware name: vendorname xxxx 666-106,
      BIOS 01.01.02.03.01 05/15/2023
      [ 4223.822623] RIP: 0010:qi_submit_sync+0x2c0/0x490
      [ 4223.822624] Code: 48 be 00 00 00 00 00 08 00 00 49 85 74 24 20 0f 95 c1 48 8b
       57 10 83 c1 04 83 3c 1a 03 0f 84 a2 01 00 00 49 8b 04 24 8b 70 34 <40> f6 c6 1
      0 74 17 49 8b 04 24 8b 80 80 00 00 00 89 c2 d3 fa 41 39
      [ 4223.822624] RSP: 0018:ffffc4f074f0bbb8 EFLAGS: 00000093
      [ 4223.822625] RAX: ffffc4f040059000 RBX: 0000000000000014 RCX: 0000000000000005
      [ 4223.822625] RDX: ffff9f3841315800 RSI: 0000000000000000 RDI: ffff9f38401a8340
      [ 4223.822625] RBP: ffff9f38401a8340 R08: ffffc4f074f0bc00 R09: 0000000000000000
      [ 4223.822626] R10: 0000000000000010 R11: 0000000000000018 R12: ffff9f384005e200
      [ 4223.822626] R13: 0000000000000004 R14: 0000000000000046 R15: 0000000000000004
      [ 4223.822626] FS:  0000000000000000(0000) GS:ffffa237ae400000(0000)
      knlGS:0000000000000000
      [ 4223.822627] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
      [ 4223.822627] CR2: 00007ffe86515d80 CR3: 000002fd3000a001 CR4: 0000000000770ee0
      [ 4223.822627] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      [ 4223.822628] DR3: 0000000000000000 DR6: 00000000fffe07f0 DR7: 0000000000000400
      [ 4223.822628] PKRU: 55555554
      [ 4223.822628] Call Trace:
      [ 4223.822628]  qi_flush_dev_iotlb+0xb1/0xd0
      [ 4223.822628]  __dmar_remove_one_dev_info+0x224/0x250
      [ 4223.822629]  dmar_remove_one_dev_info+0x3e/0x50
      [ 4223.822629]  intel_iommu_release_device+0x1f/0x30
      [ 4223.822629]  iommu_release_device+0x33/0x60
      [ 4223.822629]  iommu_bus_notifier+0x7f/0x90
      [ 4223.822630]  blocking_notifier_call_chain+0x60/0x90
      [ 4223.822630]  device_del+0x2e5/0x420
      [ 4223.822630]  pci_remove_bus_device+0x70/0x110
      [ 4223.822630]  pciehp_unconfigure_device+0x7c/0x130
      [ 4223.822631]  pciehp_disable_slot+0x6b/0x100
      [ 4223.822631]  pciehp_handle_presence_or_link_change+0xd8/0x320
      [ 4223.822631]  pciehp_ist+0x176/0x180
      [ 4223.822631]  ? irq_finalize_oneshot.part.50+0x110/0x110
      [ 4223.822632]  irq_thread_fn+0x19/0x50
      [ 4223.822632]  irq_thread+0x104/0x190
      [ 4223.822632]  ? irq_forced_thread_fn+0x90/0x90
      [ 4223.822632]  ? irq_thread_check_affinity+0xe0/0xe0
      [ 4223.822633]  kthread+0x114/0x130
      [ 4223.822633]  ? __kthread_cancel_work+0x40/0x40
      [ 4223.822633]  ret_from_fork+0x1f/0x30
      [ 4223.822633] Kernel panic - not syncing: Hard LOCKUP
      [ 4223.822634] CPU: 144 PID: 1422 Comm: irq/57-pciehp Kdump: loaded Tainted: G S
               OE     kernel version xxxx
      [ 4223.822634] Hardware name: vendorname xxxx 666-106,
      BIOS 01.01.02.03.01 05/15/2023
      [ 4223.822634] Call Trace:
      [ 4223.822634]  <NMI>
      [ 4223.822635]  dump_stack+0x6d/0x88
      [ 4223.822635]  panic+0x101/0x2d0
      [ 4223.822635]  ? ret_from_fork+0x11/0x30
      [ 4223.822635]  nmi_panic.cold.14+0xc/0xc
      [ 4223.822636]  watchdog_overflow_callback.cold.8+0x6d/0x81
      [ 4223.822636]  __perf_event_overflow+0x4f/0xf0
      [ 4223.822636]  handle_pmi_common+0x1ef/0x290
      [ 4223.822636]  ? __set_pte_vaddr+0x28/0x40
      [ 4223.822637]  ? flush_tlb_one_kernel+0xa/0x20
      [ 4223.822637]  ? __native_set_fixmap+0x24/0x30
      [ 4223.822637]  ? ghes_copy_tofrom_phys+0x70/0x100
      [ 4223.822637]  ? __ghes_peek_estatus.isra.16+0x49/0xa0
      [ 4223.822637]  intel_pmu_handle_irq+0xba/0x2b0
      [ 4223.822638]  perf_event_nmi_handler+0x24/0x40
      [ 4223.822638]  nmi_handle+0x4d/0xf0
      [ 4223.822638]  default_do_nmi+0x49/0x100
      [ 4223.822638]  exc_nmi+0x134/0x180
      [ 4223.822639]  end_repeat_nmi+0x16/0x67
      [ 4223.822639] RIP: 0010:qi_submit_sync+0x2c0/0x490
      [ 4223.822639] Code: 48 be 00 00 00 00 00 08 00 00 49 85 74 24 20 0f 95 c1 48 8b
       57 10 83 c1 04 83 3c 1a 03 0f 84 a2 01 00 00 49 8b 04 24 8b 70 34 <40> f6 c6 10
       74 17 49 8b 04 24 8b 80 80 00 00 00 89 c2 d3 fa 41 39
      [ 4223.822640] RSP: 0018:ffffc4f074f0bbb8 EFLAGS: 00000093
      [ 4223.822640] RAX: ffffc4f040059000 RBX: 0000000000000014 RCX: 0000000000000005
      [ 4223.822640] RDX: ffff9f3841315800 RSI: 0000000000000000 RDI: ffff9f38401a8340
      [ 4223.822641] RBP: ffff9f38401a8340 R08: ffffc4f074f0bc00 R09: 0000000000000000
      [ 4223.822641] R10: 0000000000000010 R11: 0000000000000018 R12: ffff9f384005e200
      [ 4223.822641] R13: 0000000000000004 R14: 0000000000000046 R15: 0000000000000004
      [ 4223.822641]  ? qi_submit_sync+0x2c0/0x490
      [ 4223.822642]  ? qi_submit_sync+0x2c0/0x490
      [ 4223.822642]  </NMI>
      [ 4223.822642]  qi_flush_dev_iotlb+0xb1/0xd0
      [ 4223.822642]  __dmar_remove_one_dev_info+0x224/0x250
      [ 4223.822643]  dmar_remove_one_dev_info+0x3e/0x50
      [ 4223.822643]  intel_iommu_release_device+0x1f/0x30
      [ 4223.822643]  iommu_release_device+0x33/0x60
      [ 4223.822643]  iommu_bus_notifier+0x7f/0x90
      [ 4223.822644]  blocking_notifier_call_chain+0x60/0x90
      [ 4223.822644]  device_del+0x2e5/0x420
      [ 4223.822644]  pci_remove_bus_device+0x70/0x110
      [ 4223.822644]  pciehp_unconfigure_device+0x7c/0x130
      [ 4223.822644]  pciehp_disable_slot+0x6b/0x100
      [ 4223.822645]  pciehp_handle_presence_or_link_change+0xd8/0x320
      [ 4223.822645]  pciehp_ist+0x176/0x180
      [ 4223.822645]  ? irq_finalize_oneshot.part.50+0x110/0x110
      [ 4223.822645]  irq_thread_fn+0x19/0x50
      [ 4223.822646]  irq_thread+0x104/0x190
      [ 4223.822646]  ? irq_forced_thread_fn+0x90/0x90
      [ 4223.822646]  ? irq_thread_check_affinity+0xe0/0xe0
      [ 4223.822646]  kthread+0x114/0x130
      [ 4223.822647]  ? __kthread_cancel_work+0x40/0x40
      [ 4223.822647]  ret_from_fork+0x1f/0x30
      [ 4223.822647] Kernel Offset: 0x6400000 from 0xffffffff81000000 (relocation
      range: 0xffffffff80000000-0xffffffffbfffffff)
      
      Such issue could be triggered by all kinds of regular surprise removal
      hotplug operation. like:
      
      1. pull EP(endpoint device) out directly.
      2. turn off EP's power.
      3. bring the link down.
      etc.
      
      this patch aims to work for regular safe removal and surprise removal
      unplug. these hot unplug handling process could be optimized for fix the
      ATS Invalidation hang issue by calling pci_dev_is_disconnected() in
      function devtlb_invalidation_with_pasid() to check target device state to
      avoid sending meaningless ATS Invalidation request to iommu when device is
      gone. (see IMPLEMENTATION NOTE in PCIe spec r6.1 section 10.3.1)
      
      For safe removal, device wouldn't be removed until the whole software
      handling process is done, it wouldn't trigger the hard lock up issue
      caused by too long ATS Invalidation timeout wait. In safe removal path,
      device state isn't set to pci_channel_io_perm_failure in
      pciehp_unconfigure_device() by checking 'presence' parameter, calling
      pci_dev_is_disconnected() in devtlb_invalidation_with_pasid() will return
      false there, wouldn't break the function.
      
      For surprise removal, device state is set to pci_channel_io_perm_failure in
      pciehp_unconfigure_device(), means device is already gone (disconnected)
      call pci_dev_is_disconnected() in devtlb_invalidation_with_pasid() will
      return true to break the function not to send ATS Invalidation request to
      the disconnected device blindly, thus avoid to trigger further ITE fault,
      and ITE fault will block all invalidation request to be handled.
      furthermore retry the timeout request could trigger hard lockup.
      
      safe removal (present) & surprise removal (not present)
      
      pciehp_ist()
         pciehp_handle_presence_or_link_change()
           pciehp_disable_slot()
             remove_board()
               pciehp_unconfigure_device(presence) {
                 if (!presence)
                      pci_walk_bus(parent, pci_dev_set_disconnected, NULL);
                 }
      
      this patch works for regular safe removal and surprise removal of ATS
      capable endpoint on PCIe switch downstream ports.
      
      Fixes: 6f7db75e ("iommu/vt-d: Add second level page table interface")
      Reviewed-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Tested-by: default avatarHaorong Ye <yehaorong@bytedance.com>
      Signed-off-by: default avatarEthan Zhao <haifeng.zhao@linux.intel.com>
      Link: https://lore.kernel.org/r/20240301080727.3529832-3-haifeng.zhao@linux.intel.comSigned-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      4fc82cd9
    • Ethan Zhao's avatar
      PCI: Make pci_dev_is_disconnected() helper public for other drivers · 39714fd7
      Ethan Zhao authored
      Make pci_dev_is_disconnected() public so that it can be called from
      Intel VT-d driver to quickly fix/workaround the surprise removal
      unplug hang issue for those ATS capable devices on PCIe switch downstream
      hotplug capable ports.
      
      Beside pci_device_is_present() function, this one has no config space
      space access, so is light enough to optimize the normal pure surprise
      removal and safe removal flow.
      Acked-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Reviewed-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
      Tested-by: default avatarHaorong Ye <yehaorong@bytedance.com>
      Signed-off-by: default avatarEthan Zhao <haifeng.zhao@linux.intel.com>
      Link: https://lore.kernel.org/r/20240301080727.3529832-2-haifeng.zhao@linux.intel.comSigned-off-by: default avatarLu Baolu <baolu.lu@linux.intel.com>
      Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      39714fd7
  3. 01 Mar, 2024 8 commits
  4. 04 Feb, 2024 10 commits
    • Linus Torvalds's avatar
      Linux 6.8-rc3 · 54be6c6c
      Linus Torvalds authored
      54be6c6c
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 3f24fcda
      Linus Torvalds authored
      Pull ext4 fixes from Ted Ts'o:
       "Miscellaneous bug fixes and cleanups in ext4's multi-block allocator
        and extent handling code"
      
      * tag 'for-linus-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (23 commits)
        ext4: make ext4_set_iomap() recognize IOMAP_DELALLOC map type
        ext4: make ext4_map_blocks() distinguish delalloc only extent
        ext4: add a hole extent entry in cache after punch
        ext4: correct the hole length returned by ext4_map_blocks()
        ext4: convert to exclusive lock while inserting delalloc extents
        ext4: refactor ext4_da_map_blocks()
        ext4: remove 'needed' in trace_ext4_discard_preallocations
        ext4: remove unnecessary parameter "needed" in ext4_discard_preallocations
        ext4: remove unused return value of ext4_mb_release_group_pa
        ext4: remove unused return value of ext4_mb_release_inode_pa
        ext4: remove unused return value of ext4_mb_release
        ext4: remove unused ext4_allocation_context::ac_groups_considered
        ext4: remove unneeded return value of ext4_mb_release_context
        ext4: remove unused parameter ngroup in ext4_mb_choose_next_group_*()
        ext4: remove unused return value of __mb_check_buddy
        ext4: mark the group block bitmap as corrupted before reporting an error
        ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal()
        ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found()
        ext4: avoid dividing by 0 in mb_update_avg_fragment_size() when block bitmap corrupt
        ext4: avoid bb_free and bb_fragments inconsistency in mb_free_blocks()
        ...
      3f24fcda
    • Linus Torvalds's avatar
      Merge tag 'v6.8-rc3-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 9e28c7a2
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
       "Five smb3 client fixes, mostly multichannel related:
      
         - four multichannel fixes including fix for channel allocation when
           multiple inactive channels, fix for unneeded race in channel
           deallocation, correct redundant channel scaling, and redundant
           multichannel disabling scenarios
      
         - add warning if max compound requests reached"
      
      * tag 'v6.8-rc3-smb-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        smb: client: increase number of PDUs allowed in a compound request
        cifs: failure to add channel on iface should bump up weight
        cifs: do not search for channel if server is terminating
        cifs: avoid redundant calls to disable multichannel
        cifs: make sure that channel scaling is done only once
      9e28c7a2
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.8-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · fc86e5c9
      Linus Torvalds authored
      Pull xfs fixes from Chandan Babu:
      
       - Clear XFS_ATTR_INCOMPLETE filter on removing xattr from a node format
         attribute fork
      
       - Remove conditional compilation of realtime geometry validator
         functions to prevent confusing error messages from being printed on
         the console during the mount operation
      
      * tag 'xfs-6.8-fixes-2' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        xfs: remove conditional building of rt geometry validator functions
        xfs: reset XFS_ATTR_INCOMPLETE filter on node removal
      fc86e5c9
    • Linus Torvalds's avatar
      Merge tag 'char-misc-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc · 3a0e9220
      Linus Torvalds authored
      Pull char/misc driver fixes from Greg KH:
       "Here are three tiny driver fixes for 6.8-rc3.  They include:
      
         - Android binder long-term bug with epoll finally being fixed
      
         - fastrpc driver shutdown bugfix
      
         - open-dice lockdep fix
      
        All of these have been in linux-next this week with no reported
        issues"
      
      * tag 'char-misc-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
        binder: signal epoll threads of self-work
        misc: open-dice: Fix spurious lockdep warning
        misc: fastrpc: Mark all sessions as invalid in cb_remove
      3a0e9220
    • Linus Torvalds's avatar
      Merge tag 'tty-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty · 02149609
      Linus Torvalds authored
      Pull tty and serial driver fixes from Greg KH:
       "Here are some small tty and serial driver fixes for 6.8-rc3 that
        resolve a number of reported issues. Included in here are:
      
         - rs485 flag definition fix that affected the user/kernel abi in -rc1
      
         - max310x driver fixes
      
         - 8250_pci1xxxx driver off-by-one fix
      
         - uart_tiocmget locking race fix
      
        All of these have been in linux-next for over a week with no reported
        issues"
      
      * tag 'tty-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
        serial: max310x: prevent infinite while() loop in port startup
        serial: max310x: fail probe if clock crystal is unstable
        serial: max310x: improve crystal stable clock detection
        serial: max310x: set default value when reading clock ready bit
        serial: core: Fix atomicity violation in uart_tiocmget
        serial: 8250_pci1xxxx: fix off by one in pci1xxxx_process_read_data()
        tty: serial: Fix bit order in RS485 flag definitions
      02149609
    • Linus Torvalds's avatar
      Merge tag 'usb-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb · 809be620
      Linus Torvalds authored
      Pull USB driver fixes from Greg KH:
       "Here are a bunch of small USB driver fixes for 6.8-rc3. Included in
        here are:
      
         - new usb-serial driver ids
      
         - new dwc3 driver id added
      
         - typec driver change revert
      
         - ncm gadget driver endian bugfix
      
         - xhci bugfixes for a number of reported issues
      
         - usb hub bugfix for alternate settings
      
         - ulpi driver debugfs memory leak fix
      
         - chipidea driver bugfix
      
         - usb gadget driver fixes
      
        All of these have been in linux-next for a while with no reported
        issues"
      
      * tag 'usb-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (24 commits)
        USB: serial: option: add Fibocom FM101-GL variant
        USB: serial: qcserial: add new usb-id for Dell Wireless DW5826e
        USB: serial: cp210x: add ID for IMST iM871A-USB
        usb: typec: tcpm: fix the PD disabled case
        usb: ucsi_acpi: Quirk to ack a connector change ack cmd
        usb: ucsi_acpi: Fix command completion handling
        usb: ucsi: Add missing ppm_lock
        usb: ulpi: Fix debugfs directory leak
        Revert "usb: typec: tcpm: fix cc role at port reset"
        usb: gadget: pch_udc: fix an Excess kernel-doc warning
        usb: f_mass_storage: forbid async queue when shutdown happen
        USB: hub: check for alternate port before enabling A_ALT_HNP_SUPPORT
        usb: chipidea: core: handle power lost in workqueue
        usb: dwc3: gadget: Fix NULL pointer dereference in dwc3_gadget_suspend
        usb: dwc3: pci: add support for the Intel Arrow Lake-H
        usb: core: Prevent null pointer dereference in update_port_device_state
        xhci: handle isoc Babble and Buffer Overrun events properly
        xhci: process isoc TD properly when there was a transaction error mid TD.
        xhci: fix off by one check when adding a secondary interrupter.
        xhci: fix possible null pointer dereference at secondary interrupter removal
        ...
      809be620
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · bdda52cc
      Linus Torvalds authored
      Pull i2c fixlet from Wolfram Sang:
       "MAINTAINERS update to point people to the new tree for i2c host driver
        changes"
      
      * tag 'i2c-for-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        MAINTAINERS: Update i2c host drivers repository
      bdda52cc
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-fix-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · 8a0c60a0
      Linus Torvalds authored
      Pull dmaengine fixes from Vinod Koul:
       "Core:
      
         - fix return value of is_slave_direction() for D2D dma
      
        Driver fixes for:
      
         - Documentaion fixes to resolve warnings for at_hdmac driver
      
         - bunch of fsl driver fixes for memory leaks, and useless kfree
      
         - TI edma and k3 fixes for packet error and null pointer checks"
      
      * tag 'dmaengine-fix-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine:
        dmaengine: at_hdmac: add missing kernel-doc style description
        dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV
        dmaengine: fsl-qdma: Remove a useless devm_kfree()
        dmaengine: fsl-qdma: Fix a memory leak related to the queue command DMA
        dmaengine: fsl-qdma: Fix a memory leak related to the status queue DMA
        dmaengine: ti: k3-udma: Report short packet errors
        dmaengine: ti: edma: Add some null pointer checks to the edma_probe
        dmaengine: fsl-dpaa2-qdma: Fix the size of dma pools
        dmaengine: at_hdmac: fix some kernel-doc warnings
      8a0c60a0
    • Linus Torvalds's avatar
      Merge tag 'phy-fixes-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy · 843a33d6
      Linus Torvalds authored
      Pull phy driver fixes from Vinod Koul:
      
       - TI null pointer dereference
      
       - missing erdes mux entry in lan966x driver
      
       - Return of error code in renesas driver
      
       - Serdes init sequence and register offsets for IPQ drivers
      
      * tag 'phy-fixes-6.8' of git://git.kernel.org/pub/scm/linux/kernel/git/phy/linux-phy:
        phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
        phy: lan966x: Add missing serdes mux entry
        phy: renesas: rcar-gen3-usb2: Fix returning wrong error code
        phy: qcom-qmp-usb: fix serdes init sequence for IPQ6018
        phy: qcom-qmp-usb: fix register offsets for ipq8074/ipq6018
      843a33d6
  5. 03 Feb, 2024 2 commits
    • Wolfram Sang's avatar
      Merge tag 'i2c-host-fixes-6.8-rc3' of... · 957bd221
      Wolfram Sang authored
      Merge tag 'i2c-host-fixes-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-current
      
      Just a maintenance patch that updates the repository where the
      i2c host and muxes related patches will be collected.
      957bd221
    • Linus Torvalds's avatar
      Merge tag 'perf-tools-fixes-for-v6.8-1-2024-02-01' of... · b555d191
      Linus Torvalds authored
      Merge tag 'perf-tools-fixes-for-v6.8-1-2024-02-01' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools
      
      Pull perf tools fixes from Arnaldo Carvalho de Melo:
       "Vendor events:
      
         - Intel Alderlake/Sapphire Rapids metric fixes, the CPU type
           ("cpu_atom", "cpu_core") needs to be used as a prefix to be
           considered on a metric formula, detected via one of the 'perf test'
           entries.
      
        'perf test' fixes:
      
         - Fix the creation of event selector lists on 'perf test' entries, by
           initializing the sample ID flag, which is done by 'perf record', so
           this fix affects only the tests, the common case isn't affected
      
         - Make 'perf list' respect debug settings (-v) to fix its 'perf test'
           entry
      
         - Fix 'perf script' test when python support isn't enabled
      
         - Special case 'perf script' tests on s390, where only DWARF call
           graphs are supported and only on software events
      
         - Make 'perf daemon' signal test less racy
      
        Compiler warnings/errors:
      
         - Remove needless malloc(0) call in 'perf top' that triggers
           -Walloc-size
      
         - Fix calloc() argument order to address error introduced in gcc-14
      
        Build:
      
         - Make minimal shellcheck version to v0.6.0, avoiding the build to
           fail with older versions
      
        Sync kernel header copies:
      
         - stat.h to pick STATX_MNT_ID_UNIQUE
      
         - msr-index.h to pick IA32_MKTME_KEYID_PARTITIONING
      
         - drm.h to pick DRM_IOCTL_MODE_CLOSEFB
      
         - unistd.h to pick {list,stat}mount,
           lsm_{[gs]et_self_attr,list_modules} syscall numbers
      
         - x86 cpufeatures to pick TDX, Zen, APIC MSR fence changes
      
         - x86's mem{cpy,set}_64.S used in 'perf bench'
      
         - Also, without tooling effects: asm-generic/unaligned.h, mount.h,
           fcntl.h, kvm headers"
      
      * tag 'perf-tools-fixes-for-v6.8-1-2024-02-01' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools: (21 commits)
        perf tools headers: update the asm-generic/unaligned.h copy with the kernel sources
        tools include UAPI: Sync linux/mount.h copy with the kernel sources
        perf evlist: Fix evlist__new_default() for > 1 core PMU
        tools headers: Update the copy of x86's mem{cpy,set}_64.S used in 'perf bench'
        tools headers x86 cpufeatures: Sync with the kernel sources to pick TDX, Zen, APIC MSR fence changes
        tools headers UAPI: Sync unistd.h to pick {list,stat}mount, lsm_{[gs]et_self_attr,list_modules} syscall numbers
        perf vendor events intel: Alderlake/sapphirerapids metric fixes
        tools headers UAPI: Sync kvm headers with the kernel sources
        perf tools: Fix calloc() arguments to address error introduced in gcc-14
        perf top: Remove needless malloc(0) call that triggers -Walloc-size
        perf build: Make minimal shellcheck version to v0.6.0
        tools headers UAPI: Update tools's copy of drm.h headers to pick DRM_IOCTL_MODE_CLOSEFB
        perf test shell daemon: Make signal test less racy
        perf test shell script: Fix test for python being disabled
        perf test: Workaround debug output in list test
        perf list: Add output file option
        perf list: Switch error message to pr_err() to respect debug settings (-v)
        perf test: Fix 'perf script' tests on s390
        tools headers UAPI: Sync linux/fcntl.h with the kernel sources
        tools arch x86: Sync the msr-index.h copy with the kernel sources to pick IA32_MKTME_KEYID_PARTITIONING
        ...
      b555d191
  6. 02 Feb, 2024 11 commits
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 56897d51
      Linus Torvalds authored
      Pull tracing and eventfs fixes from Steven Rostedt:
      
       - Fix the return code for ring_buffer_poll_wait()
      
         It was returing a -EINVAL instead of EPOLLERR.
      
       - Zero out the tracefs_inode so that all fields are initialized.
      
         The ti->private could have had stale data, but instead of just
         initializing it to NULL, clear out the entire structure when it is
         allocated.
      
       - Fix a crash in timerlat
      
         The hrtimer was initialized at read and not open, but is canceled at
         close. If the file was opened and never read the close will pass a
         NULL pointer to hrtime_cancel().
      
       - Rewrite of eventfs.
      
         Linus wrote a patch series to remove the dentry references in the
         eventfs_inode and to use ref counting and more of proper VFS
         interfaces to make it work.
      
       - Add warning to put_ei() if ei is not set to free. That means
         something is about to free it when it shouldn't.
      
       - Restructure the eventfs_inode to make it more compact, and remove the
         unused llist field.
      
       - Remove the fsnotify*() funtions for when the inodes were being
         created in the lookup code. It doesn't make sense to notify about
         creation just because something is being looked up.
      
       - The inode hard link count was not accurate.
      
         It was being updated when a file was looked up. The inodes of
         directories were updating their parent inode hard link count every
         time the inode was created. That means if memory reclaim cleaned a
         stale directory inode and the inode was lookup up again, it would
         increment the parent inode again as well. Al Viro said to just have
         all eventfs directories have a hard link count of 1. That tells user
         space not to trust it.
      
      * tag 'trace-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        eventfs: Keep all directory links at 1
        eventfs: Remove fsnotify*() functions from lookup()
        eventfs: Restructure eventfs_inode structure to be more condensed
        eventfs: Warn if an eventfs_inode is freed without is_freed being set
        tracing/timerlat: Move hrtimer_init to timerlat_fd open()
        eventfs: Get rid of dentry pointers without refcounts
        eventfs: Clean up dentry ops and add revalidate function
        eventfs: Remove unused d_parent pointer field
        tracefs: dentry lookup crapectomy
        tracefs: Avoid using the ei->dentry pointer unnecessarily
        eventfs: Initialize the tracefs inode properly
        tracefs: Zero out the tracefs_inode when allocating it
        ring-buffer: Clean ring_buffer_poll_wait() error return
      56897d51
    • Linus Torvalds's avatar
      Merge tag 'gfs2-v6.8-rc2-revert' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 6b89b6af
      Linus Torvalds authored
      Pull gfs2 revert from Andreas Gruenbacher:
       "It turns out that the commit to use GL_NOBLOCK flag for non-blocking
        lookups has several issues, and not all of them have a simple fix"
      
      * tag 'gfs2-v6.8-rc2-revert' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2:
        Revert "gfs2: Use GL_NOBLOCK flag for non-blocking lookups"
      6b89b6af
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.8-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · b1dd6c26
      Linus Torvalds authored
      Pull pci fixes from Bjorn Helgaas:
      
       - Fix a potential deadlock that was reintroduced by an ASPM revert
         merged for v6.8 (Johan Hovold)
      
       - Add Manivannan Sadhasivam as PCI Endpoint maintainer (Lorenzo
         Pieralisi)
      
      * tag 'pci-v6.8-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
        MAINTAINERS: Add Manivannan Sadhasivam as PCI Endpoint maintainer
        PCI/ASPM: Fix deadlock when enabling ASPM
      b1dd6c26
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2024-02-03' of git://anongit.freedesktop.org/drm/drm · 9c2f0338
      Linus Torvalds authored
      Pul drm fixes from Dave Airlie:
       "Regular weekly fixes, mostly amdgpu and xe. One nouveau fix is a
        better fix for the deadlock and also helps with a sync race we were
        seeing.
      
        dma-buf:
         - heaps CMA page accounting fix
      
        virtio-gpu:
         - fix segment size
      
        xe:
         - A crash fix
         - A fix for an assert due to missing mem_acces ref
         - Only allow a single user-fence per exec / bind.
         - Some sparse warning fixes
         - Two fixes for compilation failures on various odd combinations of
           gcc / arch pointed out on LKML.
         - Fix a fragile partial allocation pointed out on LKML.
         - A sysfs ABI documentation warning fix
      
        amdgpu:
         - Fix reboot issue seen on some 7000 series dGPUs
         - Fix client init order for KFD
         - Misc display fixes
         - USB-C fix
         - DCN 3.5 fixes
         - Fix issues with GPU scheduler and GPU reset
         - GPU firmware loading fix
         - Misc fixes
         - GC 11.5 fix
         - VCN 4.0.5 fix
         - IH overflow fix
      
        amdkfd:
         - SVM fixes
         - Trap handler fix
         - Fix device permission lookup
         - Properly reserve BO before validating it
      
        nouveau:
         - fence/irq lock deadlock fix (second attempt)
         - gsp command size fix
      
      * tag 'drm-fixes-2024-02-03' of git://anongit.freedesktop.org/drm/drm: (35 commits)
        nouveau: offload fence uevents work to workqueue
        nouveau/gsp: use correct size for registry rpc.
        drm/amdgpu/pm: Use inline function for IP version check
        drm/hwmon: Fix abi doc warnings
        drm/xe: Make all GuC ABI shift values unsigned
        drm/xe/vm: Subclass userptr vmas
        drm/xe: Use LRC prefix rather than CTX prefix in lrc desc defines
        drm/xe: Don't use __user error pointers
        drm/xe: Annotate mcr_[un]lock()
        drm/xe: Only allow 1 ufence per exec / bind IOCTL
        drm/xe: Grab mem_access when disabling C6 on skip_guc_pc platforms
        drm/xe: Fix crash in trace_dma_fence_init()
        drm/amdgpu: Reset IH OVERFLOW_CLEAR bit
        drm/amdgpu: remove asymmetrical irq disabling in vcn 4.0.5 suspend
        drm/amdgpu: drm/amdgpu: remove golden setting for gfx 11.5.0
        drm/amdkfd: reserve the BO before validating it
        drm/amdgpu: Fix missing error code in 'gmc_v6/7/8/9_0_hw_init()'
        drm/amd/display: Fix buffer overflow in 'get_host_router_total_dp_tunnel_bw()'
        drm/amd/display: Add NULL check for kzalloc in 'amdgpu_dm_atomic_commit_tail()'
        drm/amd: Don't init MEC2 firmware when it fails to load
        ...
      9c2f0338
    • Linus Torvalds's avatar
      Merge tag 'input-for-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · eab5c86d
      Linus Torvalds authored
      Pull input fixes from Dmitry Torokhov:
      
       - a fix for the fix to deal with newer laptops which get confused by
         the "GET ID" command when probing for PS/2 keyboards
      
       - a couple of tweaks to i8042 to handle Clevo NS70PU and Lifebook U728
         laptops
      
       - a change to bcm5974 to validate that the device has appropriate
         endpoints
      
       - an addition of new product ID to xpad driver to recognize Lenovo
         Legion Go controllers
      
       - a quirk to Goodix controller to deal with extra GPIO described in
         ACPI tables on some devices.
      
      * tag 'input-for-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
        Input: i8042 - add Fujitsu Lifebook U728 to i8042 quirk table
        Input: i8042 - fix strange behavior of touchpad on Clevo NS70PU
        Input: atkbd - do not skip atkbd_deactivate() when skipping ATKBD_CMD_GETID
        Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID
        Input: bcm5974 - check endpoint type before starting traffic
        Input: xpad - add Lenovo Legion Go controllers
        Input: goodix - accept ACPI resources with gpio_count == 3 && gpio_int_idx == 0
      eab5c86d
    • Linus Torvalds's avatar
      Merge tag 'sound-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 01370ceb
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of fixes, mostly device-specific ones:
      
         - Minor PCM core fix for name strings
      
         - ASoC Qualcomm fixes, including DAI support extensions
      
         - ASoC AMD platform updates
      
         - ASoC Allwinner platform updates
      
         - Various ASoC codec fixes for WSA, WCD, ES8326 drivers
      
         - Various HD-audio and USB-audio fixes and quirks
      
         - A series of fixes for Cirrus CS35L56 codecs"
      
      * tag 'sound-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (63 commits)
        ALSA: usb-audio: Ignore clock selector errors for single connection
        ALSA: hda/realtek: Enable headset mic on Vaio VJFE-ADL
        ALSA: hda: cs35l56: Remove unused test stub function
        ALSA: hda: cs35l56: Firmware file must match the version of preloaded firmware
        ALSA: hda: cs35l56: Fix filename string field layout
        ALSA: hda: cs35l56: Fix order of searching for firmware files
        ASoC: cs35l56: Allow more time for firmware to boot
        ASoC: cs35l56: Load tunings for the correct speaker models
        ASoC: cs35l56: Firmware file must match the version of preloaded firmware
        ASoC: cs35l56: Fix misuse of wm_adsp 'part' string for silicon revision
        ASoC: cs35l56: Fix for initializing ASP1 mixer registers
        ALSA: hda: cs35l56: Initialize all ASP1 registers
        ASoC: cs35l56: Fix default SDW TX mixer registers
        ASoC: cs35l56: Fix to ensure ASP1 registers match cache
        ASoC: cs35l56: Remove buggy checks from cs35l56_is_fw_reload_needed()
        ASoC: cs35l56: Don't add the same register patch multiple times
        ASoC: cs35l56: cs35l56_component_remove() must clean up wm_adsp
        ASoC: cs35l56: cs35l56_component_remove() must clear cs35l56->component
        ASoC: wm_adsp: Don't overwrite fwf_name with the default
        ASoC: wm_adsp: Fix firmware file search order
        ...
      01370ceb
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.8-rc3' of... · 43e7ef64
      Linus Torvalds authored
      Merge tag 'hwmon-for-v6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
      
       - pmbus/mp2975: Fix driver initialization
      
       - gigabyte_waterforce: Add missing unlock in error handling path
      
      * tag 'hwmon-for-v6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (pmbus/mp2975) Correct comment inside 'mp2975_read_byte_data'
        hwmon: (pmbus/mp2975) Fix driver initialization for MP2975 device
        hwmon: gigabyte_waterforce: Fix locking bug in waterforce_get_status()
      43e7ef64
    • Linus Torvalds's avatar
      Merge tag 'for-v6.8-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 79837a7c
      Linus Torvalds authored
      Pull power supply fix from Sebastian Reichel:
      
       - qcom_battmgr: revert broken fix
      
      * tag 'for-v6.8-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply:
        Revert "power: supply: qcom_battmgr: Register the power supplies after PDR is up"
      79837a7c
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu · 4f18d3fd
      Linus Torvalds authored
      Pul iommu fixes from Joerg Roedel:
      
       - Make iommu_ops->default_domain work without CONFIG_IOMMU_DMA to fix
         initialization of FSL-PAMU devices
      
       - Fix for Tegra fbdev initialization failure
      
       - Fix for a VFIO device unbinding failure on PowerPC
      
      * tag 'iommu-fixes-v6.8-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
        powerpc: iommu: Bring back table group release_ownership() call
        drm/tegra: Do not assume that a NULL domain means no DMA IOMMU
        iommu: Allow ops->default_domain to work when !CONFIG_IOMMU_DMA
      4f18d3fd
    • Linus Torvalds's avatar
      Merge tag 'for-6.8/dm-fixes' of... · 6897cea7
      Linus Torvalds authored
      Merge tag 'for-6.8/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
      
      Pull device mapper fixes from Mike Snitzer:
      
       - Fix DM ioctl interface to avoid INT_MAX overflow warnings from
         kvmalloc by limiting the number of targets and parameter size area.
      
       - Fix DM stats to avoid INT_MAX overflow warnings from kvmalloc by
         limiting the number of entries supported.
      
       - Fix DM writecache to support mapping devices larger than 1 TiB by
         switching from using kvmalloc_array to vmalloc_array -- which avoids
         INT_MAX overflow in kvmalloc_node and associated warnings.
      
       - Remove the (ab)use of tasklets from both the DM crypt and verity
         targets. They will be converted to use BH workqueue in future.
      
      * tag 'for-6.8/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm-crypt, dm-verity: disable tasklets
        dm writecache: allow allocations larger than 2GiB
        dm stats: limit the number of entries
        dm: limit the number of targets and parameter size area
      6897cea7
    • Linus Torvalds's avatar
      Merge tag 'ata-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux · 03503275
      Linus Torvalds authored
      Pull ata fix from Niklas Cassel:
      
       - Following up on last week's ASMedia ASM1061 43-bit dma_mask quirk, we
         sent an email to ASMedia developers that have previously been active
         on the mailing list, asking exactly which SATA controllers that are
         affected by this hardware limitation.
      
         We got a reply that it affects all the SATA controllers in the
         ASM106x family, thus extend the existing 43-bit dma_mask quirk to
         apply to all the affected ASMedia SATA controllers.
      
      * tag 'ata-6.8-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
        ahci: Extend ASM1061 43-bit DMA address quirk to other ASM106x parts
      03503275