1. 25 Nov, 2023 18 commits
    • Al Viro's avatar
      d_prune_aliases(): use a shrink list · b4cc0734
      Al Viro authored
      Instead of dropping aliases one by one, restarting, etc., just
      collect them into a shrink list and kill them off in one pass.
      
      We don't really need the restarts - one alias can't pin another
      (directory has only one alias, and couldn't be its own ancestor
      anyway), so collecting everything that is not busy and taking it
      out would take care of everything evictable that had been there
      as we entered the function.  And new aliases added while we'd
      been dropping old ones could just as easily have appeared right
      as we return to caller...
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      b4cc0734
    • Al Viro's avatar
    • Al Viro's avatar
      to_shrink_list(): call only if refcount is 0 · c2e5e29f
      Al Viro authored
      The only thing it does if refcount is not zero is d_lru_del(); no
      point, IMO, seeing that plain dput() does nothing of that sort...
      
      Note that 2 of 3 current callers are guaranteed that refcount is 0.
      Acked-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      c2e5e29f
    • Al Viro's avatar
      fold dentry_kill() into dput() · 5e7a5c8d
      Al Viro authored
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      5e7a5c8d
    • Al Viro's avatar
      don't try to cut corners in shrink_lock_dentry() · 339e9e13
      Al Viro authored
      That is to say, do *not* treat the ->d_inode or ->d_parent changes
      as "it's hard, return false; somebody must have grabbed it, so
      even if has zero refcount, we don't need to bother killing it -
      final dput() from whoever grabbed it would've done everything".
      
      First of all, that is not guaranteed.  It might have been dropped
      by shrink_kill() handling of victim's parent, which would've found
      it already on a shrink list (ours) and decided that they don't need
      to put it on their shrink list.
      
      What's more, dentry_kill() is doing pretty much the same thing,
      cutting its own set of corners (it assumes that dentry can't
      go from positive to negative, so its inode can change but only once
      and only in one direction).
      
      Doing that right allows to get rid of that not-quite-duplication
      and removes the only reason for re-incrementing refcount before
      the call of dentry_kill().
      
      Replacement is called lock_for_kill(); called under rcu_read_lock
      and with ->d_lock held.  If it returns false, dentry has non-zero
      refcount and the same locks are held.  If it returns true,
      dentry has zero refcount and all locks required by __dentry_kill()
      are taken.
      
      Part of __lock_parent() had been lifted into lock_parent() to
      allow its reuse.  Now it's called with rcu_read_lock already
      held and dentry already unlocked.
      
      Note that this is not the final change - locking requirements for
      __dentry_kill() are going to change later in the series and the
      set of locks taken by lock_for_kill() will be adjusted.  Both
      lock_parent() and __lock_parent() will be gone once that happens.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      339e9e13
    • Al Viro's avatar
      fold the call of retain_dentry() into fast_dput() · f05441c7
      Al Viro authored
      Calls of retain_dentry() happen immediately after getting false
      from fast_dput() and getting true from retain_dentry() is
      treated the same way as non-zero refcount would be treated by
      fast_dput() - unlock dentry and bugger off.
      
      Doing that in fast_dput() itself is simpler.
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      f05441c7
    • Al Viro's avatar
      Call retain_dentry() with refcount 0 · 2f42f1eb
      Al Viro authored
      Instead of bumping it from 0 to 1, calling retain_dentry(), then
      decrementing it back to 0 (with ->d_lock held all the way through),
      just leave refcount at 0 through all of that.
      
      It will have a visible effect for ->d_delete() - now it can be
      called with refcount 0 instead of 1 and it can no longer play
      silly buggers with dropping/regaining ->d_lock.  Not that any
      in-tree instances tried to (it's pretty hard to get right).
      
      Any out-of-tree ones will have to adjust (assuming they need any
      changes).
      
      Note that we do not need to extend rcu-critical area here - we have
      verified that refcount is non-negative after having grabbed ->d_lock,
      so nobody will be able to free dentry until they get into __dentry_kill(),
      which won't happen until they manage to grab ->d_lock.
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      2f42f1eb
    • Al Viro's avatar
      dentry_kill(): don't bother with retain_dentry() on slow path · b06c684d
      Al Viro authored
      We have already checked it and dentry used to look not worthy
      of keeping.  The only hard obstacle to evicting dentry is
      non-zero refcount; everything else is advisory - e.g. memory
      pressure could evict any dentry found with refcount zero.
      On the slow path in dentry_kill() we had dropped and regained
      ->d_lock; we must recheck the refcount, but everything else
      is not worth bothering with.
      
      Note that filesystem can not count upon ->d_delete() being
      called for dentry - not even once.  Again, memory pressure
      (as well as d_prune_aliases(), or attempted rmdir() of ancestor,
      or...) will not call ->d_delete() at all.
      
      So from the correctness point of view we are fine doing the
      check only once.  And it makes things simpler down the road.
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      b06c684d
    • Al Viro's avatar
      __dentry_kill(): get consistent rules for victim's refcount · ee0c8250
      Al Viro authored
      Currently we call it with refcount equal to 1 when called from
      dentry_kill(); all other callers have it equal to 0.
      
      Make it always be called with zero refcount; on this step we
      just decrement it before the calls in dentry_kill().  That is
      safe, since all places that care about the value of refcount
      either do that under ->d_lock or hold a reference to dentry
      in question.  Either is sufficient to prevent observing a
      dentry immediately prior to __dentry_kill() getting called
      from dentry_kill().
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      ee0c8250
    • Al Viro's avatar
      make retain_dentry() neutral with respect to refcounting · e9d130d0
      Al Viro authored
      retain_dentry() used to decrement refcount if and only if it returned
      true.  Lift those decrements into the callers.
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      e9d130d0
    • Al Viro's avatar
      __dput_to_list(): do decrement of refcount in the callers · 6511f6be
      Al Viro authored
      ... and rename it to to_shrink_list(), seeing that it no longer
      does dropping any references
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      6511f6be
    • Al Viro's avatar
      fast_dput(): new rules for refcount · 15f23734
      Al Viro authored
      By now there is only one place in entire fast_dput() where we return
      false; that happens after refcount had been decremented and found (under
      ->d_lock) to be zero.  In that case, just prior to returning false to
      caller, fast_dput() forcibly changes the refcount from 0 to 1.
      
      Lift that resetting refcount to 1 into the callers; later in the series
      it will be massaged out of existence.
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      15f23734
    • Al Viro's avatar
      fast_dput(): handle underflows gracefully · 504e08ce
      Al Viro authored
      If refcount is less than 1, we should just warn, unlock dentry and
      return true, so that the caller doesn't try to do anything else.
      
      Taking care of that leaves the rest of "lockref_put_return() has
      failed" case equivalent to "decrement refcount and rejoin the
      normal slow path after the point where we grab ->d_lock".
      
      NOTE: lockref_put_return() is strictly a fastpath thing - unlike
      the rest of lockref primitives, it does not contain a fallback.
      Caller (and it looks like fast_dput() is the only legitimate one
      in the entire kernel) has to do that itself.  Reasons for
      lockref_put_return() failures:
      	* ->d_lock held by somebody
      	* refcount <= 0
      	* ... or an architecture not supporting lockref use of
      cmpxchg - sparc, anything non-SMP, config with spinlock debugging...
      
      We could add a fallback, but it would be a clumsy API - we'd have
      to distinguish between:
      	(1) refcount > 1 - decremented, lock not held on return
      	(2) refcount < 1 - left alone, probably no sense to hold the lock
      	(3) refcount is 1, no cmphxcg - decremented, lock held on return
      	(4) refcount is 1, cmphxcg supported - decremented, lock *NOT* held
      	    on return.
      We want to return with no lock held in case (4); that's the whole point of that
      thing.  We very much do not want to have the fallback in case (3) return without
      a lock, since the caller might have to retake it in that case.
      So it wouldn't be more convenient than doing the fallback in the caller and
      it would be very easy to screw up, especially since the test coverage would
      suck - no way to test (3) and (4) on the same kernel build.
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      504e08ce
    • Al Viro's avatar
      fast_dput(): having ->d_delete() is not reason to delay refcount decrement · 15220fbf
      Al Viro authored
      ->d_delete() is a way for filesystem to tell that dentry is not worth
      keeping cached.  It is not guaranteed to be called every time a dentry
      has refcount drop down to zero; it is not guaranteed to be called before
      dentry gets evicted.  In other words, it is not suitable for any kind
      of keeping track of dentry state.
      
      None of the in-tree filesystems attempt to use it that way, fortunately.
      
      So the contortions done by fast_dput() (as well as dentry_kill()) are
      not warranted.  fast_dput() certainly should treat having ->d_delete()
      instance as "can't assume we'll be keeping it", but that's not different
      from the way we treat e.g. DCACHE_DONTCACHE (which is rather similar
      to making ->d_delete() returns true when called).
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      15220fbf
    • Al Viro's avatar
      shrink_dentry_list(): no need to check that dentry refcount is marked dead · cd9f84f3
      Al Viro authored
      ... we won't see DCACHE_MAY_FREE on anything that is *not* dead
      and checking d_flags is just as cheap as checking refcount.
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      cd9f84f3
    • Al Viro's avatar
      centralize killing dentry from shrink list · 3fcf5356
      Al Viro authored
      new helper unifying identical bits of shrink_dentry_list() and
      shring_dcache_for_umount()
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      3fcf5356
    • Al Viro's avatar
      dentry: switch the lists of children to hlist · da549bdd
      Al Viro authored
      Saves a pointer per struct dentry and actually makes the things less
      clumsy.  Cleaned the d_walk() and dcache_readdir() a bit by use
      of hlist_for_... iterators.
      
      A couple of new helpers - d_first_child() and d_next_sibling(),
      to make the expressions less awful.
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      da549bdd
    • Al Viro's avatar
      coda_flag_children(): cope with dentries turning negative · b31559f8
      Al Viro authored
      ->d_lock on parent does not stabilize ->d_inode of child.
      We don't do much with that inode in there, but we need
      at least to avoid struct inode getting freed under us...
      
      [rcu_read_lock() is not needed here, since parent's ->d_lock
      provides an rcu-critical area]
      Reviewed-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      b31559f8
  2. 18 Nov, 2023 1 commit
  3. 13 Nov, 2023 1 commit
  4. 12 Nov, 2023 5 commits
  5. 11 Nov, 2023 1 commit
    • Linus Torvalds's avatar
      Merge tag 'probes-fixes-v6.7-rc1' of... · 3ca112b7
      Linus Torvalds authored
      Merge tag 'probes-fixes-v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace
      
      Pull probes fixes from Masami Hiramatsu:
      
       - Documentation update: Add a note about argument and return value
         fetching is the best effort because it depends on the type.
      
       - objpool: Fix to make internal global variables static in
         test_objpool.c.
      
       - kprobes: Unify kprobes_exceptions_nofify() prototypes. There are the
         same prototypes in asm/kprobes.h for some architectures, but some of
         them are missing the prototype and it causes a warning. So move the
         prototype into linux/kprobes.h.
      
       - tracing: Fix to check the tracepoint event and return event at
         parsing stage. The tracepoint event doesn't support %return but if
         $retval exists, it will be converted to %return silently. This finds
         that case and rejects it.
      
       - tracing: Fix the order of the descriptions about the parameters of
         __kprobe_event_gen_cmd_start() to be consistent with the argument
         list of the function.
      
      * tag 'probes-fixes-v6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing/kprobes: Fix the order of argument descriptions
        tracing: fprobe-event: Fix to check tracepoint event and return
        kprobes: unify kprobes_exceptions_nofify() prototypes
        lib: test_objpool: make global variables static
        Documentation: tracing: Add a note about argument and retval access
      3ca112b7
  6. 10 Nov, 2023 14 commits
    • Linus Torvalds's avatar
      Merge tag 'fbdev-for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev · 18553507
      Linus Torvalds authored
      Pull fbdev fixes and cleanups from Helge Deller:
      
       - fix double free and resource leaks in imsttfb
      
       - lots of remove callback cleanups and section mismatch fixes in
         omapfb, amifb and atmel_lcdfb
      
       - error code fix and memparse simplification in omapfb
      
      * tag 'fbdev-for-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (31 commits)
        fbdev: fsl-diu-fb: mark wr_reg_wa() static
        fbdev: amifb: Convert to platform remove callback returning void
        fbdev: amifb: Mark driver struct with __refdata to prevent section mismatch warning
        fbdev: hyperv_fb: fix uninitialized local variable use
        fbdev: omapfb/tpd12s015: Convert to platform remove callback returning void
        fbdev: omapfb/tfp410: Convert to platform remove callback returning void
        fbdev: omapfb/sharp-ls037v7dw01: Convert to platform remove callback returning void
        fbdev: omapfb/opa362: Convert to platform remove callback returning void
        fbdev: omapfb/hdmi: Convert to platform remove callback returning void
        fbdev: omapfb/dvi: Convert to platform remove callback returning void
        fbdev: omapfb/dsi-cm: Convert to platform remove callback returning void
        fbdev: omapfb/dpi: Convert to platform remove callback returning void
        fbdev: omapfb/analog-tv: Convert to platform remove callback returning void
        fbdev: atmel_lcdfb: Convert to platform remove callback returning void
        fbdev: omapfb/tpd12s015: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/tfp410: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/sharp-ls037v7dw01: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/opa362: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/hdmi: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        fbdev: omapfb/dvi: Don't put .remove() in .exit.text and drop suppress_bind_attrs
        ...
      18553507
    • Yujie Liu's avatar
      tracing/kprobes: Fix the order of argument descriptions · f032c53b
      Yujie Liu authored
      The order of descriptions should be consistent with the argument list of
      the function, so "kretprobe" should be the second one.
      
      int __kprobe_event_gen_cmd_start(struct dynevent_cmd *cmd, bool kretprobe,
                                       const char *name, const char *loc, ...)
      
      Link: https://lore.kernel.org/all/20231031041305.3363712-1-yujie.liu@intel.com/
      
      Fixes: 2a588dd1 ("tracing: Add kprobe event command generation functions")
      Suggested-by: default avatarMukesh Ojha <quic_mojha@quicinc.com>
      Signed-off-by: default avatarYujie Liu <yujie.liu@intel.com>
      Reviewed-by: default avatarMukesh Ojha <quic_mojha@quicinc.com>
      Signed-off-by: default avatarMasami Hiramatsu (Google) <mhiramat@kernel.org>
      f032c53b
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2023-11-10' of git://anongit.freedesktop.org/drm/drm · c0d12d76
      Linus Torvalds authored
      Pull drm fixes from Daniel Vetter:
       "Dave's VPN to the big machine died, so it's on me to do fixes pr this
        and next week while everyone else is at plumbers.
      
         - big pile of amd fixes, but mostly for hw support newly added in 6.7
      
         - i915 fixes, mostly minor things
      
         - qxl memory leak fix
      
         - vc4 uaf fix in mock helpers
      
         - syncobj fix for DRM_SYNCOBJ_WAIT_FLAGS_WAIT_AVAILABLE"
      
      * tag 'drm-next-2023-11-10' of git://anongit.freedesktop.org/drm/drm: (78 commits)
        drm/amdgpu: fix error handling in amdgpu_vm_init
        drm/amdgpu: Fix possible null pointer dereference
        drm/amdgpu: move UVD and VCE sched entity init after sched init
        drm/amdgpu: move kfd_resume before the ip late init
        drm/amd: Explicitly check for GFXOFF to be enabled for s0ix
        drm/amdgpu: Change WREG32_RLC to WREG32_SOC15_RLC where inst != 0 (v2)
        drm/amdgpu: Use correct KIQ MEC engine for gfx9.4.3 (v5)
        drm/amdgpu: add smu v13.0.6 pcs xgmi ras error query support
        drm/amdgpu: fix software pci_unplug on some chips
        drm/amd/display: remove duplicated argument
        drm/amdgpu: correct mca debugfs dump reg list
        drm/amdgpu: correct acclerator check architecutre dump
        drm/amdgpu: add pcs xgmi v6.4.0 ras support
        drm/amdgpu: Change extended-scope MTYPE on GC 9.4.3
        drm/amdgpu: disable smu v13.0.6 mca debug mode by default
        drm/amdgpu: Support multiple error query modes
        drm/amdgpu: refine smu v13.0.6 mca dump driver
        drm/amdgpu: Do not program PF-only regs in hdp_v4_0.c under SRIOV (v2)
        drm/amdgpu: Skip PCTL0_MMHUB_DEEPSLEEP_IB write in jpegv4.0.3 under SRIOV
        drm: amd: Resolve Sphinx unexpected indentation warning
        ...
      c0d12d76
    • Linus Torvalds's avatar
      Merge tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · ac347a06
      Linus Torvalds authored
      Pull arm64 fixes from Catalin Marinas:
       "Mostly PMU fixes and a reworking of the pseudo-NMI disabling on broken
        MediaTek firmware:
      
         - Move the MediaTek GIC quirk handling from irqchip to core. Before
           the merging window commit 44bd78dd ("irqchip/gic-v3: Disable
           pseudo NMIs on MediaTek devices w/ firmware issues") temporarily
           addressed this issue. Fixed now at a deeper level in the arch code
      
         - Reject events meant for other PMUs in the CoreSight PMU driver,
           otherwise some of the core PMU events would disappear
      
         - Fix the Armv8 PMUv3 driver driver to not truncate 64-bit registers,
           causing some events to be invisible
      
         - Remove duplicate declaration of __arm64_sys##name following the
           patch to avoid prototype warning for syscalls
      
         - Typos in the elf_hwcap documentation"
      
      * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64/syscall: Remove duplicate declaration
        Revert "arm64: smp: avoid NMI IPIs with broken MediaTek FW"
        arm64: Move MediaTek GIC quirk handling from irqchip to core
        arm64/arm: arm_pmuv3: perf: Don't truncate 64-bit registers
        perf: arm_cspmu: Reject events meant for other PMUs
        Documentation/arm64: Fix typos in elf_hwcaps
      ac347a06
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · e1d809b3
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "A collection of fixes for rc1.
      
        The majority of changes are various ASoC driver-specific small fixes
        and usual HD-audio quirks, while there are a couple of core changes: a
        fix in ALSA core procfs code to avoid deadlocks at disconnection and
        an ASoC core fix for DAPM clock widgets"
      
      * tag 'sound-fix-6.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        OSS: dmasound/paula: Convert to platform remove callback returning void
        ALSA: hda: ASUS UM5302LA: Added quirks for cs35L41/10431A83 on i2c bus
        ALSA: info: Fix potential deadlock at disconnection
        ASoC: nau8540: Add self recovery to improve capture quility
        ALSA: hda/realtek: Add support dual speaker for Dell
        ALSA: hda: Add ASRock X670E Taichi to denylist
        ALSA: hda/realtek: Add quirk for ASUS UX7602ZM
        ASoC: SOF: sof-client: trivial: fix comment typo
        ASoC: dapm: fix clock get name
        ASoC: hdmi-codec: register hpd callback on component probe
        ASoC: mediatek: mt8186_mt6366_rt1019_rt5682s: trivial: fix error messages
        ASoC: da7219: Improve system suspend and resume handling
        ASoC: codecs: Modify macro value error
        ASoC: codecs: Modify the wrong judgment of re value
        ASoC: codecs: Modify the maximum value of calib
        ASoC: amd: acp: fix for i2s mode register field update
        ASoC: codecs: aw88399: Fix -Wuninitialized in aw_dev_set_vcalb()
        ASoC: rt712-sdca: fix speaker route missing issue
        ASoC: rockchip: Fix unused rockchip_i2s_tdm_match warning for !CONFIG_OF
        ASoC: ti: omap-mcbsp: Fix runtime PM underflow warnings
      e1d809b3
    • Daniel Vetter's avatar
      Merge tag 'amd-drm-next-6.7-2023-11-10' of https://gitlab.freedesktop.org/agd5f/linux into drm-next · 03df0fc0
      Daniel Vetter authored
      amd-drm-next-6.7-2023-11-10:
      
      amdgpu:
      - SR-IOV fixes
      - DMCUB fixes
      - DCN3.5 fixes
      - DP2 fixes
      - SubVP fixes
      - SMU14 fixes
      - SDMA4.x fixes
      - Suspend/resume fixes
      - AGP regression fix
      - UAF fixes for some error cases
      - SMU 13.0.6 fixes
      - Documentation fixes
      - RAS fixes
      - Hotplug fixes
      - Scheduling entity ordering fix
      - GPUVM fixes
      Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
      From: Alex Deucher <alexander.deucher@amd.com>
      Link: https://patchwork.freedesktop.org/patch/msgid/20231110190703.4741-1-alexander.deucher@amd.com
      03df0fc0
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v6.7-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · ae4f52a7
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A couple of fixes that came in during the merge window: one Kconfig
        dependency fix and another fix for a long standing issue where a sync
        transfer races with system suspend"
      
      * tag 'spi-fix-v6.7-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: Fix null dereference on suspend
        spi: spi-zynq-qspi: add spi-mem to driver kconfig dependencies
      ae4f52a7
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · b456259e
      Linus Torvalds authored
      Pull MMC fixes from Ulf Hansson:
       "MMC core:
         - Fix broken cache-flush support for Micron eMMCs
         - Revert 'mmc: core: Capture correct oemid-bits for eMMC cards'
      
        MMC host:
         - sdhci_am654: Fix TAP value parsing for legacy speed mode
         - sdhci-pci-gli: Fix support for ASPM mode for GL9755/GL9750
         - vub300: Fix an error path in probe"
      
      * tag 'mmc-v6.7-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: sdhci-pci-gli: GL9750: Mask the replay timer timeout of AER
        mmc: sdhci-pci-gli: GL9755: Mask the replay timer timeout of AER
        Revert "mmc: core: Capture correct oemid-bits for eMMC cards"
        mmc: vub300: fix an error code
        mmc: Add quirk MMC_QUIRK_BROKEN_CACHE_FLUSH for Micron eMMC Q2J54A
        mmc: sdhci_am654: fix start loop index for TAP value parsing
      b456259e
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-6.7-rc1-fixes' of... · b077b7ee
      Linus Torvalds authored
      Merge tag 'pwm/for-6.7-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm fixes from Thierry Reding:
       "This contains two very small fixes that I failed to include in the
        main pull request"
      
      * tag 'pwm/for-6.7-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: Fix double shift bug
        pwm: samsung: Fix a bit test in pwm_samsung_resume()
      b077b7ee
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.7-2023-11-10' of git://git.kernel.dk/linux · b712075e
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "Mostly just a few fixes and cleanups caused by the read multishot
        support.
      
        Outside of that, a stable fix for how a connect retry is done"
      
      * tag 'io_uring-6.7-2023-11-10' of git://git.kernel.dk/linux:
        io_uring: do not clamp read length for multishot read
        io_uring: do not allow multishot read to set addr or len
        io_uring: indicate if io_kbuf_recycle did recycle anything
        io_uring/rw: add separate prep handler for fixed read/write
        io_uring/rw: add separate prep handler for readv/writev
        io_uring/net: ensure socket is marked connected on connect retry
        io_uring/rw: don't attempt to allocate async data if opcode doesn't need it
      b712075e
    • Linus Torvalds's avatar
      Merge tag 'block-6.7-2023-11-10' of git://git.kernel.dk/linux · 4b803784
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - NVMe pull request via Keith:
            - nvme keyring config compile fixes (Hannes and Arnd)
            - fabrics keep alive fixes (Hannes)
            - tcp authentication fixes (Mark)
            - io_uring_cmd error handling fix (Anuj)
            - stale firmware attribute fix (Daniel)
            - tcp memory leak (Christophe)
            - crypto library usage simplification (Eric)
      
       - nbd use-after-free fix. May need a followup, but at least it's better
         than what it was before (Li)
      
       - Rate limit write on read-only device warnings (Yu)
      
      * tag 'block-6.7-2023-11-10' of git://git.kernel.dk/linux:
        nvme: keyring: fix conditional compilation
        nvme: common: make keyring and auth separate modules
        blk-core: use pr_warn_ratelimited() in bio_check_ro()
        nbd: fix uaf in nbd_open
        nvme: start keep-alive after admin queue setup
        nvme-loop: always quiesce and cancel commands before destroying admin q
        nvme-tcp: avoid open-coding nvme_tcp_teardown_admin_queue()
        nvme-auth: always set valid seq_num in dhchap reply
        nvme-auth: add flag for bi-directional auth
        nvme-auth: auth success1 msg always includes resp
        nvme: fix error-handling for io_uring nvme-passthrough
        nvme: update firmware version after commit
        nvme-tcp: Fix a memory leak
        nvme-auth: use crypto_shash_tfm_digest()
      4b803784
    • Linus Torvalds's avatar
      Merge tag 'ata-6.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · d035e4eb
      Linus Torvalds authored
      Pull ata fixes from Damien Le Moal:
      
       - Revert a change in ata_pci_shutdown_one() to suspend disks on
         shutdown as this is now done using the manage_shutdown scsi device
         flag (me)
      
       - Change the pata_falcon and pata_gayle drivers to stop using
         module_platform_driver_probe(). This makes these drivers more inline
         with all other drivers (allowing bind/unbind) and suppress a
         compilation warning (Uwe)
      
       - Convert the pata_falcon and pata_gayle drivers to the new
         .remove_new() void-return callback. These 2 drivers are the last ones
         needing this change (Uwe)
      
      * tag 'ata-6.7-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        ata: pata_gayle: Convert to platform remove callback returning void
        ata: pata_falcon: Convert to platform remove callback returning void
        ata: pata_gayle: Stop using module_platform_driver_probe()
        ata: pata_falcon: Stop using module_platform_driver_probe()
        ata: libata-core: Fix ata_pci_shutdown_one()
      d035e4eb
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-6.7-2023-11-10' of git://git.infradead.org/users/hch/dma-mapping · 391ce5b9
      Linus Torvalds authored
      Pull dma-mapping fixes from Christoph Hellwig:
      
       - don't leave pages decrypted for DMA in encrypted memory setups linger
         around on failure (Petr Tesarik)
      
       - fix an out of bounds access in the new dynamic swiotlb code (Petr
         Tesarik)
      
       - fix dma_addressing_limited for systems with weird physical memory
         layouts (Jia He)
      
      * tag 'dma-mapping-6.7-2023-11-10' of git://git.infradead.org/users/hch/dma-mapping:
        swiotlb: fix out-of-bounds TLB allocations with CONFIG_SWIOTLB_DYNAMIC
        dma-mapping: fix dma_addressing_limited() if dma_range_map can't cover all system RAM
        dma-mapping: move dma_addressing_limited() out of line
        swiotlb: do not free decrypted pages if dynamic
      391ce5b9
    • Linus Torvalds's avatar
      Merge tag 'lsm-pr-20231109' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm · ead3b62a
      Linus Torvalds authored
      Pull lsm updates from Paul Moore:
       "We've got two small patches to correct the default return
        value of two LSM hooks: security_vm_enough_memory_mm() and
        security_inode_getsecctx()"
      
      * tag 'lsm-pr-20231109' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/lsm:
        lsm: fix default return value for inode_getsecctx
        lsm: fix default return value for vm_enough_memory
      ead3b62a