Linux/linux c20313einclude/dt-bindings/sound qcom,q6dsp-lpass-ports.h, sound/hda/codecs/realtek alc269.c

Merge tag 'sound-fix-7.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound fixes from Takashi Iwai:
 "A collection of various small fixes since the last PR. Most changes
  are device-specific fixes, while there are a few fixes addressing the
  issues reported recently by fuzzers.

  Here are highlights:

  ALSA Core:
   - Prevent adding invalid kcontrols to the LED layer
   - Workaround for a false-positive mutex lockdep warning in rawmidi

  USB-audio:
   - Relaxed the sticky mixer behavior check that caused regressions
   - Fix an OOB write in Novation MIDI output
   - Proper cleanup after system-resume errors
   - Quirk updates for M-Audio Venom, Audient iD14 MkI, Logitech PRO X
     Wireless, SMSL USB DAC, and Creative Sound Blaster Play! 3

    [41 lines not shown]
DeltaFile
+139-71sound/soc/tegra/tegra210_admaif.c
+61-57sound/soc/codecs/tac5xx2-sdw.c
+92-1sound/hda/codecs/realtek/alc269.c
+28-54sound/usb/mixer.c
+28-28sound/soc/qcom/qdsp6/q6prm-clocks.c
+28-28include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h
+376-23941 files not shown
+705-42347 files

Linux/linux 275bc4eDocumentation/devicetree/bindings/rtc microchip,pic32mzda-rtc.yaml rtc-omap.txt, drivers/rtc rtc-rzn1.c

Merge tag 'rtc-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux

Pull RTC updates from Alexandre Belloni:
 "The RZN1 driver got a fairly comprehensive cleanup. More DT binding
  are converted to DT schema, leaving only 5 remaining files to convert.

  Subsystem:
   - patchwork project is moving to kernel.org
   - fully initialize clk_init_data
   - add missing MODULE_DEVICE_TABLE()
   - DT bindings conversions to DT schema

  Drivers:
   - ds1307: fix WADA bit for alarms on RX8130
   - rzn1: add support for RZ/T2H and RZ/N2H, many fixes"

* tag 'rtc-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (42 commits)
  MAINTAINERS: update rtc subsystem patchwork location
  rtc: msc313: Select by default on MSTARV7

    [19 lines not shown]
DeltaFile
+116-81drivers/rtc/rtc-rzn1.c
+140-0Documentation/devicetree/bindings/rtc/ti,omap-rtc.yaml
+63-0Documentation/devicetree/bindings/rtc/rtc-cmos.yaml
+57-0Documentation/devicetree/bindings/rtc/ti,palmas-rtc.yaml
+0-53Documentation/devicetree/bindings/rtc/rtc-omap.txt
+50-0Documentation/devicetree/bindings/rtc/microchip,pic32mzda-rtc.yaml
+426-13425 files not shown
+507-29531 files

Linux/linux afe0579drivers/char/tpm tpm.h tpm1-cmd.c, include/linux tpm.h tpm_command.h

Merge tag 'for-next-tpm-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd

Pull TPM updates from Jarkko Sakkinen:
 "The bulk of this is Ross Philipson's TPM enablement for Trenchboot.
  That exposes TPM constants, and decouple and improve robustness of
  tpm_buf a bit in order to implement a minimal early TPM driver.

  Early boot code will call either SKINIT on AMD or GETSEC[SENTER] on
  Intel before jumping into kernel's entry point. They re-initalize TPM
  PCRs but leave up to the early boot code measure initrd, boot_params
  and Trenchboot associated metadata.

  The motivation here is just that we would want in future iterations of
  the series put our full focus to the x86 part of the review, and call
  it a day as per TPM changes. Further, even if Trenchboot turned out to
  be empty lottery the worst possible outcome for TPM driver is that
  things get cleaned up a bit"

* tag 'for-next-tpm-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:

    [16 lines not shown]
