1. 25 Jul, 2022 9 commits
  2. 23 Jul, 2022 12 commits
  3. 13 Jul, 2022 1 commit
    • Trond Myklebust's avatar
      NFSv4: Fix races in the legacy idmapper upcall · 51fd2eb5
      Trond Myklebust authored
      nfs_idmap_instantiate() will cause the process that is waiting in
      request_key_with_auxdata() to wake up and exit. If there is a second
      process waiting for the idmap->idmap_mutex, then it may wake up and
      start a new call to request_key_with_auxdata(). If the call to
      idmap_pipe_downcall() from the first process has not yet finished
      calling nfs_idmap_complete_pipe_upcall_locked(), then we may end up
      triggering the WARN_ON_ONCE() in nfs_idmap_prepare_pipe_upcall().
      
      The fix is to ensure that we clear idmap->idmap_upcall_data before
      calling nfs_idmap_instantiate().
      
      Fixes: e9ab41b6 ("NFSv4: Clean up the legacy idmapper upcall")
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      51fd2eb5
  4. 12 Jul, 2022 8 commits
  5. 10 Jul, 2022 10 commits
    • Trond Myklebust's avatar
      NFS: Fix case insensitive renames · 6ca0a6f8
      Trond Myklebust authored
      For filesystems that are case insensitive and case preserving, we need
      to be able to rename from one case folded variant of the filename to
      another.
      Currently, if we have looked up the target filename before the call to
      rename, then we may have a hashed dentry with that target name in the
      dcache, causing the vfs to optimise away the rename.
      To avoid that, let's drop the target dentry, and leave it to the server
      to optimise away the rename if that is the correct thing to do.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      6ca0a6f8
    • Trond Myklebust's avatar
      pNFS/files: Handle RDMA connection errors correctly · 431794e6
      Trond Myklebust authored
      The RPC/RDMA driver will return -EPROTO and -ENODEV as connection errors
      under certain circumstances. Make sure that we handle them correctly and
      avoid cycling forever in a LAYOUTGET/LAYOUTRETURN loop.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      431794e6
    • Trond Myklebust's avatar
      pNFS/flexfiles: Report RDMA connection errors to the server · 7836d754
      Trond Myklebust authored
      The RPC/RDMA driver will return -EPROTO and -ENODEV as connection errors
      under certain circumstances. Make sure that we handle them and report
      them to the server. If not, we can end up cycling forever in a
      LAYOUTGET/LAYOUTRETURN loop.
      
      Fixes: a12f996d ("NFSv4/pNFS: Use connections to a DS that are all of the same protocol family")
      Cc: stable@vger.kernel.org # 5.11.x
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      7836d754
    • Trond Myklebust's avatar
      Revert "pNFS: nfs3_set_ds_client should set NFS_CS_NOPING" · 9597152d
      Trond Myklebust authored
      This reverts commit c6eb5843.
      If a transport is down, then we want to fail over to other transports if
      they are listed in the GETDEVICEINFO reply.
      
      Fixes: c6eb5843 ("pNFS: nfs3_set_ds_client should set NFS_CS_NOPING")
      Cc: stable@vger.kernel.org # 5.11.x
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      9597152d
    • Trond Myklebust's avatar
      SUNRPC: Fix an RPC/RDMA performance regression · 4b8dbdfb
      Trond Myklebust authored
      Use the standard gfp mask instead of using GFP_NOWAIT. The latter causes
      issues when under memory pressure.
      Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
      4b8dbdfb
    • Linus Torvalds's avatar
      Linux 5.19-rc6 · 32346491
      Linus Torvalds authored
      32346491
    • Linus Torvalds's avatar
      Merge branch 'hot-fixes' (fixes for rc6) · 24f4b40e
      Linus Torvalds authored
      This is a collection of three fixes for small annoyances.
      
      Two of these are already pending in other trees, but I really don't want
      to release another -rc with these issues pending, so I picked up the
      patches for these things directly.  We'll end up with duplicate commits
      eventually, I prefer that over having these issues pending.
      
      The third one is just me getting rid of another BUG_ON() just because it
      was reported and I dislike those things so much.
      
      * merge 'hot-fixes' branch:
        ida: don't use BUG_ON() for debugging
        drm/aperture: Run fbdev removal before internal helpers
        ptrace: fix clearing of JOBCTL_TRACED in ptrace_unfreeze_traced()
      24f4b40e
    • Linus Torvalds's avatar
      ida: don't use BUG_ON() for debugging · fc82bbf4
      Linus Torvalds authored
      This is another old BUG_ON() that just shouldn't exist (see also commit
      a382f8fe: "signal handling: don't use BUG_ON() for debugging").
      
      In fact, as Matthew Wilcox points out, this condition shouldn't really
      even result in a warning, since a negative id allocation result is just
      a normal allocation failure:
      
        "I wonder if we should even warn here -- sure, the caller is trying to
         free something that wasn't allocated, but we don't warn for
         kfree(NULL)"
      
      and goes on to point out how that current error check is only causing
      people to unnecessarily do their own index range checking before freeing
      it.
      
      This was noted by Itay Iellin, because the bluetooth HCI socket cookie
      code does *not* do that range checking, and ends up just freeing the
      error case too, triggering the BUG_ON().
      
      The HCI code requires CAP_NET_RAW, and seems to just result in an ugly
      splat, but there really is no reason to BUG_ON() here, and we have
      generally striven for allocation models where it's always ok to just do
      
          free(alloc());
      
      even if the allocation were to fail for some random reason (usually
      obviously that "random" reason being some resource limit).
      
      Fixes: 88eca020 ("ida: simplified functions for id allocation")
      Reported-by: default avatarItay Iellin <ieitayie@gmail.com>
      Suggested-by: default avatarMatthew Wilcox <willy@infradead.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fc82bbf4
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-fix-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine · 952c53cd
      Linus Torvalds authored
      Pull dmaengine fixes from Vinod Koul:
       "One core fix for DMA_INTERRUPT and rest driver fixes.
      
        Core:
      
         - Revert verification of DMA_INTERRUPT capability as that was
           incorrect
      
        Bunch of driver fixes for:
      
         - ti: refcount and put_device leak
      
         - qcom_bam: runtime pm overflow
      
         - idxd: force wq context cleanup and call idxd_enable_system_pasid()
           on success
      
         - dw-axi-dmac: RMW on channel suspend register
      
         - imx-sdma: restart cyclic channel when enabled
      
         - at_xdma: error handling for at_xdmac_alloc_desc
      
         - pl330: lockdep warning
      
         - lgm: error handling path in probe
      
         - allwinner: Fix min/max typo in binding"
      
      * tag 'dmaengine-fix-5.19' of git://git.kernel.org/pub/scm/linux/kernel/git/vkoul/dmaengine:
        dt-bindings: dma: allwinner,sun50i-a64-dma: Fix min/max typo
        dmaengine: lgm: Fix an error handling path in intel_ldma_probe()
        dmaengine: pl330: Fix lockdep warning about non-static key
        dmaengine: idxd: Only call idxd_enable_system_pasid() if succeeded in enabling SVA feature
        dmaengine: at_xdma: handle errors of at_xdmac_alloc_desc() correctly
        dmaengine: imx-sdma: only restart cyclic channel when enabled
        dmaengine: dw-axi-dmac: Fix RMW on channel suspend register
        dmaengine: idxd: force wq context cleanup on device disable path
        dmaengine: qcom: bam_dma: fix runtime PM underflow
        dmaengine: imx-sdma: Allow imx8m for imx7 FW revs
        dmaengine: Revert "dmaengine: add verification of DMA_INTERRUPT capability for dmatest"
        dmaengine: ti: Add missing put_device in ti_dra7_xbar_route_allocate
        dmaengine: ti: Fix refcount leak in ti_dra7_xbar_route_allocate
      952c53cd
    • Linus Torvalds's avatar
      Merge tag 'staging-5.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 5867f3b8
      Linus Torvalds authored
      Pull staging driver fix from Greg KH:
       "Here is a single staging driver fix for a reported problem that showed
        up in 5.19-rc1 in the wlan-ng driver. It has been in linux-next for a
        week with no reported problems"
      
      * tag 'staging-5.19-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging/wlan-ng: get the correct struct hfa384x in work callback
      5867f3b8