Skip to content
  1. Jun 15, 2025
  2. Jun 14, 2025
    • Linus Torvalds's avatar
      Merge tag 'v6.16-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 8c6bc74c
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
      
       - SMB3.1.1 POSIX extensions fix for char remapping
      
       - Fix for repeated directory listings when directory leases enabled
      
       - deferred close handle reuse fix
      
      * tag 'v6.16-rc1-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        smb: improve directory cache reuse for readdir operations
        smb: client: fix perf regression with deferred closes
        smb: client: disable path remapping with POSIX extensions
      8c6bc74c
    • Linus Torvalds's avatar
      Merge tag 'iommu-fixes-v6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux · ac91b4de
      Linus Torvalds authored
      Pull iommu fix from Joerg Roedel:
      
       - Fix PTE size calculation for NVidia Tegra
      
      * tag 'iommu-fixes-v6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux:
        iommu/tegra: Fix incorrect size calculation
      ac91b4de
    • Linus Torvalds's avatar
      Merge tag 'block-6.16-20250614' of git://git.kernel.dk/linux · f713ffa3
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
      
       - Fix for a deadlock on queue freeze with zoned writes
      
       - Fix for zoned append emulation
      
       - Two bio folio fixes, for sparsemem and for very large folios
      
       - Fix for a performance regression introduced in 6.13 when plug
         insertion was changed
      
       - Fix for NVMe passthrough handling for polled IO
      
       - Document the ublk auto registration feature
      
       - loop lockdep warning fix
      
      * tag 'block-6.16-20250614' of git://git.kernel.dk/linux:
        nvme: always punt polled uring_cmd end_io work to task_work
        Documentation: ublk: Separate UBLK_F_AUTO_BUF_REG fallback behavior sublists
        block: Fix bvec_set_folio() for very large folios
        bio: Fix bio_first_folio() for SPARSEMEM without VMEMMAP
        block: use plug request list tail for one-shot backmerge attempt
        block: don't use submit_bio_noacct_nocheck in blk_zone_wplug_bio_work
        block: Clear BIO_EMULATES_ZONE_APPEND flag on BIO completion
        ublk: document auto buffer registration(UBLK_F_AUTO_BUF_REG)
        loop: move lo_set_size() out of queue freeze
      f713ffa3
    • Linus Torvalds's avatar
      Merge tag 'io_uring-6.16-20250614' of git://git.kernel.dk/linux · 6d13760e
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
      
       - Fix for a race between SQPOLL exit and fdinfo reading.
      
         It's slim and I was only able to reproduce this with an artificial
         delay in the kernel. Followup sparse fix as well to unify the access
         to ->thread.
      
       - Fix for multiple buffer peeking, avoiding truncation if possible.
      
       - Run local task_work for IOPOLL reaping when the ring is exiting.
      
         This currently isn't done due to an assumption that polled IO will
         never need task_work, but a fix on the block side is going to change
         that.
      
      * tag 'io_uring-6.16-20250614' of git://git.kernel.dk/linux:
        io_uring: run local task_work from ring exit IOPOLL reaping
        io_uring/kbuf: don't truncate end buffer for multiple buffer peeks
        io_uring: consistently use rcu semantics with sqpoll thread
        io_uring: fix use-after-free of sq->thread in __io_uring_show_fdinfo()
      6d13760e
    • Linus Torvalds's avatar
      Merge tag 'rust-fixes-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux · 588adb24
      Linus Torvalds authored
      Pull Rust fix from Miguel Ojeda:
      
        - 'hrtimer': fix future compile error when the 'impl_has_hr_timer!'
          macro starts to get called
      
      * tag 'rust-fixes-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux:
        rust: time: Fix compile error in impl_has_hr_timer macro
      588adb24
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2025-06-13-21-56' of... · 27b9989b
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2025-06-13-21-56' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull misc fixes from Andrew Morton:
       "9 hotfixes. 3 are cc:stable and the remainder address post-6.15 issues
        or aren't considered necessary for -stable kernels. Only 4 are for MM"
      
      * tag 'mm-hotfixes-stable-2025-06-13-21-56' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        mm: add mmap_prepare() compatibility layer for nested file systems
        init: fix build warnings about export.h
        MAINTAINERS: add Barry as a THP reviewer
        drivers/rapidio/rio_cm.c: prevent possible heap overwrite
        mm: close theoretical race where stale TLB entries could linger
        mm/vma: reset VMA iterator on commit_merge() OOM failure
        docs: proc: update VmFlags documentation in smaps
        scatterlist: fix extraneous '@'-sign kernel-doc notation
        selftests/mm: skip failed memfd setups in gup_longterm
      27b9989b
  3. Jun 13, 2025
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 4774cfe3
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "All fixes for drivers.
      
        The core change in the error handler is simply to translate an ALUA
        specific sense code into a retry the ALUA components can handle and
        won't impact any other devices"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: error: alua: I/O errors for ALUA state transitions
        scsi: storvsc: Increase the timeouts to storvsc_timeout
        scsi: s390: zfcp: Ensure synchronous unit_add
        scsi: iscsi: Fix incorrect error path labels for flashnode operations
        scsi: mvsas: Fix typos in per-phy comments and SAS cmd port registers
        scsi: core: ufs: Fix a hang in the error handler
      4774cfe3
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2025-06-14' of https://gitlab.freedesktop.org/drm/kernel · 25294cb8
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Quiet week, only two pull requests came my way, xe has a couple of
        fixes and then a bunch of fixes across the board, vc4 probably fixes
        the biggest problem:
      
        vc4:
         - Fix infinite EPROBE_DEFER loop in vc4 probing
      
        amdxdna:
         - Fix amdxdna firmware size
      
        meson:
         - modesetting fixes
      
        sitronix:
         - Kconfig fix for st7171-i2c
      
        dma-buf:
         - Fix -EBUSY WARN_ON_ONCE in dma-buf
      
        udmabuf:
         - Use dma_sync_sgtable_for_cpu in udmabuf
      
        xe:
         - Fix regression disallowing 64K SVM migration
         - Use a bounce buffer for WA BB"
      
      * tag 'drm-fixes-2025-06-14' of https://gitlab.freedesktop.org/drm/kernel:
        drm/xe/lrc: Use a temporary buffer for WA BB
        udmabuf: use sgtable-based scatterlist wrappers
        dma-buf: fix compare in WARN_ON_ONCE
        drm/sitronix: st7571-i2c: Select VIDEOMODE_HELPERS
        drm/meson: fix more rounding issues with 59.94Hz modes
        drm/meson: use vclk_freq instead of pixel_freq in debug print
        drm/meson: fix debug log statement when setting the HDMI clocks
        drm/vc4: fix infinite EPROBE_DEFER loop
        drm/xe/svm: Fix regression disallowing 64K SVM migration
        accel/amdxdna: Fix incorrect PSP firmware size
      25294cb8
    • Jens Axboe's avatar
      io_uring: run local task_work from ring exit IOPOLL reaping · b62e0efd
      Jens Axboe authored
      
      
      In preparation for needing to shift NVMe passthrough to always use
      task_work for polled IO completions, ensure that those are suitably
      run at exit time. See commit:
      
      9ce6c987 ("nvme: always punt polled uring_cmd end_io work to task_work")
      
      for details on why that is necessary.
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      b62e0efd
    • Jens Axboe's avatar
      nvme: always punt polled uring_cmd end_io work to task_work · 9ce6c987
      Jens Axboe authored
      
      
      Currently NVMe uring_cmd completions will complete locally, if they are
      polled. This is done because those completions are always invoked from
      task context. And while that is true, there's no guarantee that it's
      invoked under the right ring context, or even task. If someone does
      NVMe passthrough via multiple threads and with a limited number of
      poll queues, then ringA may find completions from ringB. For that case,
      completing the request may not be sound.
      
      Always just punt the passthrough completions via task_work, which will
      redirect the completion, if needed.
      
      Cc: stable@vger.kernel.org
      Fixes: 585079b6 ("nvme: wire up async polling for io passthrough commands")
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      9ce6c987
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 18531f4d
      Linus Torvalds authored
      Pull ACPI fixes from Rafael Wysocki:
       "These fix an ACPI APEI error injection driver failure that started to
        occur after switching it over to using a faux device, address an EC
        driver issue related to invalid ECDT tables, clean up the usage of
        mwait_idle_with_hints() in the ACPI PAD driver, add a new IRQ override
        quirk, and fix a NULL pointer dereference related to nosmp:
      
         - Update the faux device handling code in the driver core and address
           an ACPI APEI error injection driver failure that started to occur
           after switching it over to using a faux device on top of that (Dan
           Williams)
      
         - Update data types of variables passed as arguments to
           mwait_idle_with_hints() in the ACPI PAD (processor aggregator
           device) driver to match the function definition after recent
           changes (Uros Bizjak)
      
         - Fix a NULL pointer dereference in the ACPI CPPC library that occurs
           when nosmp is passed to the kernel in the command line (Yunhui Cui)
      
         - Ignore ECDT tables with an invalid ID string to prevent using an
           incorrect GPE for signaling events on some systems (Armin Wolf)
      
         - Add a new IRQ override quirk for MACHENIKE 16P (Wentao Guan)"
      
      * tag 'acpi-6.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: resource: Use IRQ override on MACHENIKE 16P
        ACPI: EC: Ignore ECDT tables with an invalid ID string
        ACPI: CPPC: Fix NULL pointer dereference when nosmp is used
        ACPI: PAD: Update arguments of mwait_idle_with_hints()
        ACPI: APEI: EINJ: Do not fail einj_init() on faux_device_create() failure
        driver core: faux: Quiet probe failures
        driver core: faux: Suppress bind attributes
      18531f4d
    • Linus Torvalds's avatar
      Merge tag 'pm-6.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · f688b599
      Linus Torvalds authored
      Pull power management fixes from Rafael Wysocki:
       "These fix the cpupower utility installation, fix up the recently added
        Rust abstractions for cpufreq and OPP, restore the x86 update
        eliminating mwait_play_dead_cpuid_hint() that has been reverted during
        the 6.16 merge window along with preventing the failure caused by it
        from happening, and clean up mwait_idle_with_hints() usage in
        intel_idle:
      
         - Implement CpuId Rust abstraction and use it to fix doctest failure
           related to the recently introduced cpumask abstraction (Viresh
           Kumar)
      
         - Do minor cleanups in the `# Safety` sections for cpufreq
           abstractions added recently (Viresh Kumar)
      
         - Unbreak cpupower systemd service units installation on some systems
           by adding a unitdir variable for specifying the location to install
           them (Francesco Poli)
      
         - Eliminate mwait_play_dead_cpuid_hint() again after reverting its
           elimination during the 6.16 merge window due to a problem with
           handling "dead" SMT siblings, but this time prevent leaving them in
           C1 after initialization by taking them online and back offline when
           a proper cpuidle driver for the platform has been registered
           (Rafael Wysocki)
      
         - Update data types of variables passed as arguments to
           mwait_idle_with_hints() to match the function definition after
           recent changes (Uros Bizjak)"
      
      * tag 'pm-6.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        rust: cpu: Add CpuId::current() to retrieve current CPU ID
        rust: Use CpuId in place of raw CPU numbers
        rust: cpu: Introduce CpuId abstraction
        intel_idle: Update arguments of mwait_idle_with_hints()
        cpufreq: Convert `/// SAFETY` lines to `# Safety` sections
        cpupower: split unitdir from libdir in Makefile
        Reapply "x86/smp: Eliminate mwait_play_dead_cpuid_hint()"
        ACPI: processor: Rescan "dead" SMT siblings during initialization
        intel_idle: Rescan "dead" SMT siblings during initialization
        x86/smp: PM/hibernate: Split arch_resume_nosmt()
        intel_idle: Use subsys_initcall_sync() for initialization
      f688b599
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-pad', 'acpi-cppc', 'acpi-ec' and 'acpi-resource' · 28b06993
      Rafael J. Wysocki authored
      Merge assorted ACPI updates for 6.16-rc2:
      
       - Update data types of variables passed as arguments to
         mwait_idle_with_hints() in the ACPI PAD (processor aggregator device)
         driver to match the function definition after recent changes (Uros
         Bizjak).
      
       - Fix a NULL pointer dereference in the ACPI CPPC library that occurs
         when nosmp is passed to the kernel in the command line (Yunhui Cui).
      
       - Ignore ECDT tables with an invalid ID string to prevent using an
         incorrect GPE for signaling events on some systems (Armin Wolf).
      
       - Add a new IRQ override quirk for MACHENIKE 16P (Wentao Guan).
      
      * acpi-pad:
        ACPI: PAD: Update arguments of mwait_idle_with_hints()
      
      * acpi-cppc:
        ACPI: CPPC: Fix NULL pointer dereference when nosmp is used
      
      * acpi-ec:
        ACPI: EC: Ignore ECDT tables with an invalid ID string
      
      * acpi-resource:
        ACPI: resource: Use IRQ override on MACHENIKE 16P
      28b06993
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpuidle' · dd358185
      Rafael J. Wysocki authored
      Merge cpuidle updates for 6.16-rc2:
      
       - Update data types of variables passed as arguments to
         mwait_idle_with_hints() to match the function definition
         after recent changes (Uros Bizjak).
      
       - Eliminate mwait_play_dead_cpuid_hint() again after reverting its
         elimination during the merge window due to a problem with handling
         "dead" SMT siblings, but this time prevent leaving them in C1 after
         initialization by taking them online and back offline when a proper
         cpuidle driver for the platform has been registered (Rafael Wysocki).
      
      * pm-cpuidle:
        intel_idle: Update arguments of mwait_idle_with_hints()
        Reapply "x86/smp: Eliminate mwait_play_dead_cpuid_hint()"
        ACPI: processor: Rescan "dead" SMT siblings during initialization
        intel_idle: Rescan "dead" SMT siblings during initialization
        x86/smp: PM/hibernate: Split arch_resume_nosmt()
        intel_idle: Use subsys_initcall_sync() for initialization
      dd358185
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-tools' · ea286760
      Rafael J. Wysocki authored
      Merge a cpupower utility fix for 6.16-rc2 that unbreaks systemd service
      units installation on some sysems (Francesco Poli).
      
      * pm-tools:
        cpupower: split unitdir from libdir in Makefile
      ea286760
    • Linus Torvalds's avatar
      Merge tag 'spi-fix-v6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 02adc149
      Linus Torvalds authored
      Pull spi fixes from Mark Brown:
       "A collection of driver specific fixes, most minor apart from the OMAP
        ones which disable some recent performance optimisations in some
        non-standard cases where we could start driving the bus incorrectly.
      
        The change to the stm32-ospi driver to use the newer reset APIs is a
        fix for interactions with other IP sharing the same reset line in some
        SoCs"
      
      * tag 'spi-fix-v6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
        spi: spi-pci1xxxx: Drop MSI-X usage as unsupported by DMA engine
        spi: stm32-ospi: clean up on error in probe()
        spi: stm32-ospi: Make usage of reset_control_acquire/release() API
        spi: offload: check offload ops existence before disabling the trigger
        spi: spi-pci1xxxx: Fix error code in probe
        spi: loongson: Fix build warnings about export.h
        spi: omap2-mcspi: Disable multi-mode when the previous message kept CS asserted
        spi: omap2-mcspi: Disable multi mode when CS should be kept asserted after message
      02adc149
    • Linus Torvalds's avatar
      Merge tag 'regulator-fix-v6.16-rc1' of... · 601dddb6
      Linus Torvalds authored
      Merge tag 'regulator-fix-v6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator
      
      Pull regulator fix from Mark Brown:
       "One minor fix for a leak in the DT parsing code in the max20086 driver"
      
      * tag 'regulator-fix-v6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
        regulator: max20086: Fix refcount leak in max20086_parse_regulators_dt()
      601dddb6
    • Oleg Nesterov's avatar
      posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del() · f90fff1e
      Oleg Nesterov authored
      
      
      If an exiting non-autoreaping task has already passed exit_notify() and
      calls handle_posix_cpu_timers() from IRQ, it can be reaped by its parent
      or debugger right after unlock_task_sighand().
      
      If a concurrent posix_cpu_timer_del() runs at that moment, it won't be
      able to detect timer->it.cpu.firing != 0: cpu_timer_task_rcu() and/or
      lock_task_sighand() will fail.
      
      Add the tsk->exit_state check into run_posix_cpu_timers() to fix this.
      
      This fix is not needed if CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y, because
      exit_task_work() is called before exit_notify(). But the check still
      makes sense, task_work_add(&tsk->posix_cputimers_work.work) will fail
      anyway in this case.
      
      Cc: stable@vger.kernel.org
      Reported-by: default avatarBenoît Sevens <bsevens@google.com>
      Fixes: 0bdd2ed4 ("sched: run_posix_cpu_timers: Don't check ->exit_state, use lock_task_sighand()")
      Signed-off-by: default avatarOleg Nesterov <oleg@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f90fff1e
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · 3ca933aa
      Linus Torvalds authored
      Pull tracing fix from Steven Rostedt:
      
       - Do not free "head" variable in filter_free_subsystem_filters()
      
         The first error path jumps to "free_now" label but first frees the
         newly allocated "head" variable. But the "free_now" code checks this
         variable, and if it is not NULL, it will iterate the list. As this
         list variable was already initialized, the "free_now" code will not
         do anything as it is empty. But freeing it will cause a UAF bug.
      
         The error path should simply jump to the "free_now" label and leave
         the "head" variable alone.
      
      * tag 'trace-v6.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing: Do not free "head" on error path of filter_free_subsystem_filters()
      3ca933aa
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · dde63797
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "ARM:
      
         - Rework of system register accessors for system registers that are
           directly writen to memory, so that sanitisation of the in-memory
           value happens at the correct time (after the read, or before the
           write). For convenience, RMW-style accessors are also provided.
      
         - Multiple fixes for the so-called "arch-timer-edge-cases' selftest,
           which was always broken.
      
        x86:
      
         - Make KVM_PRE_FAULT_MEMORY stricter for TDX, allowing userspace to
           pass only the "untouched" addresses and flipping the shared/private
           bit in the implementation.
      
         - Disable SEV-SNP support on initialization failure
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        KVM: x86/mmu: Reject direct bits in gpa passed to KVM_PRE_FAULT_MEMORY
        KVM: x86/mmu: Embed direct bits into gpa for KVM_PRE_FAULT_MEMORY
        KVM: SEV: Disable SEV-SNP support on initialization failure
        KVM: arm64: selftests: Determine effective counter width in arch_timer_edge_cases
        KVM: arm64: selftests: Fix xVAL init in arch_timer_edge_cases
        KVM: arm64: selftests: Fix thread migration in arch_timer_edge_cases
        KVM: arm64: selftests: Fix help text for arch_timer_edge_cases
        KVM: arm64: Make __vcpu_sys_reg() a pure rvalue operand
        KVM: arm64: Don't use __vcpu_sys_reg() to get the address of a sysreg
        KVM: arm64: Add RMW specific sysreg accessor
        KVM: arm64: Add assignment-specific sysreg accessor
      dde63797
    • Jens Axboe's avatar
      io_uring/kbuf: don't truncate end buffer for multiple buffer peeks · 26ec15e4
      Jens Axboe authored
      
      
      If peeking a bunch of buffers, normally io_ring_buffers_peek() will
      truncate the end buffer. This isn't optimal as presumably more data will
      be arriving later, and hence it's better to stop with the last full
      buffer rather than truncate the end buffer.
      
      Cc: stable@vger.kernel.org
      Fixes: 35c8711c ("io_uring/kbuf: add helpers for getting/peeking multiple buffers")
      Reported-by: default avatarChristian Mazakas <christian.mazakas@gmail.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      26ec15e4
    • Linus Torvalds's avatar
      Merge tag 'v6.16-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · ad615908
      Linus Torvalds authored
      Pull crypto fix from Herbert Xu:
       "Fix a broken self-test in hkdf (new regression)"
      
      * tag 'v6.16-p4' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        crypto: hkdf - move to late_initcall
      ad615908
    • Linus Torvalds's avatar
      Merge tag 'bcachefs-2025-06-12' of git://evilpiepirate.org/bcachefs · 36df6f73
      Linus Torvalds authored
      Pull bcachefs fixes from Kent Overstreet:
       "As usual, highlighting the ones users have been noticing:
      
         - Fix a small issue with has_case_insensitive not being propagated on
           snapshot creation; this led to fsck errors, which we're harmless
           because we're not using this flag yet (it's for overlayfs +
           casefolding).
      
         - Log the error being corrected in the journal when we're doing fsck
           repair: this was one of the "lessons learned" from the i_nlink 0 ->
           subvolume deletion bug, where reconstructing what had happened by
           analyzing the journal was a bit more difficult than it needed to
           be.
      
         - Don't schedule btree node scan to run in the superblock: this fixes
           a regression from the 6.16 recovery passes rework, and let to it
           running unnecessarily.
      
           The real issue here is that we don't have online, "self healing"
           style topology repair yet: topology repair currently has to run
           before we go RW, which means that we may schedule it unnecessarily
           after a transient error. This will be fixed in the future.
      
         - We now track, in btree node flags, the reason it was scheduled to
           be rewritten. We discovered a deadlock in recovery when many btree
           nodes need to be rewritten because they're degraded: fully fixing
           this will take some work but it's now easier to see what's going
           on.
      
           For the bug report where this came up, a device had been kicked RO
           due to transient errors: manually setting it back to RW was
           sufficient to allow recovery to succeed.
      
         - Mark a few more fsck errors as autofix: as a reminder to users,
           please do keep reporting cases where something needs to be repaired
           and is not repaired automatically (i.e. cases where -o fix_errors
           or fsck -y is required).
      
         - rcu_pending.c now works with PREEMPT_RT
      
         - 'bcachefs device add', then umount, then remount wasn't working -
           we now emit a uevent so that the new device's new superblock is
           correctly picked up
      
         - Assorted repair fixes: btree node scan will no longer incorrectly
           update sb->version_min,
      
         - Assorted syzbot fixes"
      
      * tag 'bcachefs-2025-06-12' of git://evilpiepirate.org/bcachefs: (23 commits)
        bcachefs: Don't trace should_be_locked unless changing
        bcachefs: Ensure that snapshot creation propagates has_case_insensitive
        bcachefs: Print devices we're mounting on multi device filesystems
        bcachefs: Don't trust sb->nr_devices in members_to_text()
        bcachefs: Fix version checks in validate_bset()
        bcachefs: ioctl: avoid stack overflow warning
        bcachefs: Don't pass trans to fsck_err() in gc_accounting_done
        bcachefs: Fix leak in bch2_fs_recovery() error path
        bcachefs: Fix rcu_pending for PREEMPT_RT
        bcachefs: Fix downgrade_table_extra()
        bcachefs: Don't put rhashtable on stack
        bcachefs: Make sure opts.read_only gets propagated back to VFS
        bcachefs: Fix possible console lock involved deadlock
        bcachefs: mark more errors autofix
        bcachefs: Don't persistently run scan_for_btree_nodes
        bcachefs: Read error message now prints if self healing
        bcachefs: Only run 'increase_depth' for keys from btree node csan
        bcachefs: Mark need_discard_freespace_key_bad autofix
        bcachefs: Update /dev/disk/by-uuid on device add
        bcachefs: Add more flags to btree nodes for rewrite reason
        ...
      36df6f73
    • Bagas Sanjaya's avatar
      Documentation: ublk: Separate UBLK_F_AUTO_BUF_REG fallback behavior sublists · db3dfae1
      Bagas Sanjaya authored
      
      
      Stephen Rothwell reports htmldocs warning on ublk docs:
      
      Documentation/block/ublk.rst:414: ERROR: Unexpected indentation. [docutils]
      
      Fix the warning by separating sublists of auto buffer registration
      fallback behavior from their appropriate parent list item.
      
      Fixes: ff20c516 ("ublk: document auto buffer registration(UBLK_F_AUTO_BUF_REG)")
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Closes: https://lore.kernel.org/linux-next/20250612132638.193de386@canb.auug.org.au/
      
      
      Signed-off-by: default avatarBagas Sanjaya <bagasdotme@gmail.com>
      Link: https://lore.kernel.org/r/20250613023857.15971-1-bagasdotme@gmail.com
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      db3dfae1
    • Jason Gunthorpe's avatar
      iommu/tegra: Fix incorrect size calculation · f9705d66
      Jason Gunthorpe authored
      
      
      This driver uses a mixture of ways to get the size of a PTE,
      tegra_smmu_set_pde() did it as sizeof(*pd) which became wrong when pd
      switched to a struct tegra_pd.
      
      Switch pd back to a u32* in tegra_smmu_set_pde() so the sizeof(*pd)
      returns 4.
      
      Fixes: 50568f87 ("iommu/terga: Do not use struct page as the handle for as->pd memory")
      Reported-by: default avatarDiogo Ivo <diogo.ivo@tecnico.ulisboa.pt>
      Closes: https://lore.kernel.org/all/62e7f7fe-6200-4e4f-ad42-d58ad272baa6@tecnico.ulisboa.pt/
      
      
      Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
      Acked-by: default avatarThierry Reding <treding@nvidia.com>
      Reviewed-by: default avatarJerry Snitselaar <jsnitsel@redhat.com>
      Tested-by: default avatarDiogo Ivo <diogo.ivo@tecnico.ulisboa.pt>
      Link: https://lore.kernel.org/r/0-v1-da7b8b3d57eb+ce-iommu_terga_sizeof_jgg@nvidia.com
      
      
      Signed-off-by: default avatarJoerg Roedel <joerg.roedel@amd.com>
      f9705d66
    • Matthew Wilcox (Oracle)'s avatar
      block: Fix bvec_set_folio() for very large folios · 5e223e06
      Matthew Wilcox (Oracle) authored
      
      
      Similarly to 26064d3e ("block: fix adding folio to bio"), if
      we attempt to add a folio that is larger than 4GB, we'll silently
      truncate the offset and len.  Widen the parameters to size_t, assert
      that the length is less than 4GB and set the first page that contains
      the interesting data rather than the first page of the folio.
      
      Fixes: 26db5ee1 (block: add a bvec_set_folio helper)
      Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      Link: https://lore.kernel.org/r/20250612144255.2850278-1-willy@infradead.org
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      5e223e06
    • Matthew Wilcox (Oracle)'s avatar
      bio: Fix bio_first_folio() for SPARSEMEM without VMEMMAP · f826ec79
      Matthew Wilcox (Oracle) authored
      
      
      It is possible for physically contiguous folios to have discontiguous
      struct pages if SPARSEMEM is enabled and SPARSEMEM_VMEMMAP is not.
      This is correctly handled by folio_page_idx(), so remove this open-coded
      implementation.
      
      Fixes: 640d1930 (block: Add bio_for_each_folio_all())
      Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      Link: https://lore.kernel.org/r/20250612144126.2849931-1-willy@infradead.org
      
      
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      f826ec79
    • Thangaraj Samynathan's avatar
      spi: spi-pci1xxxx: Drop MSI-X usage as unsupported by DMA engine · 9f0ad43b
      Thangaraj Samynathan authored and Mark Brown's avatar Mark Brown committed
      
      
      Removes MSI-X from the interrupt request path, as the DMA engine used by
      the SPI controller does not support MSI-X interrupts.
      
      Signed-off-by: default avatarThangaraj Samynathan <thangaraj.s@microchip.com>
      Link: https://patch.msgid.link/20250612023059.71726-1-thangaraj.s@microchip.com
      
      
      Signed-off-by: default avatarMark Brown <broonie@kernel.org>
      9f0ad43b
    • Dave Airlie's avatar
      Merge tag 'drm-misc-fixes-2025-06-12' of... · 1364af9c
      Dave Airlie authored
      Merge tag 'drm-misc-fixes-2025-06-12' of https://gitlab.freedesktop.org/drm/misc/kernel
      
       into drm-fixes
      
      drm-misc-fixes for v6.16-rc2:
      - Fix infinite EPROBE_DEFER loop in vc4 probing.
      - Fix amdxdna firmware size.
      - mode fixes for meson.
      - Kconfig fix for st7171-i2c.
      - Fix -EBUSY WARN_ON_ONCE in dma-buf
      - Use dma_sync_sgtable_for_cpu in udmabuf.
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
      Link: https://lore.kernel.org/r/62c06195-8bc1-4dae-8777-e86d94e4d9d9@linux.intel.com
      1364af9c
    • Lorenzo Stoakes's avatar
      mm: add mmap_prepare() compatibility layer for nested file systems · bb666b7c
      Lorenzo Stoakes authored
      Nested file systems, that is those which invoke call_mmap() within their
      own f_op->mmap() handlers, may encounter underlying file systems which
      provide the f_op->mmap_prepare() hook introduced by commit c84bf6dd
      ("mm: introduce new .mmap_prepare() file callback").
      
      We have a chicken-and-egg scenario here - until all file systems are
      converted to using .mmap_prepare(), we cannot convert these nested
      handlers, as we can't call f_op->mmap from an .mmap_prepare() hook.
      
      So we have to do it the other way round - invoke the .mmap_prepare() hook
      from an .mmap() one.
      
      in order to do so, we need to convert VMA state into a struct vm_area_desc
      descriptor, invoking the underlying file system's f_op->mmap_prepare()
      callback passing a pointer to this, and then setting VMA state accordingly
      and safely.
      
      This patch achieves this via the compat_vma_mmap_prepare() function, which
      we invoke from call_mmap() if f_op->mmap_prepare() is specified in the
      passed in file pointer.
      
      We place the fundamental logic into mm/vma.h where VMA manipulation
      belongs.  We also update the VMA userland tests to accommodate the
      changes.
      
      The compat_vma_mmap_prepare() function and its associated machinery is
      temporary, and will be removed once the conversion of file systems is
      complete.
      
      We carefully place this code so it can be used with CONFIG_MMU and also
      with cutting edge nommu silicon.
      
      [akpm@linux-foundation.org: export compat_vma_mmap_prepare tp fix build]
      [lorenzo.stoakes@oracle.com: remove unused declarations]
        Link: https://lkml.kernel.org/r/ac3ae324-4c65-432a-8c6d-2af988b18ac8@lucifer.local
      Link: https://lkml.kernel.org/r/20250609165749.344976-1-lorenzo.stoakes@oracle.com
      
      
      Fixes: c84bf6dd ("mm: introduce new .mmap_prepare() file callback").
      Signed-off-by: default avatarLorenzo Stoakes <lorenzo.stoakes@oracle.com>
      Reported-by: default avatarJann Horn <jannh@google.com>
      Closes: https://lore.kernel.org/linux-mm/CAG48ez04yOEVx1ekzOChARDDBZzAKwet8PEoPM4Ln3_rk91AzQ@mail.gmail.com/
      
      
      Reviewed-by: default avatarPedro Falcato <pfalcato@suse.de>
      Reviewed-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Christian Brauner <brauner@kernel.org>
      Cc: Jan Kara <jack@suse.cz>
      Cc: Jann Horn <jannh@google.com>
      Cc: Liam Howlett <liam.howlett@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      bb666b7c
    • Dave Airlie's avatar
      Merge tag 'drm-xe-fixes-2025-06-12' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes · a24823d1
      Dave Airlie authored
      
      
      Driver Changes:
      - Fix regression disallowing 64K SVM migration (Maarten)
      - Use a bounce buffer for WA BB (Lucas)
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Thomas Hellstrom <thomas.hellstrom@linux.intel.com>
      Link: https://lore.kernel.org/r/aEsBQoh5Si3ouPgE@fedora
      a24823d1
  4. Jun 12, 2025
    • Linus Torvalds's avatar
      Merge tag 'bitmap-for-6.16-rc2' of https://github.com/norov/linux · d080d3b5
      Linus Torvalds authored
      Pull bitmap fix from Yury Norov:
       "Fix for __GENMASK() and __GENMASK_ULL() in UAPI"
      
      * tag 'bitmap-for-6.16-rc2' of https://github.com/norov/linux:
        uapi: bitops: use UAPI-safe variant of BITS_PER_LONG again
      d080d3b5
    • Bharath SM's avatar
      smb: improve directory cache reuse for readdir operations · 72dd7961
      Bharath SM authored
      
      
      Currently, cached directory contents were not reused across subsequent
      'ls' operations because the cache validity check relied on comparing
      the ctx pointer, which changes with each readdir invocation. As a
      result, the cached dir entries was not marked as valid and the cache was
      not utilized for subsequent 'ls' operations.
      
      This change uses the file pointer, which remains consistent across all
      readdir calls for a given directory instance, to associate and validate
      the cache. As a result, cached directory contents can now be
      correctly reused, improving performance for repeated directory listings.
      
      Performance gains with local windows SMB server:
      
      Without the patch and default actimeo=1:
       1000 directory enumeration operations on dir with 10k files took 135.0s
      
      With this patch and actimeo=0:
       1000 directory enumeration operations on dir with 10k files took just 5.1s
      
      Signed-off-by: default avatarBharath SM <bharathsm@microsoft.com>
      Reviewed-by: default avatarShyam Prasad N <sprasad@microsoft.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      72dd7961
    • Paulo Alcantara's avatar
      smb: client: fix perf regression with deferred closes · b64af6bc
      Paulo Alcantara authored
      
      
      Customer reported that one of their applications started failing to
      open files with STATUS_INSUFFICIENT_RESOURCES due to NetApp server
      hitting the maximum number of opens to same file that it would allow
      for a single client connection.
      
      It turned out the client was failing to reuse open handles with
      deferred closes because matching ->f_flags directly without masking
      off O_CREAT|O_EXCL|O_TRUNC bits first broke the comparision and then
      client ended up with thousands of deferred closes to same file.  Those
      bits are already satisfied on the original open, so no need to check
      them against existing open handles.
      
      Reproducer:
      
       #include <stdio.h>
       #include <stdlib.h>
       #include <string.h>
       #include <unistd.h>
       #include <fcntl.h>
       #include <pthread.h>
      
       #define NR_THREADS      4
       #define NR_ITERATIONS   2500
       #define TEST_FILE       "/mnt/1/test/dir/foo"
      
       static char buf[64];
      
       static void *worker(void *arg)
       {
               int i, j;
               int fd;
      
               for (i = 0; i < NR_ITERATIONS; i++) {
                       fd = open(TEST_FILE, O_WRONLY|O_CREAT|O_APPEND, 0666);
                       for (j = 0; j < 16; j++)
                               write(fd, buf, sizeof(buf));
                       close(fd);
               }
       }
      
       int main(int argc, char *argv[])
       {
               pthread_t t[NR_THREADS];
               int fd;
               int i;
      
               fd = open(TEST_FILE, O_WRONLY|O_CREAT|O_TRUNC, 0666);
               close(fd);
               memset(buf, 'a', sizeof(buf));
               for (i = 0; i < NR_THREADS; i++)
                       pthread_create(&t[i], NULL, worker, NULL);
               for (i = 0; i < NR_THREADS; i++)
                       pthread_join(t[i], NULL);
               return 0;
       }
      
      Before patch:
      
      $ mount.cifs //srv/share /mnt/1 -o ...
      $ mkdir -p /mnt/1/test/dir
      $ gcc repro.c && ./a.out
      ...
      number of opens: 1391
      
      After patch:
      
      $ mount.cifs //srv/share /mnt/1 -o ...
      $ mkdir -p /mnt/1/test/dir
      $ gcc repro.c && ./a.out
      ...
      number of opens: 1
      
      Cc: linux-cifs@vger.kernel.org
      Cc: David Howells <dhowells@redhat.com>
      Cc: Jay Shin <jaeshin@redhat.com>
      Cc: Pierguido Lambri <plambri@redhat.com>
      Fixes: b8ea3b1f ("smb: enable reuse of deferred file handles for write operations")
      Acked-by: default avatarShyam Prasad N <sprasad@microsoft.com>
      Signed-off-by: default avatarPaulo Alcantara (Red Hat) <pc@manguebit.org>
      Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
      b64af6bc
    • Linus Torvalds's avatar
      Merge tag 'net-6.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net · 27605c8c
      Linus Torvalds authored
      Pull networking fixes from Jakub Kicinski:
       "Including fixes from bluetooth and wireless.
      
        Current release - regressions:
      
         - af_unix: allow passing cred for embryo without SO_PASSCRED/SO_PASSPIDFD
      
        Current release - new code bugs:
      
         - eth: airoha: correct enable mask for RX queues 16-31
      
         - veth: prevent NULL pointer dereference in veth_xdp_rcv when peer
           disappears under traffic
      
         - ipv6: move fib6_config_validate() to ip6_route_add(), prevent
           invalid routes
      
        Previous releases - regressions:
      
         - phy: phy_caps: don't skip better duplex match on non-exact match
      
         - dsa: b53: fix untagged traffic sent via cpu tagged with VID 0
      
         - Revert "wifi: mwifiex: Fix HT40 bandwidth issue.", it caused
           transient packet loss, exact reason not fully understood, yet
      
        Previous releases - always broken:
      
         - net: clear the dst when BPF is changing skb protocol (IPv4 <> IPv6)
      
         - sched: sfq: fix a potential crash on gso_skb handling
      
         - Bluetooth: intel: improve rx buffer posting to avoid causing issues
           in the firmware
      
         - eth: intel: i40e: make reset handling robust against multiple
           requests
      
         - eth: mlx5: ensure FW pages are always allocated on the local NUMA
           node, even when device is configure to 'serve' another node
      
         - wifi: ath12k: fix GCC_GCC_PCIE_HOT_RST definition for WCN7850,
           prevent kernel crashes
      
         - wifi: ath11k: avoid burning CPU in ath11k_debugfs_fw_stats_request()
           for 3 sec if fw_stats_done is not set"
      
      * tag 'net-6.16-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net: (70 commits)
        selftests: drv-net: rss_ctx: Add test for ntuple rules targeting default RSS context
        net: ethtool: Don't check if RSS context exists in case of context 0
        af_unix: Allow passing cred for embryo without SO_PASSCRED/SO_PASSPIDFD.
        ipv6: Move fib6_config_validate() to ip6_route_add().
        net: drv: netdevsim: don't napi_complete() from netpoll
        net/mlx5: HWS, Add error checking to hws_bwc_rule_complex_hash_node_get()
        veth: prevent NULL pointer dereference in veth_xdp_rcv
        net_sched: remove qdisc_tree_flush_backlog()
        net_sched: ets: fix a race in ets_qdisc_change()
        net_sched: tbf: fix a race in tbf_change()
        net_sched: red: fix a race in __red_change()
        net_sched: prio: fix a race in prio_tune()
        net_sched: sch_sfq: reject invalid perturb period
        net: phy: phy_caps: Don't skip better duplex macth on non-exact match
        MAINTAINERS: Update Kuniyuki Iwashima's email address.
        selftests: net: add test case for NAT46 looping back dst
        net: clear the dst when changing skb protocol
        net/mlx5e: Fix number of lanes to UNKNOWN when using data_rate_oper
        net/mlx5e: Fix leak of Geneve TLV option object
        net/mlx5: HWS, make sure the uplink is the last destination
        ...
      27605c8c
    • Lucas De Marchi's avatar
      drm/xe/lrc: Use a temporary buffer for WA BB · 9c7632fa
      Lucas De Marchi authored
      
      
      In case the BO is in iomem, we can't simply take the vaddr and write to
      it. Instead, prepare a separate buffer that is later copied into io
      memory. Right now it's just a few words that could be using
      xe_map_write32(), but the intention is to grow the WA BB for other
      uses.
      
      Fixes: 617d824c ("drm/xe: Add WA BB to capture active context utilization")
      Cc: Umesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
      Cc: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
      Reviewed-by: default avatarMatthew Brost <matthew.brost@intel.com>
      Reviewed-by: default avatarUmesh Nerlige Ramappa <umesh.nerlige.ramappa@intel.com>
      Link: https://lore.kernel.org/r/20250604-wa-bb-fix-v1-1-0dfc5dafcef0@intel.com
      
      
      Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
      (cherry picked from commit ef48715b2d3df17c060e23b9aa636af3d95652f8)
      Signed-off-by: default avatarThomas Hellström <thomas.hellstrom@linux.intel.com>
      9c7632fa
Loading