DeltaFile
+505-13include/linux/tpm_command.h
+145-182drivers/char/tpm/tpm2-cmd.c
+3-227include/linux/tpm.h
+79-105drivers/char/tpm/tpm1-cmd.c
+0-180drivers/char/tpm/tpm.h
+84-84security/keys/trusted-keys/trusted_tpm2.c
+816-79115 files not shown
+1,261-1,10221 files

Linux/linux 9df08cdcrypto acompress.c

Merge tag 'v7.3-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

Pull crypto fix from Herbert Xu:
 "Fix a memory allocation overrun in crypto acomp"

* tag 'v7.3-p2' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
  crypto: acomp - allocate async request context when cloning
DeltaFile
+13-3crypto/acompress.c
+13-31 files

Linux/linux 344be13drivers/acpi power.c scan.c

Merge tag 'acpi-7.3-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI support fix from Rafael Wysocki:
 "Revert an incomplete recent commit that may cause ACPI device power
  management to stop working"

* tag 'acpi-7.3-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  Revert "ACPI: scan: Defer device power initialization"
DeltaFile
+4-0drivers/acpi/scan.c
+0-1drivers/acpi/power.c
+4-12 files

Linux/linux 9d607aearch/arm64/include/asm processor.h, arch/arm64/kernel compat_alignment.c

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

Pull arm64 fixes from Will Deacon:
 "A mixture of ptdump, compat and MTE fixes that came in during the
  merge window:

   - Fix address handling of final memory region in ptdump

   - Fix emulation of decrementing load/store multiple from 32-bit task

   - Fix SCTLR context-switching for store-only MTE mode

   - Fix numerous issues in MTE selftests"

* tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
  selftests/arm64: Add MTE test config fragment
  selftests/arm64: Fix MTE prctl TAP plan
  selftests/arm64: Treat KSM merge_across_nodes as optional
  selftests/arm64: Print missing MTE TAP headers

    [4 lines not shown]
DeltaFile
+28-3tools/testing/selftests/arm64/mte/check_ksm_options.c
+17-0tools/testing/selftests/arm64/config
+13-1arch/arm64/mm/ptdump.c
+7-4arch/arm64/kvm/ptdump.c
+2-2arch/arm64/kernel/compat_alignment.c
+1-1arch/arm64/include/asm/processor.h
+68-119 files not shown
+84-1215 files

Linux/linux 72ecc30arch/xtensa/include/asm platform.h, arch/xtensa/kernel time.c smp.c

Merge tag 'xtensa-20260828' of https://github.com/jcmvbkbc/linux-xtensa

Pull Xtensa updates from Max Filippov:

 - use strnlen() to improve iss_console_write()

 - remove unused function setup_profiling_timer()

 - fix CONFIG_XTENSA_CALIBRATE_CCOUNT macro name in comment

* tag 'xtensa-20260828' of https://github.com/jcmvbkbc/linux-xtensa:
  xtensa: remove unused setup_profiling_timer function
  xtensa: correct CONFIG_XTENSA_CALIBRATE_CCOUNT macro name in comment
  tty: xtensa/iss: use strnlen to improve iss_console_write
DeltaFile
+0-7arch/xtensa/kernel/smp.c
+3-2arch/xtensa/platforms/iss/console.c
+1-1arch/xtensa/include/asm/platform.h
+0-1arch/xtensa/kernel/time.c
+4-114 files

Linux/linux 874b43barch/m68k/coldfire device.c m5441x.c, arch/m68k/configs m5282evb_defconfig m5235evb_defconfig

Merge tag 'm68knommu-for-v7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu

Pull m68knommu updates from Greg Ungerer:
 "This includes a couple more new defconfigs to improve test build
  coverage, changes to use the more correct linux/gpio/legacy.h and
  platform setup for the reset device of the ColdFire 5441x SoC
  hardware.

   - new defconfigs for 2 more ColdFire boards

   - change to use linux/gpio/legacy.h

   - add platform setup for reset device of the 5441x SoC boards"

* tag 'm68knommu-for-v7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
  m68k: coldfire/5441x: register mcf-rcm-reset platform device
  m68k/coldfire: replace linux/gpio.h inclusions
  m68k: defconfig: add config for M5282EVB board
  m68k: defconfig: add config for M52358EVB board
