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

Linux/linux 96e8cb5drivers/net/ethernet/stmicro/stmmac stmmac_selftests.c

net: stmmac: selftests: Don't test flow control for small rx fifos

On dwmac1000, dwmac4 and dwxgmac, we only emit pause frames if there's
at least 4096 bytes in each queue's fifo.

The phylink mac capabilities are still MAC_ASYM_PAUSE | MAC_SYM_PAUSE as
otherwise we won't be able to negotiate 'rx on' pause. ASYM only will
prevent negotiating 'rx off tx on', while SYM only doesn't really
matche the reality (not symmetric if we can only do RX pause).

Fixes: 091810dbded9 ("net: stmmac: Introduce selftests support")
Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
Reviewed-by: Andrew Lunn <andrew at lunn.ch>
Link: https://patch.msgid.link/20260826140500.616466-7-maxime.chevallier@bootlin.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+13-3drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
+13-31 files

Linux/linux cd8c3b2drivers/net/ethernet/stmicro/stmmac stmmac_selftests.c

net: stmmac: selftests: Account for the UC filter list for filtering tests

On dwmac, one of the Unicast filter entries is used to store the local
HW addr. This means that we have to use promisc mode for any kind of
unicast filtering if we only have one slot in our unicast filter.

The number of slots available depends on how the IP is integrated, and
we can't autodiscover how many of these slots we have available, so
the DT property snps,perfect-filter-entries can be used to specify how
many are available.

Most IP variants default to 1 if this isn't specified, which is the case
for the amlogic variants (in this case, S905X3).

The stmmac selftests for UC filtering look if we have enough slots in
the filter to store the dev->uc list, but doesn't account for the
device's own MAC address. The dev->uc list's size we get with
netdev_uc_count() also doesn't account for the HW addr.


    [9 lines not shown]
DeltaFile
+18-3drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
+18-31 files

Linux/linux 2739d6fdrivers/net/ethernet/stmicro/stmmac dwxgmac2_core.c

net: stmmac: dwxgmac: Account for the primary MAC address for UC filtering

The same filter slots are used to store the main MAC address as well as
the address for the unicast filter. Let's account for that when deciding
whether or not to use promisc when programming the UC list in hardware.

Fixes: 0efedbf11f07 ("net: stmmac: xgmac: Fix XGMAC selftests")
Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
Reviewed-by: Andrew Lunn <andrew at lunn.ch>
Link: https://patch.msgid.link/20260826140500.616466-5-maxime.chevallier@bootlin.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+1-1drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c
+1-11 files

Linux/linux d29b399drivers/net/ethernet/stmicro/stmmac stmmac_selftests.c

net: stmmac: selftests: Check multiple MMC counters

The MMC counters report MAC statistics. Multiple counters can be
enabled when the IP is integrated, however there's no way to know
exactly which ones. Un-implemented counters seem to report 0.

It was found that on StarFive JH7110 and Amlogic SM1, the counter that's
used by the selftest (mmc_tx_framecount_g) isn't implemented, triggering
an MMC selftest failure.

Both the above SoCs seem to implement mmc_rx_framecount_gb, let's use
this counter as well for MMC counter validation.

Note that this doesn't guarantee that we won't encounter the same issue
again if another IP implements yet another set of counters that don't
include that new one.

If the game of whack-a-mole with implemented counters becomes too hard to
maintain, we may simply consider removing the MMC selftest entirely.

    [6 lines not shown]
DeltaFile
+10-4drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c
+10-41 files

Linux/linux 9698b6ddrivers/net/ethernet/stmicro/stmmac dwmac1000_core.c

net: stmmac: dwmac1000: Account for the primary MAC address for UC filtering

The same filter slots are used to store the main MAC address as well as
the address for the unicast filter. Let's account for that when deciding
whether or not to use promisc when programming the UC list in hardware.

Fixes: 47dd7a540b8a ("net: add support for STMicroelectronics Ethernet controllers.")
Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
Reviewed-by: Andrew Lunn <andrew at lunn.ch>
Link: https://patch.msgid.link/20260826140500.616466-3-maxime.chevallier@bootlin.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+1-1drivers/net/ethernet/stmicro/stmmac/dwmac1000_core.c
+1-11 files

Linux/linux 82187f4drivers/net/ethernet/stmicro/stmmac dwmac4_core.c

net: stmmac: dwmac4: Account for the primary MAC address for UC filtering

