Linux/linux 6c377d1 — . MAINTAINERS, Documentation/admin-guide ext4.rst

Merge tag 'ext4_for_linus-7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

Pull ext4 fixes from Ted Ts'o:
 "Mark the ext4 data=journal feature as being deprecated and will be
  removed in 2028.

  Also designate the primary branch that Sashiko and other tools use to
  find the primary development branch in the ext4 tree"

* tag 'ext4_for_linus-7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  ext4: mark data=journal as deprecated and will be removed in January 2028.
  MAINTAINERS: name the ext4 dev branch
DeltaFile
+4-2Documentation/admin-guide/ext4.rst
+1-1MAINTAINERS
+1-0fs/ext4/super.c
+6-33 files

Linux/linux 4b1d046 — . MAINTAINERS

MAINTAINERS: name the ext4 dev branch

The ext4 T: entry names the repository without a branch, so tools that
default to the repository's HEAD select master, which still points at a
merge from October 2020 (96485e446260).  Development happens on dev,
which is also the branch linux-next merges.  Name it.

The Sashiko review bot, for one, falls back to HEAD this way and has
been reviewing ext4 patches against that tree.  Its review of an EA
inode refcount fix reported a Critical double decrement and an
undefined function after applying the patch to that stale baseline;
neither holds on dev.

Link: https://lore.kernel.org/all/20260916072420.316321F000FF@smtp.kernel.org/
Signed-off-by: Matthias Goergens <matthias.goergens at gmail.com>
Acked-by: Jan Kara <jack at suse.cz>
Link: https://patch.msgid.link/20260923101749.3505886-1-matthias.goergens@gmail.com
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
DeltaFile
+1-1MAINTAINERS
+1-11 files

Linux/linux 3e78d7b — Documentation/admin-guide ext4.rst, fs/ext4 super.c

ext4: mark data=journal as deprecated and will be removed in January 2028.

Signed-off-by: Theodore Ts'o <tytso at mit.edu>
DeltaFile
+4-2Documentation/admin-guide/ext4.rst
+1-0fs/ext4/super.c
+5-22 files

Linux/linux 47324d3 — drivers/power/sequencing pwrseq-pcie-m2.c