DeltaFile
+52-0arch/m68k/configs/m5235evb_defconfig
+51-0arch/m68k/configs/m5282evb_defconfig
+25-0arch/m68k/coldfire/m5441x.c
+1-1arch/m68k/include/asm/mcfgpio.h
+1-1arch/m68k/coldfire/device.c
+130-25 files

Linux/linux afce970. MAINTAINERS

MAINTAINERS: update rtc subsystem patchwork location

The RTC subsystem is migrating it patchwork to kernel.org.

Link: https://patch.msgid.link/202608212007582a463833@mail.local
Signed-off-by: Alexandre Belloni <alexandre.belloni at bootlin.com>
DeltaFile
+1-1MAINTAINERS
+1-11 files

Linux/linux 1b78070drivers/net/ethernet/qlogic/qlcnic qlcnic_init.c, net/bluetooth l2cap_sock.c

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

Pull networking fixes from Jakub Kicinski:
 "Including fixes from Bluetooth, IPSec and Netfilter.

  Current release - fix to a fix:

   - netfilter: ipset: remove need to allocate memory on delete operations

  Current release - regressions:

   - macb: drop CONFIG_OF #if block, fix build

  Previous releases - always broken:

   - stream of fixes for SCTP continues

   - inet: frags: strip GSO state from fragments before reassembly


    [42 lines not shown]
DeltaFile
+259-208drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c
+119-99net/netfilter/nf_tables_api.c
+124-50net/netfilter/ipset/ip_set_hash_gen.h
+98-27net/smc/smc_llc.c
+79-41net/openvswitch/conntrack.c
+74-26net/bluetooth/l2cap_sock.c
+753-451239 files not shown
+2,989-1,438245 files

Linux/linux 4a9d62anet/ipv6/netfilter ip6t_ah.c ip6t_hbh.c, net/netfilter xt_iprange.c xt_IDLETIMER.c

Merge tag 'nf-26-08-27' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf

Pablo Neira Ayuso says:

====================
Netfilter fixes for net

The following patchset contains Netfilter fixes for net:

1) Use DEBUG_NET_WARN_ON_ONCE() instead of WARN_ON() from the tproxy
   datapath, a recent bug found a way to reach WARN_ON from datapath
   due to insufficient validation of xt_TPROTO checkentry.
   From Fernando F. Mancera.

2) Similar to previous patch to replace WARN_ON_ONCE by
   DEBUG_NET_WARN_ON_ONCE() for connlimit. Not known issue, but
   since this patch has been around for a while, let's merge it.
   Also from Fernando.


    [40 lines not shown]
DeltaFile
+32-43net/netfilter/nf_tables_api.c
+12-56net/netfilter/xt_IDLETIMER.c
+2-39net/ipv6/netfilter/ip6t_frag.c
+9-31net/ipv6/netfilter/ip6t_hbh.c
+4-28net/netfilter/xt_iprange.c
+2-25net/ipv6/netfilter/ip6t_ah.c
+61-22221 files not shown
+118-32127 files

Linux/linux 3ba13f5Documentation/devicetree/bindings/input qcom,spmi-haptics.yaml, drivers/of base.c irq.c

Merge tag 'devicetree-fixes-for-7.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull devicetree fixes from Rob Herring:

 - Fix possible out-of-bounds access in of_alias_scan()

 - Fix refcount leak in of_irq_get_affinity()

 - Add Qualcomm SPMI PMIC haptics input which is already referenced

* tag 'devicetree-fixes-for-7.3-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
  of: fix out-of-bounds read in of_alias_scan() stem parser
  of/irq: Fix device node refcount leak in of_irq_get_affinity()
  dt-bindings: input: Add Qualcomm SPMI PMIC haptics
DeltaFile
+116-0Documentation/devicetree/bindings/input/qcom,spmi-haptics.yaml
+3-1drivers/of/irq.c
+1-1drivers/of/base.c
+120-23 files

