Linux/linux abf8c33 — drivers/spi spi-cs42l43.c spi-zynq-qspi.c

Merge tag 'spi-fix-v7.4-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi

Pull spi fixes from Mark Brown:
 "Two patches here, one a straightforward device quirk and the other a
  fix for a potentially nasty data corruption bug in the zynq-qspi
  driver"

* tag 'spi-fix-v7.4-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
  spi: cs42l43: Add speaker ID quirk for Dell XPS 13 DX13260 SKU 0E54
  spi: zynq-qspi: fix address buffer corruption and support 4-byte address
DeltaFile
+7-6drivers/spi/spi-zynq-qspi.c
+8-0drivers/spi/spi-cs42l43.c
+15-62 files

Linux/linux 2228d64 — drivers/regulator irq_helpers.c

Merge tag 'regulator-fix-v7.4-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

Pull regulator fix from Mark Brown:
 "One fix here, we had an issue with deferred hardware disables where
  if we were deferring while suspend was happening we would let the
  workqueue run which could result in us trying to access hardware after
  it or the buses used to access it were suspended.

  We fix this by completing any work as we suspend the individual
  regulators"

* tag 'regulator-fix-v7.4-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
  regulator: irq: freeze deferred hardware access during suspend
DeltaFile
+22-16drivers/regulator/irq_helpers.c
+22-161 files

Linux/linux a4395d8 — drivers/base/regmap regmap-irq.c

Merge tag 'regmap-fix-v7.4-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap

Pull regmap fix from Mark Brown:
 "One fix for a real issue that fortunately doesn't affect any in tree
  configurations"

* tag 'regmap-fix-v7.4-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
  regmap: irq: fix incorrect index calculation for read_sub_irq_data()
DeltaFile
+4-4drivers/base/regmap/regmap-irq.c
+4-41 files

Linux/linux bd5c762 — drivers/scsi libiscsi.c scsi_debug.c, drivers/scsi/lpfc lpfc_els.c

Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull more SCSI updates from James Bottomley:
 "A couple of late arriving driver updates (lpfc, ufs) with the main
  addition being the lock context analysis update where clang static
  analysis coupled with annotations are used to verify driver guarantees
  about locks and warn on compile if they're inconsistent. This is
  mostly annotations with only a few code changes (except in scsi_debug
  which needed a fairly big rework to validate with locking context
  analysis)"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (103 commits)
  scsi: ufs: core: Do not release a reserved request in ufshcd_abort()
  scsi: ufs: core: Remove completed-without-interrupt path in ufshcd_abort()
  scsi: ufs: core: Fix double release in ufshcd_eh_timed_out()
  scsi: ufs: core: Fix double completion in ufshcd_clear_lu_cmds()
  scsi: ufs: core: Add a helper for clearing hba->outstanding_reqs
  scsi: ufs: core: Remove an always-false WARN_ONCE()
  scsi: fnic: Update module authors

    [14 lines not shown]
DeltaFile
+282-166drivers/scsi/scsi_debug.c
+147-111drivers/scsi/libiscsi.c
+71-121drivers/target/iscsi/iscsi_target_auth.c
+54-37drivers/ufs/core/ufshcd.c
+57-25drivers/scsi/lpfc/lpfc_els.c
+56-11drivers/scsi/smartpqi/smartpqi_init.c
+667-471115 files not shown
+1,525-777121 files

Linux/linux 8ebbaf8 — block blk-mq.c blk-iocost.c, drivers/block zloop.c

Merge tag 'block-7.4-20261029' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull more block updates from Jens Axboe:
 "Bigger than usual for an end-of-merge-window pull request, main reason
  being that the MD side I had missed a pull on, and both NVMe and block
  got a good pile of LLM driven fixes where some of them may as well
  just go in now rather than wait a full cycle. This contains:

   - NVMe fixes via Keith:
      - nvme-tcp fallout from the parallel queue allocation: initialize
        pf_cache_lock and the header digest before requests are set up,
        and don't dereference a NULL queue->ctrl on reconnect
      - nvme-fabrics queue mapping fixes: reset io_queues on reconnect,
        limit each queue type to the online CPUs, and clear a poll map
        with no poll queues
      - nvme-tcp io_work priority inversion with send_mutex held
        (Seiji), error recovery on read_sock failure and skipping TLS
        control records while waiting for the ICResp (Martin B), TLS
        handshake timeout validation, and an address attribute race

    [103 lines not shown]