The same filter slots are used to store the main MAC address as well as
the address for the unicast filter. Let's account for that when deciding
whether or not to use promisc when programming the UC list in hardware.

Fixes: 477286b53f55 ("stmmac: add GMAC4 core support")
Signed-off-by: Maxime Chevallier <maxime.chevallier at bootlin.com>
Reviewed-by: Andrew Lunn <andrew at lunn.ch>
Link: https://patch.msgid.link/20260826140500.616466-4-maxime.chevallier@bootlin.com
Signed-off-by: Jakub Kicinski <kuba at kernel.org>
DeltaFile
+1-1drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
+1-11 files

Linux/linux 79b4f3bDocumentation/devicetree/bindings/mfd syscon.yaml, drivers/mfd rohm-bd71828.c rohm-pwrbutton.c

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

Pull MFD updates from Lee Jones:
 "New Support & Features:
   - MediaTek MT6397: Add mt6323 AUXADC support
   - MediaTek MT6397: Add mt6323 EFUSE support
   - Spreadtrum SC27xx: Add SC2730 regulator cell

  Improvements & Fixes:
   - Apple SMC: Fix key count endianness annotation
   - Azoteq IQS62x: Reject zero-length firmware records
   - ChromeOS EC: Introduce cros_ec_read_features helper and read
     features during probe to catch transfer errors
   - Cirrus Logic CS42L43: Fix regmap defaults ordering
   - Cirrus Logic CS42L43: Remove redundant NULL checks on SoundWire
   - Congatec Board Controller: Fix teardown ordering in cgbc_remove()
   - HP iPAQ Micro: Fix out-of-bounds stack read in ipaq_micro_str
   - Marvell 88PM886: Initialize the battery page
   - QNAP MCU: Keep the reply buffer alive past a command timeout

    [61 lines not shown]
DeltaFile
+0-575include/linux/mfd/dbx500-prcmu.h
+250-2include/linux/mfd/db8500-prcmu.h
+96-24drivers/mfd/ucb1x00-assabet.c
+2-116Documentation/devicetree/bindings/mfd/syscon.yaml
+112-0drivers/mfd/rohm-pwrbutton.c
+4-80drivers/mfd/rohm-bd71828.c
+464-79765 files not shown
+887-1,13371 files

Linux/linux 18fbf51drivers/base arch_numa.c, lib maple_tree.c

Merge tag 'mm-stable-2026-08-26-15-22' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull more MM updates from Andrew Morton:

 - "mm/rmap: index MAP_PRIVATE file-backed folios by anonymous pgoff"
   (Lorenzo Stoakes)

   Index MAP_PRIVATE file-backed folios by their anonymous page offset
   to resolve confusion around reverse mapping for zeroed and CoW'd
   file-backed memory.

   Use this new VMA anonymous page offset tracking to eliminate index
   conflicts and lay the foundation for scalable CoW performance
   improvements.

 - "promote mapped executable folios after first usage for MGLRU"
   (Baolin Wang)

   Make MGLRU's protection of mapped executable file folios more

    [158 lines not shown]
DeltaFile
+282-301mm/page_io.c
+548-0tools/testing/selftests/alloc_tag/allocinfo_ioctl_test.c
+280-121lib/maple_tree.c
+383-0mm/arch_numa.c
+0-371drivers/base/arch_numa.c
+349-2mm/alloc_tag.c
+1,842-795163 files not shown
+4,943-2,152169 files

Linux/linux e2a6641tools/testing/selftests/net big_tcp_tunnels.sh

Merge branch 'improve-stability-of-big_tcp_tunnels-sh-selftest'

Alice Mikityanska says:

====================
Improve stability of big_tcp_tunnels.sh selftest

This series addresses flakiness of big_tcp_tunnels.sh discussed at:

https://lore.kernel.org/netdev/349c582c-73e3-468c-91cd-ad6cc3562700@app.fastmail.com/

Lower the thresholds to avoid failures like this (number of packets
below the threshold):

https://netdev-ctrl.bots.linux.dev/logview.html?f=/logs/vmksft/net-dbg/results/754376/28-big-tcp-tunnels-sh/stdout

Tweak tcp_min_tso_segs and initcwnd to avoid failures like this (BIG TCP
doesn't kick in in slow configurations):


    [9 lines not shown]
DeltaFile
+34-4tools/testing/selftests/net/big_tcp_tunnels.sh
+34-41 files