Linux/linux d5dc1e6net/ipv4 inet_fragment.c

inet: frags: strip GSO state from fragments before reassembly

A virtio_net_hdr (tun/tap, or AF_PACKET with PACKET_VNET_HDR) can mark
an IPv4 or IPv6 fragment as GSO; nothing relates gso_type to frag_off.
inet_frag_reasm_prepare()/inet_frag_reasm_finish() keep the first
fragment's skb as the head of the reassembled datagram, including its
shinfo->gso_size/gso_type/gso_segs, and chain the remaining fragments
on frag_list with whatever linear/paged layout they arrived with.

After ip_defrag() (ip_local_deliver(), nf_defrag_ipv4, ...) the
reassembled skb therefore still claims to be GSO (SKB_GSO_DODGY), and
the next software segmentation point - udp_rcv_segment() on local
delivery, validate_xmit_skb(), or the ip_finish_output_gso() slow
path - hands it to skb_segment(). skb_segment()'s frag_list walk
assumes GRO-shaped input and hits one of its BUG_ON()s. Two writes to
a tap by an unprivileged user in its own userns are enough:

  kernel BUG at net/core/skbuff.c:4899!
  Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI

    [66 lines not shown]
DeltaFile
+7-0net/ipv4/inet_fragment.c
+7-01 files

Linux/linux 729c489net/sched sch_htb.c

net/sched: sch_htb: limit htb_classify inner-class filter hops

htb_classify() follows each filter-selected inner class by switching
to cl->filter_list, but never bounds the number of hops. A filter on
an inner class can point back to itself or to another inner class that
points back, creating an infinite loop in the packet classification
path with the qdisc lock held and BH disabled — a soft lockup / panic
from a single packet.

Bound the traversal with a hop counter and drop the packet with a
rate-limited warning once the bound is exceeded. The counter is
incremented at the point the inner filter chain is picked up, after the
TC_ACT_* switch has consumed the classifier verdict, so a terminal
TC_ACT_QUEUED/STOLEN/TRAP on the last permitted chain still sets *qerr
to __NET_XMIT_STOLEN and the packet is not charged as a drop by this
qdisc or its parent.

The bound is TC_HTB_MAXDEPTH, taken from HTB's own parameters rather than
from the qdisc hierarchy depth limit. Class levels run from 0 to

    [33 lines not shown]
DeltaFile
+5-2net/sched/sch_htb.c
+5-21 files

Linux/linux ce2b807net/ipv4 tcp_output.c

tcp: fix corruption of urgent data on multi-segment retransmit

On the normal xmit path, while in urgent mode we refuse to build a
multi-segment TSO packet, so every segment gets its own urg_ptr:

        /* tcp_write_xmit() */
        limit = mss_now;
        if (tso_segs > 1 && !tcp_urg_mode(tp))
                limit = tcp_mss_split_point(...);

The retransmit path has no such guard. __tcp_retransmit_skb() builds a
segs > 1 skb and hands it to the GSO layer, which only advances th->seq
per segment and copies urg_ptr verbatim:

        /* __tcp_retransmit_skb() */
        len = cur_mss * segs;           /* segs > 1, no urg_mode check */
        ...
        /* tcp_gso_segment(): bumps seq only, urg_ptr is copied */


    [20 lines not shown]
DeltaFile
+1-1net/ipv4/tcp_output.c
+1-11 files

Linux/linux 6a7e91ftools/testing/selftests/net/packetdrill tcp_urg_ptr_retransmit.pkt

selftests/net: packetdrill: add tcp_urg_ptr_retransmit

Drive a connection into urgent mode and force a multi-segment retransmit,
checking that each retransmitted segment keeps its own urg_ptr.

The test asserts the fixed behaviour: the hole is retransmitted as two
independent skbs, each with its own urg_ptr (5001 and 4001) and no PSH.
An unpatched kernel instead sends one super-skb whose GSO split copies
urg_ptr onto the second segment and also sets PSH there, so on an unpatched
kernel the mismatch shows up on the PSH bit (actual P.U ... urg 5001) before
the urg_ptr:

        tcp_urg_ptr_retransmit.pkt:63: live packet field tcp_psh:
                expected: 0 (0x0) vs actual: 1 (0x1)
        script packet:  .U 1001:2001(1000) ack 1
        actual packet:  P.U 1001:2001(1000) ack 1 win 1050