DeltaFile
+244-65drivers/nvme/host/tcp.c
+96-23block/blk-iocost.c
+79-27drivers/md/raid5.c
+38-42drivers/block/zloop.c
+70-8block/blk-mq.c
+49-23drivers/md/md.c
+576-18851 files not shown
+1,062-41957 files

Linux/linux 9ed1114 — io_uring io-wq.c bpf-ops.c

Merge tag 'io_uring-7.4-20261029' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull io_uring fixes from Jens Axboe:

 - A batch of fixes from Chris:
    - Charge registered buffer arrays, rsrc nodes, tctx nodes and
      personalities to memcg, and free the XArray nodes a failed store
      leaves behind.
    - Clear bpf_ctx while submitting SQEs from a bpf-ops program, as the
      socket code otherwise skips both the capability check and
      lock_sock() for a setsockopt from the SQ.
    - Free the task context after an RCU grace period, closing a UAF
      when a foreign task frees the last request.
    - Stop io_ring_exit_work() from waiting on an SQPOLL thread held in
      get_signal(), and drop sqd->lock while the thread waits for
      in-flight requests, as either one could pin every iou_exit slot

 - io-wq fixes:
    - Don't create new workers once the exit has begun, which could

    [46 lines not shown]
DeltaFile
+40-10io_uring/io_uring.c
+33-6io_uring/sqpoll.c
+21-6io_uring/net.c
+20-0io_uring/cancel.c
+15-1io_uring/bpf-ops.c
+11-3io_uring/io-wq.c
+140-268 files not shown
+172-4414 files

Linux/linux 67f1f9b — drivers/video/console dummycon.c newport_con.c, drivers/video/fbdev atmel_lcdfb.c

Merge tag 'fbdev-for-7.4-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev

Pull more fbdev updates from Helge Deller:

 - atmel_lcdfb: avoid issues due to empty modelist in probe

 - simplify the console-blanking interface

* tag 'fbdev-for-7.4-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev:
  fbdev: atmel_lcdfb: fix list_first_entry() on possibly empty modelist in probe
  vt: Remove old-style con_blank
  vgacon: Implement struct consw.con_unblank
  sticon: Implement struct consw.con_unblank
  newport_con: Implement struct consw.con_unblank
  fbcon: Implement struct consw.con_unblank
  dummycon: Implement struct consw.con_unblank
  vt: Add con_unblank callback to struct consw
DeltaFile
+39-18drivers/video/fbdev/core/fbcon.c
+26-20drivers/video/console/vgacon.c
+13-11drivers/video/console/newport_con.c
+14-10drivers/video/console/sticon.c
+10-3drivers/video/fbdev/atmel_lcdfb.c
+12-0drivers/video/console/dummycon.c
+114-622 files not shown
+127-708 files

Linux/linux 4517b5a — drivers/clk/qcom camcc-eliza.c camcc-nord.c, drivers/clk/samsung clk-exynos5515.c

Merge tag 'clk-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux

Pull clk updates from Stephen Boyd:
 "Here's the clk changes for the merge window which is dominated in the
  diffstat by Qualcomm churning out new SoCs that need clk drivers.

  Looking beyond the sheer amount of lines of mostly data there we have
  a clk nexus DT binding change in the core clk framework and a driver
  core patch to add a subsys driver macro.

  The clock nexus support is useful for devices that map clks internally
  or for connectors on a board that route clock signals to another
  board. I suspect the use of this will expand in the future, so we have
  unit tests to make sure it doesn't break.

  The driver core change adds subsys_driver() and
  subsys_platform_driver() so we can register early drivers without
  open-coding that all (module_platform_driver() is at device initcall
  level so it isn't be used).

    [64 lines not shown]
DeltaFile
+3,548-0drivers/clk/qcom/gcc-msm8952.c
+3,152-0drivers/clk/qcom/camcc-hawi.c
+2,941-0drivers/clk/qcom/camcc-nord.c
+2,803-0drivers/clk/qcom/camcc-eliza.c
+1,657-0drivers/clk/zte/clk-zx297520v3.c
+1,484-0drivers/clk/samsung/clk-exynos5515.c
+15,585-0405 files not shown
+27,861-2,647411 files

Linux/linux 22d9db9 — io_uring sqpoll.c

io_uring/sqpoll: don't attach to a thread that is canceling

io_sq_offload_create() refuses to attach a ring to an SQPOLL thread
that has already gone, by checking sqd->thread under sqd->lock. Since
the thread drops the lock while io_uring_cancel_generic() waits for its
requests, that check can run while the thread is on its way out and
still see it. The new ring is then added to ctx_list, io_uring_setup()
succeeds, the thread finishes canceling and exits without ever having
looked at the ring, and io_uring_enter() fails with -EOWNERDEAD.

Only a thread that exits on a fatal signal can be caught like this, as
the stop bit is set once the last ring has let go of the sqd, when no fd
is left to attach through. A fatal signal is group wide and attaching
needs the same thread group, so the attacher is on its way out as well.
Still, make the check see it: set the stop bit before canceling,
whatever the reason for the exit, and test it when attaching.

Reported-by: Karl Mehltretter <kmehltretter at gmail.com>
Fixes: cb0306c52ffa ("io_uring/cancel: drop sqd->lock while SQPOLL waits")
Signed-off-by: Jens Axboe <axboe at kernel.dk>
DeltaFile
+10-1io_uring/sqpoll.c
+10-11 files

Linux/linux d89e1d1 — fs/crypto keyring.c keysetup.c, fs/ext4 inode.c crypto.c

Merge tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux

Pull fscrypt fixes from Eric Biggers:

 - Add more checks to prevent encryption on "large block size" ext4
   filesystems (s_blocksize > PAGE_SIZE), which isn't supported yet.
   There was already a mount-time check, but it wasn't enough.

 - Add missing memory barrier to fscrypt_find_mode_key()

 - Add missing zeroization in an error path

* tag 'fscrypt-for-linus' of git://git.kernel.org/pub/scm/fs/fscrypt/linux:
  ext4: reject encrypted inodes when block size > page size
  ext4: refuse encryption when block size > page size
  fscrypt: Fix missing barrier in fscrypt_find_mode_key()
  fscrypt: Explicitly zeroize sw_secret in error path
DeltaFile
+9-0fs/ext4/crypto.c
+7-1fs/crypto/keysetup.c
+6-0fs/ext4/inode.c
+3-1fs/crypto/keyring.c
+25-24 files

Linux/linux 0ff8f40 — fs/ntfs3 index.c xattr.c, include/trace/events ntfs3.h

Merge tag 'ntfs3_for_7.4' of https://github.com/Paragon-Software-Group/linux-ntfs3

Pull ntfs3 updates from Konstantin Komarov:
 "The bulk of this cycle is hardening against corrupted or maliciously
  crafted volumes. Most of these fixes come from fuzzing and KASAN
  reports. The main areas are:

   - $LogFile replay, where several unchecked on-disk sizes could make
     mount write past the MFT record buffer
   - MFT record and index parsing
   - extended attributes, where a bad $EA entry could leak up to 64K of
     kernel heap to userspace through getxattr()

  Reading a damaged compressed file could also return uninitialized page
  cache contents to userspace; that is fixed too.

  A few fixes affect healthy volumes as well: a heap overflow in
  fallocate(INSERT_RANGE) on small files, a use-after-free when a
  WOF-compressed file is opened for writing during a concurrent read, a

    [33 lines not shown]
DeltaFile
+389-0include/trace/events/ntfs3.h
+123-68fs/ntfs3/attrib.c
+43-25fs/ntfs3/dir.c
+28-16fs/ntfs3/xattr.c
+40-4fs/ntfs3/super.c
+35-5fs/ntfs3/index.c
+658-11810 files not shown
+785-14616 files

Linux/linux 5fade97 — kernel/debug debug_core.c gdbstub.c, kernel/debug/kdb kdb_io.c kdb_private.h

Merge tag 'kgdb-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux

Pull kgdb updates from Daniel Thompson:
 "Varied updates this cycle.

  Naveen Kumar Chaudhary fixed a memory leak when the environment is
  already full, eliminated to weird historical cruft (CMD_BUFLEN having
  different values in different files) and removed some dead code.

  Fang Xieyan tackled a family of related buffer overflows in the gdb
  remote protocol parsing (great fixes from a defensive coding point of
  view but not security relavent; gdb can already do anything it wants
  to)"

* tag 'kgdb-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/danielt/linux:
  kgdb: Fix buffer overflow in the qRcmd packet handler
  kgdb: Fix buffer overflow in the 'M' and 'X' packet handlers
  kgdb: Fix buffer overflow in the 'm' packet handler
  kgdb: remove unreachable return in kgdb_reenter_check()

    [2 lines not shown]
DeltaFile
+47-8kernel/debug/gdbstub.c
+3-4kernel/debug/kdb/kdb_main.c
+2-1kernel/debug/kdb/kdb_private.h
+0-2kernel/debug/debug_core.c
+0-1kernel/debug/kdb/kdb_io.c
+52-165 files

Linux/linux 9c7e3d5 — Documentation/virt/hyperv overview.rst, drivers/hv vmbus_drv.c mshv_vtl_main.c

Merge tag 'hyperv-next-signed-20261028' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux

Pull hyperv updates from Wei Liu:

 - Update to documents and code comments (Michael Kelley)

 - Harden Vmbus (Kameron Carr)

 - Rework MSHV driver page deposit logic (Mukesh Rathor)

 - Vmbus kexec bug fix (Shradha Gupta)

 - Miscellaneous bug fixes (Daehyeon Ko, Jiale Yao, Sasha Levin)

* tag 'hyperv-next-signed-20261028' of git://git.kernel.org/pub/scm/linux/kernel/git/hyperv/linux:
  Drivers: hv: Remove leftover support for old Hyper-V versions
  mshv: Remove unused *_old memory deposit functions
  mshv: Redesign hypervisor memory deposit logic
  mshv: Rename memory deposit memory functions to _old

    [15 lines not shown]
DeltaFile
+147-113drivers/hv/hv_proc.c
+51-75drivers/hv/ring_buffer.c
+45-13include/linux/hyperv.h
+47-8drivers/hv/mshv_vtl_main.c
+20-10drivers/hv/vmbus_drv.c
+15-13Documentation/virt/hyperv/overview.rst
+325-23210 files not shown
+363-30116 files

Linux/linux 1b8b675 — arch/riscv/boot/dts/sophgo sg2044-cpus.dtsi, arch/riscv/boot/dts/spacemit k1.dtsi

Merge tag 'riscv-for-linus-7.4-mw1' of git://git.kernel.org/pub/scm/linux/kernel/git/riscv/linux

Pull RISC-V updates from Paul Walmsley:

 - Add support for crash hotplug

 - Improve user copy performance on cores with fast misaligned accesses

 - Optimize code paths involving pgtable_l{4,5}_enabled() by patching in
   the return values during early boot (since these don't change during
   runtime), or by specifying the return values directly in Kconfig
   files (for purpose-built kernels)

 - Change the PCIe bus reassignment behavior to depend on the
   PCI_REASSIGN_ALL_BUS PCI flag (as ARM64 does)

 - Avoid an unnecessary sstatus CSR read during context switch

 - Make the sbi_ecall() macro variadic, improving code clarity

    [54 lines not shown]
DeltaFile
+221-0tools/testing/selftests/riscv/vector/v_uaccess_stress.c
+64-64arch/riscv/boot/dts/sophgo/sg2044-cpus.dtsi
+113-0arch/riscv/kernel/crash.c
+81-10arch/riscv/kernel/cpufeature.c
+75-6arch/riscv/include/asm/sbi.h
+40-40arch/riscv/boot/dts/spacemit/k1.dtsi
+594-12052 files not shown
+1,171-48658 files

Linux/linux fb7bd3a — drivers/android/binder process.rs, rust bindgen_parameters

Merge tag 'rust-fixes-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux

Pull Rust fixes from Miguel Ojeda:
 "Toolchain and infrastructure:

   - Fix 'objtool' warnings for the upcoming Rust 1.101.0 (expected
     2026-12-24) by adding one more 'noreturn' function

  'kernel' crate:

   - Fix KCFI failures on every call from C to Rust IRQ handlers and
     'hrtimer' callbacks by giving the C enum bindings the correct
     'cfi_encoding'. Also prevent the same issue for DMA callbacks
     taking 'dma_data_direction'

   - 'workqueue' module: fix a runtime warning when queueing work on the
     deprecated 'system_wq' by switching to 'system_{percpu,dfl}_wq'"

* tag 'rust-fixes-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux:

    [5 lines not shown]
DeltaFile
+27-25rust/kernel/workqueue.rs
+17-11rust/kernel/irq/request.rs
+11-10rust/kernel/dma.rs
+3-3rust/kernel/time/hrtimer.rs
+6-0rust/bindgen_parameters
+2-2drivers/android/binder/process.rs
+66-515 files not shown
+71-5511 files

Linux/linux 4dd16e3 — drivers/net/ethernet/broadcom/genet bcmgenet.c, drivers/net/ethernet/intel/ice ice_ptp.c

Merge tag 'net-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

Pull networking fixes from Jakub Kicinski:
 "Current release - new code bugs:

   - mctp: usblib: fix assertion breaking esoteric builds

  Previous releases - regressions:

   - Revert advertising the TCP MSS from the configured MTU

  - netlink: check sk_rcvbuf before charging the dump skb

   - eth:
      - ti: am65-cpts: fix support for PTP_EXTTS_REQUEST2 ioctl
      - mlx4: always create the eth and ib auxiliary devices
      - tg3: invert restart quirk logic to restrict SNP power-down bypass
      - bnxt: recycle agg buffers when Rx head buffer allocation fails


    [38 lines not shown]
DeltaFile
+129-45drivers/net/ethernet/intel/ice/ice_ptp.c
+70-32drivers/net/ethernet/broadcom/genet/bcmgenet.c
+102-0tools/testing/selftests/net/netlink-dumps.c
+94-2drivers/net/ppp/ppp_generic.c
+71-0tools/testing/selftests/tc-testing/tc-tests/filters/matchall.json
+0-67tools/testing/selftests/net/packetdrill/tcp_advmss_pmtu_ipv4.pkt
+466-146136 files not shown
+1,596-684142 files

Linux/linux 46806af — kernel/bpf verifier.c, tools/lib/bpf libbpf.c

Merge tag 'bpf-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf

Pull bpf fixes from Alexei Starovoitov:

 - Remove BPF_F_ARENA_SCALAR flag and .arena.data section in libbpf that
   were added for rust-bpf in this merge window. We found a cleaner
   approach that does it on compiler side instead of kernel/libbpf. No
   released kernel has them (Alexei Starovoitov)

 - Fix bpf_send_signal_task() returning -EPERM when it is called from a
   kernel thread (Aditya Sharma)

 - Various fixes (Alexei Starovoitov):
     - Use emit_rsb_call() to call bpf_unwind_target() in x86 JIT to fix
       objtool warning during the build
     - Fix scalar evolution: clear delta of a widened register, don't
       widen a pointer to a buffer, don't clamp a register whose type
       changed in the loop, and reset the range of a clamped packet
       pointer

    [60 lines not shown]
DeltaFile
+0-1,155tools/testing/selftests/bpf/progs/verifier_arena_scalar.c
+496-8tools/testing/selftests/bpf/progs/verifier_scev.c
+20-413tools/lib/bpf/libbpf.c
+370-0tools/testing/selftests/bpf/progs/iters_testmod.c
+0-216tools/testing/selftests/bpf/prog_tests/data_in_arena.c
+112-93kernel/bpf/verifier.c
+998-1,88555 files not shown
+1,884-2,58061 files

Linux/linux d011f64 — kernel kthread.c

Merge tag 'kthread-fix-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks

Pull kthread fix from Frederic Weisbecker:
 "Fix a bug where dynamic CPU isolation through cpuset isolated
  partitions can move a kthread out of the housekeeping range.

  The fix makes sure the fallback affinity is always a set of online
  housekeeper"

* tag 'kthread-fix-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/linux-dynticks:
  kthread: Fall back when no preferred housekeeping CPU is online
DeltaFile
+1-1kernel/kthread.c
+1-11 files

Linux/linux cb01c69 — Documentation/translations/pt_BR/admin-guide kernel-parameters.rst sysfs-rules.rst, Documentation/translations/pt_BR/process/debugging userspace_debugging_guide.rst

Merge tag 'docs-7.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/docs/linux

Pull more documentation updates from Jonathan Corbet:
 "A handful of late-arriving changes, most of which were ready ahead of
  the merge window:

   - More Portuguese translation updates

   - Some docs-build and self-test fixes

   - Bring documentation for the user-space access primitives
     in include/linux/uaccess.h into the docs build.

     This revealed a number of malformed kerneldoc comments,
     which are fixed in a subsequent tweak to uaccess.h"

* tag 'docs-7.4-2' of git://git.kernel.org/pub/scm/linux/kernel/git/docs/linux:
  uaccess: fix some erroneous kerneldoc comments
  docs/translations/pt_BR: admin-guide: add efi-stub.rst

    [18 lines not shown]
DeltaFile
+425-0Documentation/translations/pt_BR/admin-guide/bootconfig.rst
+328-0Documentation/translations/pt_BR/admin-guide/perf-security.rst
+297-0Documentation/translations/pt_BR/process/debugging/userspace_debugging_guide.rst
+195-0Documentation/translations/pt_BR/admin-guide/sysfs-rules.rst
+134-0Documentation/translations/pt_BR/admin-guide/kernel-parameters.rst
+81-39tools/docs/test_doc_build.py
+1,460-3913 files not shown
+1,900-6319 files

Linux/linux 729beb5 — kernel/sched/ext sub.h internal.h, tools/sched_ext scx_qmap.bpf.c

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

Pull sched_ext fixes from Tejun Heo:
 "This is a big pull for fixes, but much of it was in the works before
  the merge window.

  Most of these fixes are in sub-scheduler support, which nests BPF
  schedulers under a parent that hands them CPUs. It was heavily
  reworked over recent cycles and is now functionally complete. Porting
  real schedulers on it drove the latest additions and keeps finding
  corner cases.

  For example, once CPUs are shared and can be taken back, the kernel
  must keep every task moving when its scheduler can't run it or is
  failing, and those fallbacks interact subtly with each other and with
  other new core features.

   - The fallback paths meant to keep a task moving when its scheduler
     can't run it or is failing could themselves leave it stuck

    [36 lines not shown]
DeltaFile
+685-246kernel/sched/ext/ext.c
+546-192kernel/sched/ext/sub.c
+73-17kernel/sched/ext/internal.h
+15-14tools/sched_ext/include/scx/enums_abi.autogen.h
+24-2kernel/sched/ext/sub.h
+3-22tools/sched_ext/scx_qmap.bpf.c
+1,346-4935 files not shown
+1,401-50611 files

Linux/linux 2152c75 — Documentation/admin-guide cgroup-v2.rst, kernel/cgroup cpuset-internal.h cgroup.c

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

Pull cgroup fixes from Tejun Heo:

 - cgroup.kill did not kill a process whose thread group leader had
   exited while other threads still ran, nor those threads once moved to
   another cgroup, letting a process survive its container being killed

 - A cgroup.procs write under favordynmods could migrate a newly forked
   process before fork linked it to its cgroup, corrupting cgroup task
   lists

 - cpuset partition fixes for nested hierarchies: invalidation, revival,
   shrinking and switches between root and isolated could leak isolated
   CPUs, skip or miscompute the housekeeping check, or leave wrong
   effective CPUs:

     - A root partition can no longer be created under an isolated
       parent or stay valid under one, as disabling it could leave no

    [35 lines not shown]
DeltaFile
+406-274kernel/cgroup/cpuset.c
+226-58tools/testing/selftests/cgroup/test_cpuset_prs.sh
+158-0tools/testing/selftests/cgroup/test_kill.c
+29-1kernel/cgroup/cgroup.c
+6-0kernel/cgroup/cpuset-internal.h
+3-1Documentation/admin-guide/cgroup-v2.rst
+828-3346 files

Linux/linux c8c53d6 — block blk-crypto-fallback.c

blk-crypto: fix NULL deref and UAF in __blk_crypto_evict_key()

Sashiko reported a possible NULL pointer dereference, triggered by the
following flow:

  dm-inlinecrypt ctor            # first use of the fallback
   ├─ blk_crypto_init_key()      # succeeds, ctx->key.size != 0
   ├─ blk_crypto_start_using_key()
   │   ├─ hw-wrapped key: -EOPNOTSUPP
   │   │    # profile never allocated (NULL)
   │   └─ raw key: fallback_start_using_mode()
   │      └─ blk_crypto_fallback_init() fails
   │         └─ kfree(profile)   # not NULLed
   ├─ goto bad
   └─ inlinecrypt_dtr()          # evicts whenever key.size is set
      └─ blk_crypto_evict_key()
         └─ blk_crypto_config_supported_natively() = false
            └─ blk_crypto_fallback_evict_key()
               └─ __blk_crypto_evict_key(blk_crypto_fallback_profile)

    [53 lines not shown]
DeltaFile
+6-0block/blk-crypto-fallback.c
+6-01 files

Linux/linux 8f44631 — drivers/net tun.c

tun: drop batched packets while the device is down

tun_sendmsg() handles TUN_MSG_PTR batches from vhost-net by calling
tun_xdp_one() instead of tun_get_user(). But this path does not check
IFF_UP, allowing packets from a guest to be injected into the host
receive path while the device is administratively down.

Check IFF_UP in tun_xdp_one() before running XDP or building an skb.
Drop the packet when the device is down, matching tun_get_user().

Fixes: 043d222f93ab ("tuntap: accept an array of XDP buffs through sendmsg()")
Signed-off-by: Xiao Liang <shaw.leon at gmail.com>
Reviewed-by: Willem de Bruijn <willemb at google.com>
Link: https://patch.msgid.link/20261027101830.85327-1-shaw.leon@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+6-0drivers/net/tun.c
+6-01 files

Linux/linux 5bc3aaa — net/netlink af_netlink.c, tools/testing/selftests/net netlink-dumps.c

Merge branch 'netlink-fix-a-dump-livelock-with-a-notification-queued'

Jhonata Poma-Hansen says:

====================
netlink: fix a dump livelock with a notification queued

A netlink dump that starts while a notification is still charged to a
socket with a small receive buffer fails with ENOBUFS, and every retry
from recvmsg() fails the same way. A reader that peeks before reading,
as libnl does, never consumes the message at the head of the queue and
spins forever. I hit this with "iw dev wlan0 scan" on an arm64 board.

Patch 1 goes back to checking sk_rcvbuf before charging the dump skb,
as before commit ae8f160e7eb2. Patch 2 adds a selftest; it fails
without patch 1 and is skipped without the privileges to create a
netns.
====================


    [2 lines not shown]
DeltaFile
+102-0tools/testing/selftests/net/netlink-dumps.c
+5-1net/netlink/af_netlink.c
+107-12 files

Linux/linux e615d0a — tools/testing/selftests/net netlink-dumps.c

selftests: net: netlink-dumps: start a dump with a notification queued

Add a test which starts a link dump on a socket with SO_RCVBUF 2048
while a link notification is still queued, after a large read made the
kernel attempt large dump skbs. It reads like libnl does, peeking
before each read, and expects the dump to complete with a zero status
and at least one link. The notifications come from bringing lo up and
down, so the test runs in its own netns and is skipped without the
privileges to create one.

The test fails without the previous patch.

Signed-off-by: Jhonata Poma-Hansen <jhonata.poma at gmail.com>
Link: https://patch.msgid.link/20261027-netlink-dump-livelock-v2-2-c4bb05352a33@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+102-0tools/testing/selftests/net/netlink-dumps.c
+102-01 files

Linux/linux b45d377 — net/netlink af_netlink.c

netlink: check sk_rcvbuf before charging the dump skb

Since commit ae8f160e7eb2 ("netlink: Fix wraparounds of
sk->sk_rmem_alloc."), netlink_dump() charges the dump skb first and
queues it only if sk_rmem_alloc is still below sk_rcvbuf. Commit
a215b5723922 ("netlink: make sure we allow at least one dump skb")
added an exception for an empty socket.

A dump that starts while something else is still charged to a socket
with a small receive buffer fails with ENOBUFS and stays running.
Every recvmsg() retries it, fails again and sets sk_err, so a reader
that peeks before reading, as libnl does, gets ENOBUFS on the read
after each peek, never consumes the message at the head of the queue
and spins forever.

I hit this with "iw dev wlan0 scan" hanging at 100% CPU on an arm64
board with a 6.6 based kernel (iw 5.19 sets SO_RCVBUF to 8KiB). A
kprobe trace showed the scan dump starting while the NEW_SCAN_RESULTS
notification iw had just read was still charged to its socket,

    [17 lines not shown]
DeltaFile
+5-1net/netlink/af_netlink.c
+5-11 files

Linux/linux c989725 — drivers/net loopback.c, include/linux etherdevice.h

Merge branch 'net-fix-eth_type_trans-crashes-on-skbs-coming-from-the-stack'

Eric Dumazet says:

====================
net: fix eth_type_trans() crashes on skbs coming from the stack

eth_type_trans() assumes ETH_HLEN bytes are present in skb->head.
NIC drivers always provide this, and they should keep using the fast
version, without an extra pskb_may_pull().

Devices looping skbs from their transmit path back to their receive
path get skbs built by the stack instead. tc actions (act_vlan pop_eth,
act_ife decode), BPF helpers (bpf_skb_change_head() before a redirect)
or OVS actions (pop_eth followed by pop_mpls/pop_nsh) can leave fewer
than ETH_HLEN bytes in the linear part, and eth_type_trans() then hits
the BUG() in __skb_pull().

Instead of fixing every producer, or adding a check to all

    [41 lines not shown]
DeltaFile
+28-0include/linux/etherdevice.h
+12-7tools/testing/selftests/bpf/prog_tests/empty_skb.c
+13-5net/core/dev.c
+7-1net/openvswitch/vport-internal_dev.c
+7-1drivers/net/loopback.c
+4-0net/sched/act_ife.c
+71-146 files

Linux/linux 498c631 — net/sched act_ife.c

net/sched: act_ife: do not consume the inner header on egress

The issue:
tcf_ife_decode() unconditionally calls eth_type_trans(), which pulls
ETH_HLEN.  On egress this consumes the inner Ethernet header, and the
device receives an skb whose data points to the L3 header:

- loopback_xmit() parses L3 data as Ethernet: the "ethertype" comes
  from the inner IPv4 source address, and the decapsulated packet is
  dropped or misparsed.
- a real NIC transmits the frame without its Ethernet header.

(The __skb_pull() BUG this used to trigger in loopback_xmit() when the
remaining linear area was short is handled by "loopback: use
eth_type_trans_careful()".)

The Fix:
Parse the inner Ethernet header with eth_type_trans() in both directions,
then restore the egress data position and MAC length.  On ingress the

    [19 lines not shown]
DeltaFile
+4-0net/sched/act_ife.c
+4-01 files

Linux/linux b55e5a0 — net/openvswitch vport-internal_dev.c

openvswitch: use eth_type_trans_careful() in internal_dev_recv()

OVS actions like pop_eth followed by pop_mpls(ETH_P_TEB) or pop_nsh
can expose an inner Ethernet header which is not in the linear part
of the skb. Output to an internal port then crashes in eth_type_trans():

  flow: in_port(0),eth(),eth_type(0x8847),mpls(lse=0x00010140)
  actions: pop_eth,pop_mpls(0x6558),0
  # AF_PACKET SOCK_RAW on dp0: eth / mpls / eth / 4096 bytes of payload

  kernel BUG at include/linux/skbuff.h:2839!
  RIP: 0010:eth_type_trans (include/linux/etherdevice.h:635 net/ethernet/eth.c:163)
  Call Trace:
   internal_dev_recv (net/openvswitch/vport-internal_dev.c:202) openvswitch
   do_execute_actions (net/openvswitch/actions.c:1296) openvswitch
   ovs_execute_actions (net/openvswitch/actions.c:1606) openvswitch
   ovs_dp_process_packet (net/openvswitch/datapath.c:310) openvswitch
   ovs_vport_receive (net/openvswitch/vport.c:448) openvswitch
   internal_dev_xmit (net/openvswitch/vport-internal_dev.c:42) openvswitch

    [18 lines not shown]
DeltaFile
+7-1net/openvswitch/vport-internal_dev.c
+7-11 files

Linux/linux 2519a6f — include/linux etherdevice.h

net: add eth_type_trans_careful()

eth_type_trans() assumes ETH_HLEN bytes are present in skb->head.
NIC drivers always provide this, and they should keep using the fast
version.

Devices looping skbs from their transmit path back to their receive
path get skbs built by the stack instead. Their link-layer header
might have been popped by tc actions (act_vlan pop_eth, act_ife decode)
or OVS actions (pop_eth + pop_mpls / pop_nsh), leaving fewer than
ETH_HLEN bytes in the linear part. eth_type_trans() then hits
the BUG() in __skb_pull().

Add eth_type_trans_careful(), which first pulls the Ethernet header,
and returns a drop reason on failure, so that the few devices exposed
to this can drop such packets.

Signed-off-by: Eric Dumazet <edumazet at kernel.org>
Reviewed-by: Aaron Conole <aconole at redhat.com>

    [6 lines not shown]
DeltaFile
+28-0include/linux/etherdevice.h
+28-01 files