Merge tag 'pwrseq-fixes-for-v7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull power sequencing fixes from Bartosz Golaszewski:

 - add missing PCI device IDs for Thinkpad T14s gen6 which should have
   been part of commit a39ac4651e3b ("power: sequencing: pcie-m2: Match
   WCN6855 and WCN7851 UART BT variants by subdevice ID") in
   pwrseq-pcie-m2

 - fix memory leak in pwrseq-pcie-m2 (leaking the array returned by
   of_regulator_bulk_get_all())

* tag 'pwrseq-fixes-for-v7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  power: sequencing: pcie-m2: Fix leaking array from of_regulator_bulk_get_all()
  power: sequencing: pcie-m2: Add Lenovo ThinkPad T14s gen6 WCN7850 subsystem PCI ids
DeltaFile
+4-0drivers/power/sequencing/pwrseq-pcie-m2.c
+4-01 files

Linux/linux 156c9ca — drivers/gpio gpio-exar.c gpio-xilinx.c

Merge tag 'gpio-fixes-for-v7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio fixes from Bartosz Golaszewski:

 - fix runtime PM leak in error path in gpio-xilinx

 - fix race when arming the IRQ poll worker in gpio-mpsse

 - fix devres cleanup path on probe error in gpio-exar

* tag 'gpio-fixes-for-v7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  gpio: mpsse: fix race when arming the IRQ poll worker
  gpio: exar: initialize the ID before registering its cleanup
  gpio: xilinx: fix runtime PM leak on request error path
DeltaFile
+22-2drivers/gpio/gpio-mpsse.c
+1-8drivers/gpio/gpio-xilinx.c
+1-1drivers/gpio/gpio-exar.c
+24-113 files

Linux/linux b732c98 — . .mailmap, mm vma.h pgtable-generic.c

Merge tag 'mm-hotfixes-stable-2026-10-07-21-48' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull MM fixes from Andrew Morton:

 - Update .mailmap entries for Andy Yan and John Garry

 - Fix read-only MAP_SHARED /dev/zero mappings so they retain
   shared-file semantics instead of being treated as anonymous memory,
   also avoiding a CONFIG_DEBUG_VM assertion

 - Fix 32-bit build warnings in the hugetlb-mmap selftest caused by
   using the wrong printf format for size_t values

 - Fix a boot-time crash when early function tracing causes CPA to free
   kernel page tables before the workqueues used for deferred freeing
   are available

 - Fix two MREMAP_DONTUNMAP locked_vm accounting leaks: one caused by
   an mlock-on-fault VMA self-merging, and one caused by partially

    [10 lines not shown]
DeltaFile
+52-18mm/mremap.c
+18-3mm/vma.c
+19-1mm/pgtable-generic.c
+5-5tools/testing/vma/tests/vma.c
+6-1mm/vma.h
+3-1.mailmap
+103-292 files not shown
+106-328 files

Linux/linux 0c2669a — arch/arm64/boot/dts/freescale fsl-lx216x.dtsi, drivers/clk/qcom gcc-kaanapali.c gcc-hawi.c

Merge tag 'soc-fixes-7.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC fixes from Arnd Bergmann:

 - Four distinct issues in TEE firmware, all fairly minor

 - Five devicetree mistakes on NXP i.MX8, lx2160a and Qualcomm
   based machines, one of these may cause file system corruption
   from an incorrect SD card supply voltage

 - Five fixes for clk drivers on new Qualcomm platforms,
   addressing issues with incorrect enable states

* tag 'soc-fixes-7.3-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  MAINTAINERS: update my email address
  tee: optee: ffa: support shared memory offsets on large-page kernels
  optee: register TEE devices only once fully initialized
  tee: shm: reject zero-sized allocations in tee_dyn_shm_alloc_helper()
  arm64: dts: imx8mp-var-dart-sonata: Fix Sonata SD I/O supply

    [10 lines not shown]
DeltaFile
+26-12drivers/tee/optee/ffa_abi.c
+13-6arch/arm64/boot/dts/freescale/fsl-lx216x.dtsi
+8-9drivers/tee/optee/smc_abi.c
+4-2drivers/clk/qcom/gcc-kaanapali.c
+4-2drivers/clk/qcom/gcc-hawi.c
+4-2drivers/clk/qcom/gcc-eliza.c
+59-3311 files not shown
+76-4317 files

Linux/linux 8fc6e59 — drivers/usb/mtu3 mtu3_trace.h

Merge tag 'usb-mtu3.2026.10.06a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu

Pull tracing fix from Paul McKenney:
 "Fix a double-dereference splat in TP_printk in usb mtu3. This was a
  pre-existing bug that can corrupt tracing output, but which was
  exposed this cycle by additional checking that was added to the
  tracing subsystem.

  This splat is reporting a double-dereference that can result in
  garbage traces being dumped due to the possibility of the TP_printk()
  being executed without the benefit of main memory being present.

  The fix is to move the extra dereference from TP_printk() time to
  TP_fast_assign() time"

* tag 'usb-mtu3.2026.10.06a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
  usb: mtu3: Fix double dereference in TP_printk
DeltaFile
+3-1drivers/usb/mtu3/mtu3_trace.h
+3-11 files

Linux/linux 4cc6bba — kernel/rcu srcutree.c

Merge tag 'urgent.2026.10.01a' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux

Pull RCU fix from Paul McKenney:
 "Fix spurious WARN_ON() for rcu_segcblist_n_cbs() in
  cleanup_srcu_struct()

  This issue was introduced by 78a38cbf6f20 ("srcu: Queue
  sdp->work when the delay timer is successfully deleted")
  during this merge window.

  Enough people are hitting this that I am sending it now
  rather than waiting for the next merge window. Especially
  given that it is a simple one-liner"

* tag 'urgent.2026.10.01a' of git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux:
  srcu: Fix WARN_ON() for rcu_segcblist_n_cbs() in cleanup_srcu_struct()
DeltaFile
+1-1kernel/rcu/srcutree.c
+1-11 files

Linux/linux 7b63ef2 — fs/btrfs transaction.c scrub.c

Merge tag 'for-7.3-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux

Pull btrfs fixes from David Sterba:

 - fix command queuing and cleanup in encoded read/write ioctls

 - fix root and transaction association to avoid unnecessary lock
   contention and transaction start

 - properly handle replacing multiple xattrs in the same item

 - in scrub, fix root reference leak after reporting an unresolved file
   path

* tag 'for-7.3-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
  btrfs: fix lost error return value in btrfs_listxattr()
  btrfs: fix xattr replace when multiple xattrs are packed in the same item
  btrfs: don't stash io_uring encoded data across -EAGAIN
  btrfs: unlock inode and extent in caller when io_uring read extent fails

    [4 lines not shown]
DeltaFile
+16-15fs/btrfs/ioctl.c
+11-4fs/btrfs/xattr.c
+3-4fs/btrfs/inode.c
+3-1fs/btrfs/scrub.c
+1-0fs/btrfs/transaction.c
+34-245 files

Linux/linux 0f27326 — drivers/md dm-crypt.c dm-ioctl.c

Merge tag 'for-7.3/dm-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm

Pull device mapper fixes from Mikulas Patocka:
 "dm-integrity:
   - validate the superblock after re-reading it
   - fix buffer overflow if tag size > 64

  dm:
   - fix reading up to 7 bytes beyond the end of block in dm-ioctl
   - fix reading free memory if the ioctls are called concurrently

  dm-crypt:
   - fix a crash on invalid table line

  dm-snap:
   - fix a crash on invalid table line"

* tag 'for-7.3/dm-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
  dm-integrity: validate the superblock on resume

    [5 lines not shown]
DeltaFile
+52-2drivers/md/dm-integrity.c
+11-3drivers/md/dm-ioctl.c
+14-0drivers/md/dm-snap.c
+6-1drivers/md/dm-crypt.c
+83-64 files

Linux/linux 602042b — kernel workqueue.c

Merge tag 'wq-for-7.3-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq

Pull workqueue fixes from Tejun Heo:

 - Fix a NULL dereference in the chained work check when a kworker
   queues work on a draining or destroying workqueue outside work item
   execution.

* tag 'wq-for-7.3-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
  workqueue: Fix NULL current_pwq deref in chained work check
DeltaFile
+1-1kernel/workqueue.c
+1-11 files

Linux/linux 0d32b3e — kernel/cgroup cpuset.c

Merge tag 'cgroup-for-7.3-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup

Pull cgroup fixes from Tejun Heo:

 - During CPU offline, the active mask drops the CPU before cpuset
   updates the effective CPUs, so a task placement in that window could
   find no active CPU in the top cpuset and dereference NULL. Restore
   the NULL check.

 - The cpuset v2-mode test read the subsystem's root pointer, which is
   stale during a cgroup filesystem rebind, and the hotplug handler
   evaluated it before taking the cpuset mutex. Record the mode in a
   flag and test it under the mutex.

* tag 'cgroup-for-7.3-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
  cgroup/cpuset: Call is_in_v2_mode() after acquiring cpuset_mutex in cpuset_handle_hotplug()
  cgroup/cpuset: Handle cpu hotplug race in guarantee_active_cpus()
  cgroup/cpuset: Don't access cpuset_cgrp_subsys.root in is_in_v2_mode()
DeltaFile
+32-8kernel/cgroup/cpuset.c
+32-81 files

Linux/linux 762122d — kernel/sched sched.h, kernel/sched/ext internal.h inlines.h

Merge tag 'sched_ext-for-7.3-rc6-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext

Pull sched_ext fixes from Tejun Heo:

 - Taking a CPU offline could hang, or stall until the watchdog ejected
   the BPF scheduler, when tasks on the dying CPU were still held by the
   scheduler or sitting on a user dispatch queue. Re-enqueue them onto
   the local queue when the runqueue goes offline so that the CPU pushes
   them off like the other sched classes.

 - The sequence number guarding against stale dispatches was per
   runqueue, so a task re-enqueued on another CPU could get the same
   number and a dispatch meant for its earlier instance was applied to
   the new one. Use a per-task counter.

 - A task dispatched to another CPU's local queue got its ops.dequeue()
   only when picked to run and flagged as a core-sched pick. Call it at
   insertion like for same-CPU dispatches.


    [5 lines not shown]
DeltaFile
+270-0tools/testing/selftests/sched_ext/dequeue_remote.bpf.c
+204-0tools/testing/selftests/sched_ext/dequeue_remote.c
+37-9kernel/sched/ext/ext.c
+7-1kernel/sched/ext/inlines.h
+3-3kernel/sched/sched.h
+5-0kernel/sched/ext/internal.h
+526-133 files not shown
+528-179 files

Linux/linux 80ce291 — . .mailmap

mailmap: update entry for Andy Yan

I will use andyshrk at 163.com for future review and discussion.

Link: https://lore.kernel.org/20260924105052.768760-1-andyshrk@163.com
Signed-off-by: Andy Yan <andyshrk at 163.com>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
Reviewed-by: Shawn Lin <shawn.lin at rock-chips.com>
Cc: Alexander Sverdlin <alex at sverdlin.org>
Cc: Chuck Lever <cel at kernel.org>
Cc: Jakub Kicinski <kuba at kernel.org>
Cc: Martin Kepplinger <martink at posteo.de>
DeltaFile
+1-0.mailmap
+1-01 files

Linux/linux 2fb552b — mm pgtable-generic.c

mm: don't schedule deferred kernel page table freeing while booting

Booting with a boot-time function tracer and a filter, for example

  ftrace=function ftrace_filter=pud_free_pmd_page

panics on 7.3-rc4 as soon as the tracer starts:

  [   23.531178] Starting tracer 'function'
  [   23.675800] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000038: 0000 [#1] SMP KASAN NOPTI
  [   23.819917] KASAN: null-ptr-deref in range [0x00000000000001c0-0x00000000000001c7]
  [   23.964025] CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 7.3.0-rc4-fe2ec83746e5-with-fixes-v2+ #195 PREEMPT(undef)
  [   24.252248] RIP: 0010:__queue_work+0xab/0xf00
  [   25.981629] Call Trace:
  [   26.125727]  <TASK>
  [   26.413912]  ? pagetable_free_kernel+0x20/0x120
  [   26.990283]  queue_work_on+0x97/0xf0
  [   27.134382]  __cpa_collapse_large_pages+0x501/0x6f0
  [   27.566662]  cpa_flush+0x394/0x620

    [44 lines not shown]
DeltaFile
+19-1mm/pgtable-generic.c
+19-11 files

Linux/linux 28eed99 — tools/testing/selftests/mm hugetlb-mmap.c

selftests/mm: cleanup -Wformat issues in hugetlb-mmap

Commit ae571cd6015c ("selftests/mm: hugetlb-mmap: add setup of HugeTLB
pages") and commit 9c5a65f374f8 ("selftests/mm: merge map_hugetlb into
hugepage-mmap") added logs of 'hugepage_size' which has a size_t type.
However, the incorrect format specifier '%lu' was used which triggers
-Wformat warnings when building for 32-bit:

  hugetlb-mmap.c:125:55: warning: format specifies type 'unsigned long'
  but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
    125 | ksft_print_msg("Default size hugepages (%lu kB)\n", hugepage_size >> 10);
        |                                         ~~~         ^~~~~~~~~~~~~~~~~~~
        |                                         %zu

  hugetlb-mmap.c:134:47: warning: format specifies type 'unsigned long'
  but the argument has type 'size_t' (aka 'unsigned int') [-Wformat]
    134 | ksft_exit_skip("Not enough %lu Kb pages\n", hugepage_size >> 10);
        |                            ~~~              ^~~~~~~~~~~~~~~~~~~
        |                            %zu

    [19 lines not shown]
DeltaFile
+2-2tools/testing/selftests/mm/hugetlb-mmap.c
+2-21 files

Linux/linux d3ed3a4 — drivers/char mem.c

drivers/char/mem: mmap readonly MAP_SHARED-/dev/zero correctly

Rather surprisingly, opening /dev/zero read-only then mmap()'ing it
MAP_SHARED gets you true anonymous memory (albeit in a VMA with non-NULL
vma->vm_file).

This is a by-product of MAP_PRIVATE-/dev/zero being how anonymous memory
was mapped in Linux's distant past.

It happens because mmap_zero_prepare() gates on VMA_SHARED_BIT and when
mapping a read-only file MAP_SHARED, do_mmap() clears VMA_SHARED_BIT and
VMA_MAYWRITE_BIT.

The gating is incorrect - the (poorly named) VMA_MAYSHARE_BIT flag exists
explicitly to tell you if something was originally mapped MAP_SHARED.

So the fix is simple - gate on this instead.

This isn't exactly a common use case, but it's unexpected behaviour which

    [31 lines not shown]
DeltaFile
+1-1drivers/char/mem.c
+1-11 files

Linux/linux 29e0dd1 — . .mailmap

mailmap: update addresses for John Garry

Point any employment addresses at my personal dev address.

Link: https://lore.kernel.org/20260923075324.1382927-1-john.garry@linux.dev
Signed-off-by: John Garry <john.garry at linux.dev>
Signed-off-by: Andrew Morton <akpm at linux-foundation.org>
DeltaFile
+2-1.mailmap
+2-11 files

Linux/linux 838bb60 — mm vma.h mremap.c, tools/testing/vma/tests vma.c

mm/mremap: fix locked_vm leak from MREMAP_DONTUNMAP self-merge

Patch series "mm/mremap: fix two issues with MREMAP_DONTUNMAP", v2.

The MREMAP_DONTUNMAP feature is highly unusual in that it permits mremap()
operations that keep the original VMA in place.

Historically this has led to a lot of bugs where non-obvious interactions
occur between existing mremap() operations and the original VMA.

Commit 397432cab17b ("mm/mremap: account mm->locked_vm correctly for
MREMAP_DONTUNMAP") fixed an accidentally introduced bug around
mm->locked_vm accounting, but this wasn't the only issue.

And thus history repeats itself, as it turns out that mm->locked_vm
accounting is broken by MREMAP_DONTUNMAP yet again by two further cases,
and has been broken ever since the feature was introduced.

Both relate to the fact that VMA_LOCKED_BIT is cleared on the source VMA

    [91 lines not shown]
DeltaFile
+16-1mm/vma.c
+5-5tools/testing/vma/tests/vma.c
+6-2mm/mremap.c
+1-1mm/vma.h
+28-94 files

Linux/linux 597e4b9 — mm vma.c vma.h

mm/mremap: fix locked_vm leak by splitting VMA for MREMAP_DONTUNMAP

The MREMAP_DONTUNMAP feature is highly unusual in that it permits mremap()
operations that keep the original VMA in place.

Historically this has led to a lot of bugs where non-obvious interactions
occur between existing mremap() operations and the original VMA.

Fix another of these - partial copies.

The long-standing mremap() partial VMA logic has the baked-in assumption
that the originating VMA is unmapped and thus moved.

However MREMAP_DONTUNMAP defeats this by performing a partial copy
instead since it keeps the source VMA around.

An mremap(..., MREMAP_DONTUNMAP) operation disallows resizing of the VMA,
but the operation can be performed partially:


    [54 lines not shown]
DeltaFile
+46-16mm/mremap.c
+5-0mm/vma.h
+2-2mm/vma.c
+53-183 files

Linux/linux b8eb5fd — kernel/cgroup cpuset.c

cgroup/cpuset: Call is_in_v2_mode() after acquiring cpuset_mutex in cpuset_handle_hotplug()

It is reported by sashiko that calling is_in_v2_mode() outside of
cpuset_mutex critical section in cpuset_handle_hotplug() can introduce
a TOCTOU race where cgroup hierarchy may have changed from v1 to v2 or
vice versa after is_in_v2_mode() is called leading to erroneously skip
the allocation of tmpmasks or incorrectly modify cpus_allowed masks,
resulting in cpuset state corruption. Fix that by calling is_in_v2_mode()
after acquiring the cpuset_mutex.

Fixes: b8d1b8ee93df ("cpuset: Allow v2 behavior in v1 cgroup")
Signed-off-by: Waiman Long <longman at redhat.com>
Signed-off-by: Tejun Heo <tj at kernel.org>
DeltaFile
+5-4kernel/cgroup/cpuset.c
+5-41 files

Linux/linux 69f80fe — drivers/ata libata-scsi.c

Merge tag 'ata-7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux

Pull ata fix from Niklas Cassel:

 - Set CHECK CONDITION for failed ATAPI commands.

   Since commit 2e1d2e65e773 ("ata: libata-scsi: terminate deferred
   commands on time out") failed ATAPI commands incorrectly stopped
   having CHECK CONDITION set for commands that had a SCSI midlayer
   byte set by scsi_check_sense(). SG_IO users therefore saw failed
   ATAPI commands as successful (Hengyu)

* tag 'ata-7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/libata/linux:
  ata: libata-scsi: do not lose CHECK CONDITION for failed ATAPI commands
DeltaFile
+9-4drivers/ata/libata-scsi.c
+9-41 files

Linux/linux 22430ae — drivers/accessibility/braille braille_console.c, drivers/tty/serial imx.c amba-pl011.c

Merge tag 'printk-for-7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux

Pull printk fix from Petr Mladek:

 - Allow using Braille console with a serial console driver converted
   to NBCON API

* tag 'printk-for-7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux:
  braille: nbcon: Allow to use a serial console with NBCON API as Braille console
DeltaFile
+79-0kernel/printk/nbcon.c
+55-2drivers/accessibility/braille/braille_console.c
+15-0include/linux/console.h
+4-1drivers/tty/serial/8250/8250_port.c
+1-1drivers/tty/serial/imx.c
+1-1drivers/tty/serial/amba-pl011.c
+155-51 files not shown
+156-67 files

Linux/linux 2c3418f — security/keys key.c persistent.c

Merge tag 'keys-v7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd

Pull keys fixes from Jarkko Sakkinen:

 - key_get_persistent() created a new persistent keyring if one did not
   exist, but failed to set a timeout on it in an error path, preventing
   GC.

   Call key_set_timeout() regardless of key_link() result if a
   persistent keyring was created.

 - __key_create_or_update() made a copy of keyring->restrict_link before
   holding keyring->sem, which could cause add_key() to be executed
   against stale keyring restrictions. Fix it by copying the value only
   after taking keyring->sem

* tag 'keys-v7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
  KEYS: Fix add_key() race with keyring restriction
  keys: finalize persistent keyring timeout after link attempt
DeltaFile
+32-23security/keys/persistent.c
+3-3security/keys/key.c
+35-262 files

Linux/linux 67f0943 — security/selinux avc.c hooks.c

Merge tag 'selinux-pr-20261005' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux

Pull selinux fixes from Paul Moore:

 - Preserve SECURITY_LSM_NATIVE_LABELS when reusing superblocks

   Similar to a previous fix (see the commit description of Stephen's
   fix) we need to check to see if we have already mounted/setup the
   superblock passed into the security_sb_set_mnt_opts() LSM hook so we
   don't mistakenly unset SECURITY_LSM_NATIVE_LABELS.

 - Fix a potential AVC sequence number data race

* tag 'selinux-pr-20261005' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
  selinux: preserve NATIVE_LABELS on already-initialized sb in set_mnt_opts
  selinux: fix data race on AVC latest_notif
DeltaFile
+8-1security/selinux/hooks.c
+3-2security/selinux/avc.c
+11-32 files

Linux/linux 41c8899 — fs/btrfs xattr.c

btrfs: fix lost error return value in btrfs_listxattr()

If the input buffer does not have enough space to store the current xattr,
we set 'iter_ret' to -ERANGE and then do "break", but that only exits the
while loop over the xattrs in the current btrfs_dir_item, and then we
continue the btrfs_for_each_slot() iteration, which overwrites the value
of 'iter_ret' causing us to lose the error return value and proceed as if
the buffer has enough space.

Fix this by returning -ERANGE directly (the path is automatically freed)
instead of breaking from the while loop.

Fixes: 184b3d190087 ("btrfs: use btrfs_for_each_slot in btrfs_listxattr")
Assisted-by: LLM (found the bug)
Reviewed-by: Qu Wenruo <wqu at suse.com>
Signed-off-by: Filipe Manana <fdmanana at suse.com>
Signed-off-by: David Sterba <dsterba at suse.com>
DeltaFile
+2-4fs/btrfs/xattr.c
+2-41 files

Linux/linux a8ea928 — fs/btrfs ioctl.c

btrfs: free iov when btrfs_uring_read_extent() fails

After btrfs_uring_read_extent(), the caller always jumped to out_acct.
That skips kfree(data->iov), which is only correct for -EIOCBQUEUED
where the deferred path owns the iov. On failure, fall through to
out_free instead.

Fixes: 34310c442e17 ("btrfs: add io_uring command for encoded reads (ENCODED_READ ioctl)")
Signed-off-by: Yang Xiuwei <yangxiuwei at kylinos.cn>
Reviewed-by: David Sterba <dsterba at suse.com>
Signed-off-by: David Sterba <dsterba at suse.com>
DeltaFile
+2-2fs/btrfs/ioctl.c
+2-21 files

Linux/linux 1fd742c — fs/btrfs scrub.c

btrfs: scrub: fix local_root reference leak in scrub_print_warning_inode()

When paths_from_inode() fails, scrub_print_warning_inode() jumps to err
without dropping the reference taken by btrfs_get_fs_root(), leaking a
reference to the root every time path resolution fails while printing
scrub warnings.  Every other error and success path of the function
drops the reference.

Drop the reference on the paths_from_inode() failure path too.

Fixes: 558540c17771 ("btrfs scrub: print paths of corrupted files")
CC: stable at vger.kernel.org
Reviewed-by: Qu Wenruo <wqu at suse.com>
Signed-off-by: Wentao Liang <vulab at iscas.ac.cn>
Reviewed-by: David Sterba <dsterba at suse.com>
Signed-off-by: David Sterba <dsterba at suse.com>
DeltaFile
+3-1fs/btrfs/scrub.c
+3-11 files

Linux/linux 858bee1 — fs/btrfs xattr.c

btrfs: fix xattr replace when multiple xattrs are packed in the same item

If we have a btrfs_dir_item item that packs multiple xattrs and then we
replace the value of one of them (with the setxattr(2) family of syscalls)
with another value of a different size, we end up not having a fully
initialized btrfs_dir_item, resulting in a corruption that the tree
checker will detect at extent buffer writeback time.

This is because in btrfs_setxattr() when we find a btrfs_dir_item with
multiple xattrs (due to the crc32c hash of their name being the same)
we delete one of the xattr items (btrfs_dir_item) and then insert a new
one, but the deletion and insertion results in shifting existing data in
the leaf and therefore when the new value of a xattr has a different size,
the new btrfs_dir_item is placed in a leaf section that was not
initialized and we only copy the value's data and set the value's length
in the new btrfs_dir_item, without setting the name, the name's length,
the key (which must be all zeroes for xattrs), flags (BTRFS_FT_XATTR) and
transaction ID.


    [187 lines not shown]
DeltaFile
+9-0fs/btrfs/xattr.c
+9-01 files