After the fix the retransmit carries a per-segment urg_ptr and the test
passes.

    [5 lines not shown]
DeltaFile
+65-0tools/testing/selftests/net/packetdrill/tcp_urg_ptr_retransmit.pkt
+65-01 files

Linux/linux a60fd8cdrivers/usb/atm usbatm.c

usb: atm: usbatm: fix invalid ci_range initialization

syzbot reported a shift-out-of-bounds in __vcc_connect():

  UBSAN: shift-out-of-bounds in net/atm/common.c:382:32
  shift exponent -1 is negative
  CPU: 0 UID: 0 PID: 5987 Comm: syz.0.18 Not tainted syzkaller #0 PREEMPT(full)
  Hardware name: Google Compute Engine/Google Compute Engine, BIOS Google 08/05/2026
  Call Trace:
   <TASK>
   dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120
   ubsan_epilogue+0xa/0x30 lib/ubsan.c:233
   __ubsan_handle_shift_out_of_bounds+0x36d/0x400 lib/ubsan.c:494
   __vcc_connect+0x14b4/0x19c0 net/atm/common.c:382
   vcc_connect+0x328/0x8f0 net/atm/common.c:498
   pvc_bind+0x272/0x380 net/atm/pvc.c:52
   __sys_bind+0x2e3/0x410 net/socket.c:1976
   __x64_sys_bind+0x7a/0x90 net/socket.c:1979
   ...

    [27 lines not shown]
DeltaFile
+2-2drivers/usb/atm/usbatm.c
+2-21 files

Linux/linux dd890aedrivers/net/ethernet/freescale fec_main.c

net: fec: only stop PTP if it was initialized

fec_ptp_init() is only called when fep->bufdesc_ex is available.
However, fec_probe() unconditionally calls fec_ptp_stop() on the
failed_init path, and fec_drv_remove() unconditionally calls
fec_ptp_stop() during device removal.

Check fep->bufdesc_ex before calling fec_ptp_stop() in both paths
to avoid stopping PTP when it was not initialized.

Fixes: 32cba57ba74b ("net: fec: introduce fec_ptp_stop and use in probe fail path")
Reviewed-by: Wei Fang <wei.fang at nxp.com>
Reviewed-by: Frank Li <Frank.Li at nxp.com>
Signed-off-by: bui duc phuc <phucduc.bui at gmail.com>
Link: https://patch.msgid.link/20260826103428.32807-1-phucduc.bui@gmail.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+4-2drivers/net/ethernet/freescale/fec_main.c
+4-21 files

Linux/linux 23c5326drivers/net/slip slip.c

slip: remove slip_hangup() to fix use-after-free in slip_receive_buf()

Jaeyoung Chung and Eulgyu Kim reported a slab-use-after-free read
in slip_receive_buf() when racing against tty hangup.

tty_ldisc_hangup() calls ld->ops->hangup() while holding only
a read lock on tty->ldisc_sem (via tty_ldisc_ref()).
Because slip_hangup() simply called slip_close(), it ran concurrently
with reader functions such as slip_receive_buf().

slip_close() unregisters and frees the net device and its private
struct slip, causing concurrent reader threads in slip_receive_buf()
to dereference freed memory.

Line discipline close() is already guaranteed to be called under
the write lock of tty->ldisc_sem during hangup processing
(in tty_ldisc_reinit() or tty_ldisc_kill()).

Remove slip_hangup() so teardown is serialized cleanly by slip_close().

    [9 lines not shown]
DeltaFile
+0-8drivers/net/slip/slip.c
+0-81 files

Linux/linux 9bb3431drivers/spi spi-amlogic-spisg.c spi-loongson-core.c

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

