1. 02 Feb, 2024 8 commits
    • 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
    • Linus Torvalds's avatar
      Merge tag 'block-6.8-2024-02-01' of git://git.kernel.dk/linux · 815a76b9
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request via Keith:
           - Remove duplicated enums (Guixen)
           - Use appropriate controller state accessors (Keith)
           - Retryable authentication (Hannes)
           - Add missing module descriptions (Chaitanya)
           - Fibre-channel fixes for blktests (Daniel)
           - Various type correctness updates (Caleb)
           - Improve fabrics connection debugging prints (Nitin)
           - Passthrough command verbose error logging (Adam)
      
       - Fix for where we set IO priority in the bio for drivers that use
         fops->submit_bio() to queue IO, like md/dm etc.
      
      * tag 'block-6.8-2024-02-01' of git://git.kernel.dk/linux: (32 commits)
        block: Fix where bio IO priority gets set
        nvme: allow passthru cmd error logging
        nvme-fc: show hostnqn when connecting to fc target
        nvme-rdma: show hostnqn when connecting to rdma target
        nvme-tcp: show hostnqn when connecting to tcp target
        nvmet-fc: use RCU list iterator for assoc_list
        nvmet-fc: take ref count on tgtport before delete assoc
        nvmet-fc: avoid deadlock on delete association path
        nvmet-fc: abort command when there is no binding
        nvmet-fc: do not tack refs on tgtports from assoc
        nvmet-fc: remove null hostport pointer check
        nvmet-fc: hold reference on hostport match
        nvmet-fc: free queue and assoc directly
        nvmet-fc: defer cleanup using RCU properly
        nvmet-fc: release reference on target port
        nvmet-fcloop: swap the list_add_tail arguments
        nvme-fc: do not wait in vain when unloading module
        nvme-fc: log human-readable opcode on timeout
        nvme: split out fabrics version of nvme_opcode_str()
        nvme: take const cmd pointer in read-only helpers
        ...
      815a76b9
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.8-2024-02-01' of git://git.kernel.dk/linux · 717ca0b8
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - Fix for missing retry for read multishot.
      
         If we trigger the execution of it and there's more than one buffer to
         be read, then we don't always read more than the first one. As it's
         edge triggered, this can lead to stalls.
      
       - Limit inline receive multishot retries for fairness reasons.
      
         If we have a very bursty socket receiving data, we still need to
         ensure we process other requests as well. This is really two minor
         cleanups, then adding a way for poll reissue to trigger a requeue,
         and then finally having multishot receive utilize that.
      
       - Fix for a weird corner case for non-multishot receive with
         MSG_WAITALL, using provided buffers, and setting the length to
         zero (to let the buffer dictate the receive size).
      
      * tag 'io_uring-6.8-2024-02-01' of git://git.kernel.dk/linux:
        io_uring/net: fix sr->len for IORING_OP_RECV with MSG_WAITALL and buffers
        io_uring/net: limit inline multishot retries
        io_uring/poll: add requeue return code from poll multishot handling
        io_uring/net: un-indent mshot retry path in io_recv_finish()
        io_uring/poll: move poll execution helpers higher up
        io_uring/rw: ensure poll based multishot read retries appropriately
      717ca0b8
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · ec86369c
      Linus Torvalds authored
      Pull arm64 fixes from Will Deacon:
       "Two small fixes.
      
        The first one is an alternative fix for the SCS patching problem we
        thought we'd fixed in -rc1; it turned out not to be robust with all
        toolchains/configs, so this is a revert+retry which has seen some more
        testing.
      
        The other one simply removes an unused header file, but I couldn't
        resist the negative diffstat.
      
         - Really fix shadow call stack patching with LTO=full
      
         - Remove unused (empty) header file generated from the compat vDSO"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: vdso32: Remove unused vdso32-offsets.h
        arm64: scs: Disable LTO for SCS patching code
        arm64: Revert "scs: Work around full LTO issue with dynamic SCS"
      ec86369c
    • Mikulas Patocka's avatar
      dm-crypt, dm-verity: disable tasklets · 0a9bab39
      Mikulas Patocka authored
      Tasklets have an inherent problem with memory corruption. The function
      tasklet_action_common calls tasklet_trylock, then it calls the tasklet
      callback and then it calls tasklet_unlock. If the tasklet callback frees
      the structure that contains the tasklet or if it calls some code that may
      free it, tasklet_unlock will write into free memory.
      
      The commits 8e14f610 and d9a02e01 try to fix it for dm-crypt, but
      it is not a sufficient fix and the data corruption can still happen [1].
      There is no fix for dm-verity and dm-verity will write into free memory
      with every tasklet-processed bio.
      
      There will be atomic workqueues implemented in the kernel 6.9 [2]. They
      will have better interface and they will not suffer from the memory
      corruption problem.
      
      But we need something that stops the memory corruption now and that can be
      backported to the stable kernels. So, I'm proposing this commit that
      disables tasklets in both dm-crypt and dm-verity. This commit doesn't
      remove the tasklet support, because the tasklet code will be reused when
      atomic workqueues will be implemented.
      
      [1] https://lore.kernel.org/all/d390d7ee-f142-44d3-822a-87949e14608b@suse.de/T/
      [2] https://lore.kernel.org/lkml/20240130091300.2968534-1-tj@kernel.org/Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
      Cc: stable@vger.kernel.org
      Fixes: 39d42fa9 ("dm crypt: add flags to optionally bypass kcryptd workqueues")
      Fixes: 5721d4e5 ("dm verity: Add optional "try_verify_in_tasklet" feature")
      Signed-off-by: default avatarMike Snitzer <snitzer@kernel.org>
      0a9bab39
    • Shivaprasad G Bhat's avatar
      powerpc: iommu: Bring back table group release_ownership() call · d2d00e15
      Shivaprasad G Bhat authored
      The commit 2ad56efa ("powerpc/iommu: Setup a default domain and
      remove set_platform_dma_ops") refactored the code removing the
      set_platform_dma_ops(). It missed out the table group
      release_ownership() call which would have got called otherwise
      during the guest shutdown via vfio_group_detach_container(). On
      PPC64, this particular call actually sets up the 32-bit TCE table,
      and enables the 64-bit DMA bypass etc. Now after guest shutdown,
      the subsequent host driver (e.g megaraid-sas) probe post unbind
      from vfio-pci fails like,
      
      megaraid_sas 0031:01:00.0: Warning: IOMMU dma not supported: mask 0x7fffffffffffffff, table unavailable
      megaraid_sas 0031:01:00.0: Warning: IOMMU dma not supported: mask 0xffffffff, table unavailable
      megaraid_sas 0031:01:00.0: Failed to set DMA mask
      megaraid_sas 0031:01:00.0: Failed from megasas_init_fw 6539
      
      The patch brings back the call to table_group release_ownership()
      call when switching back to PLATFORM domain from BLOCKED, while
      also separates the domain_ops for both.
      
      Fixes: 2ad56efa ("powerpc/iommu: Setup a default domain and remove set_platform_dma_ops")
      Signed-off-by: default avatarShivaprasad G Bhat <sbhat@linux.ibm.com>
      Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Link: https://lore.kernel.org/r/170628173462.3742.18330000394415935845.stgit@ltcd48-lp2.aus.stglab.ibm.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
      d2d00e15
  2. 01 Feb, 2024 32 commits