Pull spi fixes from Mark Brown:
 "A couple of fixes that came in during the merge window: Geert fixed an
  uninitialised data bug in the amlogic-spisg driver which could crash
  and in the Loongson driver Li Jun hooked up the existing suspend
  operations more fully to fix hibernation"

* tag 'spi-fix-v7.3-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
  spi: loongson: pm: add .freeze .poweroff .thaw .restore
  spi: amlogic-spisg: Make sure clk_init_data is fully initialized
DeltaFile
+2-4drivers/spi/spi-loongson-core.c
+1-1drivers/spi/spi-amlogic-spisg.c
+3-52 files

Linux/linux 50e5c66net/bridge br_multicast.c

net: bridge: mcast: fix use-after-free of a master VLAN's multicast context

br_multicast_toggle_one_vlan() clears BR_VLFLAG_MCAST_ENABLED under
br->multicast_lock before stopping a VLAN's multicast context.  That is
the teardown handshake: lockless readers gate on the flag through
br_multicast_ctx_should_use() -> br_multicast_ctx_vlan_disabled(), so
once it is cleared under the lock no reader can arm the context again.

For a master VLAN the handshake never runs.  __vlan_del() clears
BRIDGE_VLAN_INFO_BRENTRY before calling br_vlan_put_master(), so
br_multicast_toggle_one_vlan(masterv, false) returns early on
!br_vlan_is_brentry(vlan): the flag stays set and br->multicast_lock is
never taken.  br_vlan_put_master() then drains the context in
br_multicast_ctx_deinit() and frees the VLAN through call_rcu(), while a
reader still inside rcu_read_lock() sees the context as enabled and
re-arms it.  The port and port-VLAN branch of the function has no
br_vlan_is_brentry() test and flips the flag under br->multicast_lock,
so it is not affected.


    [31 lines not shown]
DeltaFile
+2-2net/bridge/br_multicast.c
+2-21 files

Linux/linux 6253a29drivers/regulator tps65185.c

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

Pull regulator fix from Mark Brown:
 "One fix here, for a race condition on startup in the tps65185 driver
  which is seen on actual boards - we need a delay after waking the chip
  before it is ready to talk to the host"

* tag 'regulator-fix-v7.3-merge-window' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator:
  regulator: tps65185: wait for the IC to wake before the first I2C access
DeltaFile
+6-0drivers/regulator/tps65185.c
+6-01 files

Linux/linux 7cec133kernel/dma contiguous.c

Merge tag 'dma-mapping-7.3-2026-08-27' of git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux

Pull dma-mapping fix from Marek Szyprowski:

 - integer overflow fix for kernel cmdline parser for DMA contiguous
   initialization code (Alexander Graf)

* tag 'dma-mapping-7.3-2026-08-27' of git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux:
  dma-contiguous: fix truncation of numa_cma / cma_pernuma sizes >= 2G
DeltaFile
+9-7kernel/dma/contiguous.c
+9-71 files

Linux/linux 8f735d6include/net pkt_sched.h, net/sched sch_api.c

net/sched: bound qdisc_pkt_len to prevent qdisc soft lockup

qdisc_get_stab() accepts a user-supplied size table, and
__qdisc_calculate_pkt_len() amplifies qdisc_pkt_len() through the
overhead, the size-table data (u16), and size_log (up to
STAB_SIZE_LOG_MAX). A crafted stab can therefore set qdisc_pkt_len()
to ~1 GiB for an ordinary skb. Per-flow deficit schedulers such as
DRR and ETS replenish one quantum per loop iteration; with a tiny
quantum (1) they spin billions of times under the qdisc lock,
producing a soft lockup / RCU stall as illustrated by vega at nebusec.ai.

Cap the final qdisc_pkt_len() to QDISC_PKT_LEN_MAX so the size-table
amplification cannot drive deficit schedulers into an unbounded loop.
A legitimate size table (e.g. qfq's overhead 999999999, which is
handled by dropping) is still accepted.

Introduce cap QDISC_PKT_LEN_MAX (1 << 20) = 1 MiB which is well above
any legitimate single-skb wire length: the largest current skb->len
is GSO_MAX_SIZE (524280), and an ATM-style size table (53/48 cell tax)

    [21 lines not shown]
DeltaFile
+5-2net/sched/sch_api.c
+1-0include/net/pkt_sched.h
+6-22 files

Linux/linux 88c71ccdrivers/net/dsa/mxl862xx mxl862xx.c

net: dsa: mxl862xx: enable assisted learning on CPU port

The MxL862xx driver enables FDB isolation but does not enable assisted
learning on the CPU port. Consequently, MAC addresses learned through a
physical switch port are not updated in hardware when the corresponding
station moves to a foreign bridge port, such as a Wi-Fi interface.

The stale hardware FDB entry continues directing return traffic toward
the original physical port. Traffic entering that same port is then
filtered instead of being forwarded to the CPU and software bridge. This
causes downstream unicast traffic, including DHCP OFFER and ACK packets,
to disappear after a client roams to a local wireless interface. The
client eventually considers the connection unusable and disconnects.

Enable assisted CPU-port learning so DSA installs foreign bridge FDB
entries on the CPU port. This keeps the hardware FDB synchronized with
the software bridge and allows return traffic to reach locally attached
Wi-Fi clients after roaming.


    [12 lines not shown]
DeltaFile
+1-0drivers/net/dsa/mxl862xx/mxl862xx.c
+1-01 files

Linux/linux 23680bfdrivers/net/ethernet/stmicro/stmmac stmmac_main.c

net: stmmac: restore NET_IP_ALIGN in the RX DMA offset

Since the RX path was converted to zero-copy, the page pool page is handed
to the stack directly as the skb head, and the offset the DMA engine writes
at is what determines the alignment of the packet headers.

Before the conversion the payload was copied into an skb obtained from
napi_alloc_skb(), which reserves NET_SKB_PAD + NET_IP_ALIGN. The
conversion moved the headroom into stmmac_rx_offset() but did not carry
over NET_IP_ALIGN, so on architectures where NET_IP_ALIGN is 2 the IP
header now lands misaligned:

  64 (NET_SKB_PAD) + 14 (ethernet) + 20 (IP) = 98

Same for the XDP branch:

  256 (XDP_PACKET_HEADROOM) + 14 (ethernet) + 20 (IP) = 290

On ARM32 this is fatal, because ldm and ldrd trap on unaligned addresses

    [42 lines not shown]
DeltaFile
+2-2drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+2-21 files

Linux/linux f7e3f4dDocumentation/devicetree/bindings/leds/backlight silergy,sy7758.yaml, drivers/video/backlight lcd.c Kconfig

Merge tag 'backlight-next-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight

Pull backlight updates from Lee Jones:
 "New Support & Features:
   - Silergy SY7758: Add driver for the 6-channel high-efficiency LED
     driver

  Improvements & Fixes
   - Awinic AW99706: Fix device tree property names to match the
     binding, consistently validate all property values, and honor the
     core blank state in `update_status()`
   - Kinetic KTD2801: Add missing dependency on `GPIOLIB` in Kconfig
   - Qualcomm WLED: Remove redundant `dev_err()` calls

  Cleanups & Refactoring
   - Core: Use `sysfs_emit()` instead of `sprintf()` in sysfs show
     callbacks
   - Maintainers: Update Junjie Cao's email address for the Awinic
     AW99706 driver

    [16 lines not shown]
DeltaFile
+259-0drivers/video/backlight/sy7758.c
+52-0Documentation/devicetree/bindings/leds/backlight/silergy,sy7758.yaml
+15-10drivers/video/backlight/aw99706.c
+8-8drivers/video/backlight/backlight.c
+9-1drivers/video/backlight/Kconfig
+3-3drivers/video/backlight/lcd.c
+346-225 files not shown
+350-2611 files

Linux/linux 7cc2726Documentation/devicetree/bindings/leds nxp,pca963x.yaml adi,ltc3220.yaml, Documentation/devicetree/bindings/leds/backlight ti,tps65217.yaml

Merge tag 'leds-next-7.3' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds

Pull LED updates from Lee Jones:
 "New Support & Features:
   - Core: Extend netdev trigger speeds up to 100G
   - PWM Multicolor: Introduce default-intensity property
   - Analog Devices LTC3220: Add support for 18 channel LED driver
   - NXP PCA963x: Add multicolor LED class support

  Improvements & Fixes:
   - GPIO: Clear error pointers for skipped LEDs
   - Broadcom BCM63138: Use %pe to print pinctrl error instead of %ld
   - ISSI IS31FL319x: Modernize device registration by using fwnode APIs
   - NXP PCA9532: Fix inverted GPIO output polarity
   - NXP PCA9532: Fix phantom device registration on missing hardware
   - STMicroelectronics ST1202: Correct and extend hw_pattern
     documentation
   - STMicroelectronics ST1202: Fix channel disable logic on zero
     brightness and ensure brightness changes are applied in active mode

    [45 lines not shown]
DeltaFile
+586-0drivers/leds/leds-ltc3220.c
+149-44drivers/leds/leds-pca963x.c
+170-0Documentation/devicetree/bindings/leds/backlight/ti,tps65217.yaml
+0-143Documentation/devicetree/bindings/leds/leds-bcm6358.txt
+133-0Documentation/devicetree/bindings/leds/adi,ltc3220.yaml
+103-5Documentation/devicetree/bindings/leds/nxp,pca963x.yaml
+1,141-19221 files not shown
+1,567-44027 files

Linux/linux 9c24a50drivers/net/ethernet/stmicro/stmmac stmmac.h stmmac_main.c

net: stmmac: drop gso_enabled_types and rely on netdev features

The gso_enabled_types field is used by stmmac_xmit() to decide whether a
GSO skb should be passed to stmmac_tso_xmit(). It is updated in
stmmac_set_features() based solely on NETIF_F_TSO, so disabling IPv4
TSO while keeping IPv6 TSO (NETIF_F_TSO6) enabled zeroes the mask. As a
result IPv6 GSO frames, which the networking stack still generates since
NETIF_F_TSO6 is enabled, fall through to the non-TSO xmit path where
they are not handled.

The networking stack already manages the GSO logic: a GSO skb is only
delivered to the driver when the matching offload feature (NETIF_F_TSO,
NETIF_F_TSO6 or NETIF_F_GSO_UDP_L4) is enabled, otherwise the frame is
segmented in software before reaching ndo_start_xmit().
stmmac_features_check() also validates each GSO frame against the TSO
hardware constraints and falls back to software GSO when they are not met.

Drop the gso_enabled_types field and rely on skb_is_gso() in
stmmac_xmit() instead, which correctly routes IPv6 GSO frames to the TSO

    [8 lines not shown]
DeltaFile
+1-18drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+0-2drivers/net/ethernet/stmicro/stmmac/stmmac.h
+1-202 files

Linux/linux 6fe6669drivers/net/ethernet/stmicro/stmmac dwxgmac2_core.c dwmac4_core.c

Merge branch 'net-stmmac-more-selftest-related-fixes'

Maxime Chevallier says:

====================
net: stmmac: More selftest related fixes

This series addresses some (but not all) issues found while running the
ethtool selftest on various stmmac platforms. As a reminder, ethtool
selftest are run with 'ethtool -t ethX', and for stmmac the goal is to test
hardware features and bugs from the IP integration in the platform.

I've been running this on :

 - Altera CycloneV (dwmac-socfpga, dwmac1000 IP, v3.70a)
 - NXP imx8mp (dwmac-imx, dwmac4, v5.10a)
 - Allwinner H2S (dwmac-sun8i, dwmac1000)
 - Amlogic S905X3 (dwmac-meson8b, dwmac1000, v3.70a)
 - STM32mp157a (dwmac-stm32, dwmac4, v4.20a)

    [102 lines not shown]
DeltaFile
+41-10drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
+1-1drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c
+1-1drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
+1-1drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c
+44-134 files