Netdev List
 help / color / mirror / Atom feed
* Re: [RFC PATCH 3/4] nfs: make nfs_page pin-aware
From: Pranjal Shrivastava @ 2026-04-14 19:58 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: trond.myklebust, anna, davem, kuba, edumazet, pabeni, chuck.lever,
	jlayton, tom, okorniev, neil, dai.ngo, linux-nfs, netdev
In-Reply-To: <ac341x4RXKoShXsB@infradead.org>

On Wed, Apr 01, 2026 at 10:04:23PM -0700, Christoph Hellwig wrote:
> This conversion really should go first as it is badly needed independent
> of any P2P support.  And I wonder if it should go further - currently
> the NFS I/O code is using folios for buffered I/O, but pages for direct
> I/O, which makes larger I/O very inefficient.
> 

Ack. I'll send this out as a different series with migration to folios
for direct I/O as well.

> The iov_iter_extract_bvecs wrapper allows to extract bvecs instead, which
> might be a good choice here either by passing down the bvecs or
> converting to an nfs_page inline.  Or just open coding a variant of
> iov_iter_extract_bvecs that converts to nfs_page structures instead of
> bvecs.  This would pair with a helper similar to __bio_release_pages on
> the unlock side.

Ack. I'll attempt an open coded variant.

> 
> > +			req = nfs_page_create_from_page(dreq->ctx, pagevec[i], false,
> >  							pgbase, pos, req_len);
> >
> 
> A lot of this code reads pretty odd as it's overflowing the lines.
> 

Ahh, my bad. For some reason even checkpatch didn't catch this, I'll fix
this here and everywhere else.

Thanks,
Praan

^ permalink raw reply

* Re: [RFC PATCH 2/4] nfs: add NFS_CAP_P2PDMA and detect transport support
From: Pranjal Shrivastava @ 2026-04-14 19:54 UTC (permalink / raw)
  To: Chuck Lever
  Cc: Trond Myklebust, Anna Schumaker, davem, Jakub Kicinski, edumazet,
	Paolo Abeni, Chuck Lever, Jeff Layton, Tom Talpey,
	Olga Kornievskaia, NeilBrown, Dai Ngo, linux-nfs, netdev
In-Reply-To: <791991c2-1e8c-4041-9674-94acb4fe483c@app.fastmail.com>

On Thu, Apr 02, 2026 at 09:11:04AM -0400, Chuck Lever wrote:
> 
> On Wed, Apr 1, 2026, at 3:44 PM, Pranjal Shrivastava wrote:
> > The NFS server capabilities bitmask (server->caps) is currently full,
> > utilizing all 32 bits of the existing unsigned int. Expand the bitmask
> > to 64 bits (u64) to allow for new feature flags.
> >
> > Introduce a new capability bit, NFS_CAP_P2PDMA, to indicate that the
> > local mount is backed by hardware and a transport capable of PCI
> > Peer-to-Peer DMA.
> >
> > Update nfs_server_set_init_caps() to query the underlying SunRPC
> > transport for P2PDMA support during the mount process. If the transport
> > (e.g., RDMA) signals support, set the NFS_CAP_P2PDMA bit in the mount's
> > capabilities. This allows the high-performance Direct I/O path to
> > efficiently determine if it should allow P2P memory buffers.
> 
> > diff --git a/fs/nfs/client.c b/fs/nfs/client.c
> > index be02bb227741..f177cf098d44 100644
> > --- a/fs/nfs/client.c
> > +++ b/fs/nfs/client.c
> 
> > @@ -725,6 +727,12 @@ void nfs_server_set_init_caps(struct nfs_server *server)
> >  		nfs4_server_set_init_caps(server);
> >  		break;
> >  	}
> > +
> > +	rcu_read_lock();
> > +	xprt = rcu_dereference(server->client->cl_xprt);
> > +	if (xprt->ops->supports_p2pdma && xprt->ops->supports_p2pdma(xprt))
> > +		server->caps |= NFS_CAP_P2PDMA;
> > +	rcu_read_unlock();
> >  }
> >  EXPORT_SYMBOL_GPL(nfs_server_set_init_caps);
> 
> Is the transport even connected when the NFS client does this
> test? If it isn't, xprtrdma and the RDMA core have not chosen
> an underlying device yet.
> 
> Note that, even if this logic /is/ correct, if the transport
> connection is lost the transport will reconnect automatically,
> doing the RDMA CM dance again and possibly resolving to a
> different device. The NFS client layer will be none-the-wiser
> and the NFS_CAP_P2PDMA flag setting will be stale at that point,
> and quite possibly incorrect if the new connection's device is
> not P2P-enabled.
> 
> (Basically this is what happens when an RDMA device is removed).
> 
> So this detection has to be done as part of xprtrdma's connection
> flow, and it needs to set a flag somewhere in the rpc_xprt. The
> NFS direct I/O code path then has to look for that flag before
> choosing the mechanism/flags it uses for each iov iter.
> 

Ack. I agree, so should we start with an inital cap and then update it 
in the event of a transport change / disconnect? Or shall we populate 
the cap only when a transport is connected?

Thanks,
Praan

^ permalink raw reply

* Re: [PATCH net-next v2 1/2] net: add missing syncookie statistics for BPF custom syncookies
From: Martin KaFai Lau @ 2026-04-14 19:51 UTC (permalink / raw)
  To: Jiayuan Chen
  Cc: netdev, Eric Dumazet, Neal Cardwell, Kuniyuki Iwashima,
	David S. Miller, Jakub Kicinski, Paolo Abeni, Simon Horman,
	David Ahern, Andrii Nakryiko, Eduard Zingerman,
	Alexei Starovoitov, Daniel Borkmann, Song Liu, Yonghong Song,
	John Fastabend, KP Singh, Stanislav Fomichev, Hao Luo, Jiri Olsa,
	Shuah Khan, linux-kernel, bpf, linux-kselftest
In-Reply-To: <20260411013211.225834-1-jiayuan.chen@linux.dev>

On Sat, Apr 11, 2026 at 09:32:04AM +0800, Jiayuan Chen wrote:
> 2. Remove the CONFIG_BPF_SYSCALL guard around struct bpf_tcp_req_attrs.
>    This struct is referenced by bpf_sk_assign_tcp_reqsk() in
>    net/core/filter.c which is compiled unconditionally, so wrapping
>    the definition in a config guard could cause build failures when
>    CONFIG_BPF_SYSCALL=n.

A typo and CONFIG_BPF is removed instead?

but the reason is probably not because of a build error.

> diff --git a/include/net/tcp.h b/include/net/tcp.h
> index 6156d1d068e1..570a8836c2ba 100644
> --- a/include/net/tcp.h
> +++ b/include/net/tcp.h
> @@ -598,7 +598,6 @@ struct request_sock *cookie_tcp_reqsk_alloc(const struct request_sock_ops *ops,
>  					    struct tcp_options_received *tcp_opt,
>  					    int mss, u32 tsoff);
>  
> -#if IS_ENABLED(CONFIG_BPF)
>  struct bpf_tcp_req_attrs {
>  	u32 rcv_tsval;
>  	u32 rcv_tsecr;
> @@ -612,7 +611,6 @@ struct bpf_tcp_req_attrs {
>  	u8 usec_ts_ok;
>  	u8 reserved[3];
>  };
> -#endif

^ permalink raw reply

* Re: [RFC PATCH v4 00/19] Support socket access-control
From: Mikhail Ivanov @ 2026-04-14 19:45 UTC (permalink / raw)
  To: Mickaël Salaün
  Cc: gnoack, willemdebruijn.kernel, matthieu, linux-security-module,
	netdev, netfilter-devel, yusongping, artem.kuzin,
	konstantin.meskhidze
In-Reply-To: <20260414.thaeki1iigeM@digikod.net>

On 4/14/2026 5:27 PM, Mickaël Salaün wrote:
> On Mon, Apr 13, 2026 at 08:11:48PM +0300, Mikhail Ivanov wrote:
>> On 4/8/2026 1:26 PM, Mickaël Salaün wrote:
>>> Hi Mikhail,
>>
>> Hi!
>>
>>>
>>> On Tue, Nov 18, 2025 at 09:46:20PM +0800, Mikhail Ivanov wrote:
>>>> Hello! This is v4 RFC patch dedicated to socket protocols restriction.
>>>>
>>>> It is based on the landlock's mic-next branch on top of Linux 6.16-rc2
>>>> kernel version.
>>>>
>>>> Objective
>>>> =========
>>>> Extend Landlock with a mechanism to restrict any set of protocols in
>>>> a sandboxed process.
>>>>
>>>> Closes: https://github.com/landlock-lsm/linux/issues/6
>>>>
>>>> Motivation
>>>> ==========
>>>> Landlock implements the `LANDLOCK_RULE_NET_PORT` rule type, which provides
>>>> fine-grained control of actions for a specific protocol. Any action or
>>>> protocol that is not supported by this rule can not be controlled. As a
>>>> result, protocols for which fine-grained control is not supported can be
>>>> used in a sandboxed system and lead to vulnerabilities or unexpected
>>>> behavior.
>>>>
>>>> Controlling the protocols used will allow to use only those that are
>>>> necessary for the system and/or which have fine-grained Landlock control
>>>> through others types of rules (e.g. TCP bind/connect control with
>>>> `LANDLOCK_RULE_NET_PORT`, UNIX bind control with
>>>> `LANDLOCK_RULE_PATH_BENEATH`).
>>>>
>>>> Consider following examples:
>>>> * Server may want to use only TCP sockets for which there is fine-grained
>>>>     control of bind(2) and connect(2) actions [1].
>>>> * System that does not need a network or that may want to disable network
>>>>     for security reasons (e.g. [2]) can achieve this by restricting the use
>>>>     of all possible protocols.
>>>>
>>>> [1] https://lore.kernel.org/all/ZJvy2SViorgc+cZI@google.com/
>>>> [2] https://cr.yp.to/unix/disablenetwork.html
>>>>
>>>> Implementation
>>>> ==============
>>>> This patchset adds control over the protocols used by implementing a
>>>> restriction of socket creation. This is possible thanks to the new type
>>>> of rule - `LANDLOCK_RULE_SOCKET`, that allows to restrict actions on
>>>> sockets, and a new access right - `LANDLOCK_ACCESS_SOCKET_CREATE`, that
>>>> corresponds to user space sockets creation. The key in this rule
>>>> corresponds to communication protocol signature from socket(2) syscall.
>>>
>>> FYI, I sent a new patch series that adds a handled_perm field to
>>> rulesets:
>>> https://lore.kernel.org/all/20260312100444.2609563-6-mic@digikod.net/
>>> See also the rationale:
>>> https://lore.kernel.org/all/20260312100444.2609563-12-mic@digikod.net/
>>>
>>> I think that would work well with the socket creation permission.  WDYT?
>>
>> Agreed. AFAICS restrictions of protocols used for communication (eg.TCP)
>> will complement restriction of network namespace which sandboxed process
>> is pinned by LANDLOCK_PERM_NAMESPACE_ENTER permission.
> 
> I mean that socket creation restriction should use the same handled_perm
> interface e.g. add a LANDLOCK_PERM_SOCKET_CREATE right with related
> LANDLOCK_RULE_SOCKET rule type.

Oh, I see your point.

> 
> With the first RFC for handled_perm, the related rules (e.g. struct
> landlock_socket_attr) don't have an allowed_access field but an
> allowed_perm one instead.  The related permission would then be
> LANDLOCK_PERM_SOCKET_CREATE.  WDYT?

Of course, thats reasonable. We haven't come up with reasonable ideas of
access rights for LANDLOCK_RULE_SOCKET except socket creation, so
current patchset will fit in handled_perm design very well.

> 
>>
>>>
>>> Do you think you'll be able to continue this work or would you like me
>>> or Günther to complete the remaining last bits (while of course keeping
>>> you as the main author)?
>>
>> Sorry for the delay. I will finish and send patch series ASAP.
> 
> This new version should then be on top of the Landlock namespace and
> capability patchset to reuse the handled_perm interface.  I plan to send
> a new version by the end of the month, but this should not change the
> handled_perm interface.

OK. I will send RFC v5 based on current design for the review anyway.

> 
>>
>>>
>>>
>>>>
>>>> The right to create a socket is checked in the LSM hook which is called
>>>> in the __sock_create method. The following user space operations are
>>>> subject to this check: socket(2), socketpair(2), io_uring(7).
>>>>
>>>> `LANDLOCK_ACCESS_SOCKET_CREATE` does not restrict socket creation
>>>> performed by accept(2), because created socket is used for messaging
>>>> between already existing endpoints.
>>>>
>>>> Design discussion
>>>> ===================
>>>> 1. Should `SCTP_SOCKOPT_PEELOFF` and socketpair(2) be restricted?
>>>>
>>>> SCTP socket can be connected to a multiple endpoints (one-to-many
>>>> relation). Calling setsockopt(2) on such socket with option
>>>> `SCTP_SOCKOPT_PEELOFF` detaches one of existing connections to a separate
>>>> UDP socket. This detach is currently restrictable.
>>>>
>>>> Same applies for the socketpair(2) syscall. It was noted that denying
>>>> usage of socketpair(2) in sandboxed environment may be not meaninful [1].
>>>>
>>>> Currently both operations use general socket interface to create sockets.
>>>> Therefore it's not possible to distinguish between socket(2) and those
>>>> operations inside security_socket_create LSM hook which is currently
>>>> used for protocols restriction. Providing such separation may require
>>>> changes in socket layer (eg. in __sock_create) interface which may not be
>>>> acceptable.
>>>>
>>>> [1] https://lore.kernel.org/all/ZurZ7nuRRl0Zf2iM@google.com/
>>>>
>>>> Code coverage
>>>> =============
>>>> Code coverage(gcov) report with the launch of all the landlock selftests:
>>>> * security/landlock:
>>>> lines......: 94.0% (1200 of 1276 lines)
>>>> functions..: 95.0% (134 of 141 functions)
>>>>
>>>> * security/landlock/socket.c:
>>>> lines......: 100.0% (56 of 56 lines)
>>>> functions..: 100.0% (5 of 5 functions)
>>>>
>>>> Currently landlock-test-tools fails on mini.kernel_socket test due to lack
>>>> of SMC protocol support.
>>>>
>>>> General changes v3->v4
>>>> ======================
>>>> * Implementation
>>>>     * Adds protocol field to landlock_socket_attr.
>>>>     * Adds protocol masks support via wildcards values in
>>>>       landlock_socket_attr.
>>>>     * Changes LSM hook used from socket_post_create to socket_create.
>>>>     * Changes protocol ranges acceptable by socket rules.
>>>>     * Adds audit support.
>>>>     * Changes ABI version to 8.
>>>> * Tests
>>>>     * Adds 5 new tests:
>>>>       * mini.rule_with_wildcard, protocol_wildcard.access,
>>>>         mini.ruleset_with_wildcards_overlap:
>>>>         verify rulesets containing rules with wildcard values.
>>>>       * tcp_protocol.alias_restriction: verify that Landlock doesn't
>>>>         perform protocol mappings.
>>>>       * audit.socket_create: tests audit denial logging.
>>>>     * Squashes tests corresponding to Landlock rule adding to a single commit.
>>>> * Documentation
>>>>     * Refactors Documentation/userspace-api/landlock.rst.
>>>> * Commits
>>>>     * Rebases on mic-next.
>>>>     * Refactors commits.
>>>>
>>>> Previous versions
>>>> =================
>>>> v3: https://lore.kernel.org/all/20240904104824.1844082-1-ivanov.mikhail1@huawei-partners.com/
>>>> v2: https://lore.kernel.org/all/20240524093015.2402952-1-ivanov.mikhail1@huawei-partners.com/
>>>> v1: https://lore.kernel.org/all/20240408093927.1759381-1-ivanov.mikhail1@huawei-partners.com/
>>>>
>>>> Mikhail Ivanov (19):
>>>>     landlock: Support socket access-control
>>>>     selftests/landlock: Test creating a ruleset with unknown access
>>>>     selftests/landlock: Test adding a socket rule
>>>>     selftests/landlock: Testing adding rule with wildcard value
>>>>     selftests/landlock: Test acceptable ranges of socket rule key
>>>>     landlock: Add hook on socket creation
>>>>     selftests/landlock: Test basic socket restriction
>>>>     selftests/landlock: Test network stack error code consistency
>>>>     selftests/landlock: Test overlapped rulesets with rules of protocol
>>>>       ranges
>>>>     selftests/landlock: Test that kernel space sockets are not restricted
>>>>     selftests/landlock: Test protocol mappings
>>>>     selftests/landlock: Test socketpair(2) restriction
>>>>     selftests/landlock: Test SCTP peeloff restriction
>>>>     selftests/landlock: Test that accept(2) is not restricted
>>>>     lsm: Support logging socket common data
>>>>     landlock: Log socket creation denials
>>>>     selftests/landlock: Test socket creation denial log for audit
>>>>     samples/landlock: Support socket protocol restrictions
>>>>     landlock: Document socket rule type support
>>>>
>>>>    Documentation/userspace-api/landlock.rst      |   48 +-
>>>>    include/linux/lsm_audit.h                     |    8 +
>>>>    include/uapi/linux/landlock.h                 |   60 +-
>>>>    samples/landlock/sandboxer.c                  |  118 +-
>>>>    security/landlock/Makefile                    |    2 +-
>>>>    security/landlock/access.h                    |    3 +
>>>>    security/landlock/audit.c                     |   12 +
>>>>    security/landlock/audit.h                     |    1 +
>>>>    security/landlock/limits.h                    |    4 +
>>>>    security/landlock/ruleset.c                   |   37 +-
>>>>    security/landlock/ruleset.h                   |   46 +-
>>>>    security/landlock/setup.c                     |    2 +
>>>>    security/landlock/socket.c                    |  198 +++
>>>>    security/landlock/socket.h                    |   20 +
>>>>    security/landlock/syscalls.c                  |   61 +-
>>>>    security/lsm_audit.c                          |    4 +
>>>>    tools/testing/selftests/landlock/base_test.c  |    2 +-
>>>>    tools/testing/selftests/landlock/common.h     |   14 +
>>>>    tools/testing/selftests/landlock/config       |   47 +
>>>>    tools/testing/selftests/landlock/net_test.c   |   11 -
>>>>    .../selftests/landlock/protocols_define.h     |  169 +++
>>>>    .../testing/selftests/landlock/socket_test.c  | 1169 +++++++++++++++++
>>>>    22 files changed, 1990 insertions(+), 46 deletions(-)
>>>>    create mode 100644 security/landlock/socket.c
>>>>    create mode 100644 security/landlock/socket.h
>>>>    create mode 100644 tools/testing/selftests/landlock/protocols_define.h
>>>>    create mode 100644 tools/testing/selftests/landlock/socket_test.c
>>>>
>>>>
>>>> base-commit: 6dde339a3df80a57ac3d780d8cfc14d9262e2acd
>>>> -- 
>>>> 2.34.1
>>>>
>>>>
>>

^ permalink raw reply

* [GIT PULL] Networking for 7.1
From: Jakub Kicinski @ 2026-04-14 19:33 UTC (permalink / raw)
  To: torvalds; +Cc: kuba, davem, netdev, linux-kernel, pabeni

Hi Linus!

You'll see a conflict with iouring. The resolutions are self-evident.
Redo what
  222b5566a02d ("net: Proxy netdev_queue_get_dma_dev for leased queues")
  1e91c98bc9a8 ("net: Slightly simplify net_mp_{open,close}_rxq")
did in iouring, vs changes from:
  06fc3b6d388d ("io_uring/zcrx: extract netdev+area init into a helper")

The following changes since commit a55f7f5f29b32c2c53cc291899cf9b0c25a07f7c:

  Merge tag 'net-7.0-rc8' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (2026-04-09 08:39:25 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git tags/net-next-7.1

for you to fetch changes up to 35c2c39832e569449b9192fa1afbbc4c66227af7:

  Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (2026-04-14 12:04:00 -0700)

----------------------------------------------------------------
Networking changes for 7.1.

Core & protocols
----------------

 - Support HW queue leasing, allowing containers to be granted access
   to HW queues for zero-copy operations and AF_XDP.

 - Number of code moves to help the compiler with inlining.
   Avoid output arguments for returning drop reason where possible.

 - Rework drop handling within qdiscs to include more metadata
   about the reason and dropping qdisc in the tracepoints.

 - Remove the rtnl_lock use from IP Multicast Routing.

 - Pack size information into the Rx Flow Steering table pointer
   itself. This allows making the table itself a flat array of u32s,
   thus making the table allocation size a power of two.

 - Report TCP delayed ack timer information via socket diag.

 - Add ip_local_port_step_width sysctl to allow distributing the randomly
   selected ports more evenly throughout the allowed space.

 - Add support for per-route tunsrc in IPv6 segment routing.

 - Start work of switching sockopt handling to iov_iter.

 - Improve dynamic recvbuf sizing in MPTCP, limit burstiness and avoid
   buffer size drifting up.

 - Support MSG_EOR in MPTCP.

 - Add stp_mode attribute to the bridge driver for STP mode selection.
   This addresses concerns about call_usermodehelper() usage.

 - Remove UDP-Lite support (as announced in 2023).

 - Remove support for building IPv6 as a module.
   Remove the now unnecessary function calling indirection.

Cross-tree stuff
----------------

 - Move Michael MIC code from generic crypto into wireless,
   it's considered insecure but some WiFi networks still need it.

Netfilter
---------

 - Switch nft_fib_ipv6 module to no longer need temporary dst_entry
   object allocations by using fib6_lookup() + RCU.
   Florian W reports this gets us ~13% higher packet rate.

 - Convert IPVS's global __ip_vs_mutex to per-net service_mutex and
   switch the service tables to be per-net. Convert some code that
   walks the service lists to use RCU instead of the service_mutex.

 - Add more opinionated input validation to lower security exposure.

 - Make IPVS hash tables to be per-netns and resizable.

Wireless
--------

 - Finished assoc frame encryption/EPPKE/802.1X-over-auth.

 - Radar detection improvements.

 - Add 6 GHz incumbent signal detection APIs.

 - Multi-link support for FILS, probe response templates and
   client probing.

 - New APIs and mac80211 support for NAN (Neighbor Aware Networking,
   aka Wi-Fi Aware) so less work must be in firmware.

Driver API
----------

 - Add numerical ID for devlink instances (to avoid having to create
   fake bus/device pairs just to have an ID). Support shared devlink
   instances which span multiple PFs.

 - Add standard counters for reporting pause storm events
   (implement in mlx5 and fbnic).

 - Add configuration API for completion writeback buffering
   (implement in mana).

 - Support driver-initiated change of RSS context sizes.

 - Support DPLL monitoring input frequency (implement in zl3073x).

 - Support per-port resources in devlink (implement in mlx5).

Misc
----

 - Expand the YAML spec for Netfilter.

Drivers
-------

 - Software:
   - macvlan: support multicast rx for bridge ports with shared source
     MAC address
   - team: decouple receive and transmit enablement for IEEE 802.3ad
     LACP "independent control"

 - Ethernet high-speed NICs:
   - nVidia/Mellanox:
     - support high order pages in zero-copy mode (for payload
       coalescing)
     - support multiple packets in a page (for systems with 64kB pages)
   - Broadcom 25-400GE (bnxt):
     - implement XDP RSS hash metadata extraction
     - add software fallback for UDP GSO, lowering the IOMMU cost
   - Broadcom 800GE (bnge):
     - add link status and configuration handling
     - add various HW and SW statistics
   - Marvell/Cavium:
     - NPC HW block support for cn20k
   - Huawei (hinic3):
     - add mailbox / control queue
     - add rx VLAN offload
     - add driver info and link management

 - Ethernet NICs:
   - Marvell/Aquantia:
     - support reading SFP module info on some AQC100 cards
   - Realtek PCI (r8169):
     - add support for RTL8125cp
   - Realtek USB (r8152):
     - support for the RTL8157 5Gbit chip
     - add 2500baseT EEE status/configuration support

 - Ethernet NICs embedded and off-the-shelf IP:
   - Synopsys (stmmac):
     - cleanup and reorganize SerDes handling and PCS support
     - cleanup descriptor handling and per-platform data
     - cleanup and consolidate MDIO defines and handling
     - shrink driver memory use for internal structures
     - improve Tx IRQ coalescing
     - improve TCP segmentation handling
     - add support for Spacemit K3
   - Cadence (macb):
     - support PHYs that have inband autoneg disabled with GEM
     - support IEEE 802.3az EEE
     - rework usrio capabilities and handling
   - AMD (xgbe):
     - improve power management for S0i3
     - improve TX resilience for link-down handling

 - Virtual:
   - Google cloud vNIC:
     - support larger ring sizes in DQO-QPL mode
     - improve HW-GRO handling
     - support UDP GSO for DQO format
   - PCIe NTB:
     - support queue count configuration

 - Ethernet PHYs:
   - automatically disable PHY autonomous EEE if MAC is in charge
   - Broadcom:
     - add BCM84891/BCM84892 support
   - Micrel:
     - support for LAN9645X internal PHY
   - Realtek:
     - add RTL8224 pair order support
     - support PHY LEDs on RTL8211F-VD
     - support spread spectrum clocking (SSC)
   - Maxlinear:
     - add PHY-level statistics via ethtool

 - Ethernet switches:
   - Maxlinear (mxl862xx):
     - support for bridge offloading
     - support for VLANs
     - support driver statistics

 - Bluetooth:
   - large number of fixes and new device IDs
   - Mediatek:
     - support MT6639 (MT7927)
     - support MT7902 SDIO

 - WiFi:
   - Intel (iwlwifi):
     - UNII-9 and continuing UHR work
   - MediaTek (mt76):
     - mt7996/mt7925 MLO fixes/improvements
     - mt7996 NPU support (HW eth/wifi traffic offload)
   - Qualcomm (ath12k):
     - monitor mode support on IPQ5332
     - basic hwmon temperature reporting
     - support IPQ5424
   - Realtek:
     - add USB RX aggregation to improve performance
     - add USB TX flow control by tracking in-flight URBs

 - Cellular:
   - IPA v5.2 support

Signed-off-by: Jakub Kicinski <kuba@kernel.org>

----------------------------------------------------------------
Aaradhana Sahu (2):
      wifi: ath12k: Enable monitor mode support on IPQ5332
      wifi: ath12k: Use .mbn firmware for AHB devices

Aaron Tomlin (1):
      vmxnet3: Suppress page allocation warning for massive Rx Data ring

Abhilekh Deka (1):
      net/ibmveth: fix comment typos in ibmveth.c

Aditya Kumar Singh (1):
      wifi: mac80211_hwsim: add incumbent signal interference detection support

Alejandro Colomar (1):
      wifi: ath9k: Fix typo

Aleksander Jan Bajkowski (2):
      net: phy: realtek: get rid of magic numbers in rtl8201_config_intr()
      net: phy: realtek: use LEDCR page number define on RTL8211F

Aleksandr Loktionov (2):
      ixgbe: refactor: use DECLARE_BITMAP for ring state field
      iavf: fix kernel-doc comment style in iavf_ethtool.c

Aleksei Oladko (4):
      selftests: net: forwarding: fix IPv6 address leak in cleanup
      selftests: net: make ovs-dpctl.py fail when pyroute2 is unsupported
      selftests: net: run reuseport in an isolated netns
      selftests: net: io_uring_zerocopy: enable io_uring for the test

Alexander Duyck (1):
      fbnic: Set Relaxed Ordering PCIe TLP attributes for DMA engines

Alexander Graf (1):
      vsock: add G2H fallback for CIDs not owned by H2G transport

Alexander Stein (1):
      wifi: brcmfmac: silence warning for non-existent, optional firmware

Alexander Wilhelm (1):
      net: qrtr: fix endian handling of confirm_rx field

Alexei Lazar (1):
      net/mlx5: Add IFC bits for shared headroom pool PBMC support

Alexey Velichayshiy (1):
      wifi: rtw89: phy: fix uninitialized variable access in rtw89_phy_cfo_set_crystal_cap()

Allen Ye (1):
      wifi: mt76: fix backoff fields and max_power calculation

Allison Henderson (5):
      selftests: rds: Fix pylint warnings
      selftests: rds: Add ksft timeout
      selftests: rds: Fix tcpdump segfault in rds selftests
      selftests: rds: add tools/testing/selftests/net/rds/config
      selftests: rds: Add -c config option to rds/config.sh

Alok Tiwari (6):
      octeontx2-af: make PF_FUNC comparison consistent in NIX XOFF handling
      net: mdio: xgene: Fix misleading err message in xgene mdio read
      selftests: fib_tests: fix link-local retrieval in fib6_nexthop()
      net: netdevsim: correct typo in new_device_store error message
      wifi: mt76: mt7996: fix FCS error flag check in RX descriptor
      mlx4: correct error reporting in mlx4_master_process_vhcr()

Alvin Šipraga (1):
      net: dsa: tag_rtl8_4: update format description

Amit Pundir (2):
      dt-bindings: wireless: ath10k: Add quirk to skip host cap QMI requests
      wifi: ath10k: Add device-tree quirk to skip host cap QMI requests

Andy Roulin (3):
      net: bridge: add stp_mode attribute for STP mode selection
      docs: net: bridge: document stp_mode attribute
      selftests: net: add bridge STP mode selection test

Andy Shevchenko (2):
      i40e: Add missing wordpart.h header
      nfc: microread: Drop unused include

Ankit Garg (5):
      gve: Advertise NETIF_F_GRO_HW instead of NETIF_F_LRO
      gve: fix SW coalescing when hw-GRO is used
      gve: pull network headers into skb linear part
      gve: Enable hw-gro by default if device supported
      gve: add support for UDP GSO for DQO format

Antonio Quartulli (2):
      tools: ynl: add uns-admin-perm to genetlink
      selftests: ovpn: allow compiling ovpn-cli.c with mbedtls3

Antony Antony (2):
      icmp: fix ICMP error source address when xfrm policy matches
      selftests: net: add ICMP error source address test over xfrm tunnel

Arnd Bergmann (4):
      net: ethernet: ti-cpsw:: rename soft_reset() function
      net: ethernet: ti-cpsw: fix linking built-in code to modules
      dpaa2: avoid linking objects into multiple modules
      Bluetooth: btmtk: hide unused btmtk_mt6639_devs[] array

Asbjørn Sloth Tønnesen (1):
      tools: ynl: add sample for wireguard

Avinash Bhatt (3):
      wifi: iwlwifi: add CQM event support for per-link RSSI changes
      wifi: iwlwifi: handle NULL/ERR returns from ptp_clock_register()
      wifi: iwlwifi: mld: block EMLSR during TDLS connections

Avraham Stern (3):
      wifi: cfg80211: support key installation on non-netdev wdevs
      wifi: cfg80211: allow protected action frame TX for NAN
      wifi: mac80211: allow add_key on NAN interfaces

Avula Sri Charan (1):
      wifi: ath12k: Skip adding inactive partner vdev info

Baochen Qiang (2):
      wifi: ath12k: fix indentation in ath12k_qmi_aux_uc_load()
      wifi: ath10k: fix station lookup failure during disconnect

Bartosz Golaszewski (2):
      net: mdio-gpio: remove linux/mdio-gpio.h
      net: mdio-gpio: remove linux/platform_data/mdio-gpio.h

Benjamin Berg (4):
      wifi: mac80211: ignore reserved bits in reconfiguration status
      wifi: mac80211: add a TXQ for management frames on NAN devices
      wifi: ieee80211: add more NAN definitions
      wifi: mac80211: export ieee80211_calculate_rx_timestamp

Bhargava Marreddy (10):
      bng_en: add per-PF workqueue, timer, and slow-path task
      bng_en: query PHY capabilities and report link status
      bng_en: add ethtool link settings, get_link, and nway_reset
      bng_en: implement ethtool pauseparam operations
      bng_en: add support for link async events
      bng_en: add HW stats infra and structured ethtool ops
      bng_en: periodically fetch and accumulate hardware statistics
      bng_en: implement ndo_get_stats64
      bng_en: implement netdev_stat_ops
      bng_en: add support for ethtool -S stats display

Birger Koblitz (3):
      r8152: Add 2500baseT EEE status/configuration support
      r8152: Add support for 5Gbit Link Speeds and EEE
      r8152: Add support for the RTL8157 hardware

Bitterblue Smith (5):
      wifi: rtw89: Turbo mode for RTL8851BU/RTL8852BU
      wifi: rtw88: TX QOS Null data the same way as Null data
      wifi: rtw88: coex: Ignore BT info byte 5 from RTL8821A
      wifi: rtw88: Fill fw_version member of struct wiphy
      wifi: rtw89: Fill fw_version member of struct wiphy

Bjorn Andersson (1):
      wifi: ath11k: Silence remoteproc probe deferral prints

Björn Töpel (4):
      ethtool: Track user-provided RSS indirection table size
      ethtool: Add RSS indirection table resize helpers
      bnxt_en: Resize RSS contexts on channel count change
      selftests: rss_drv: Add RSS indirection table resize tests

Bo Sun (1):
      octeontx2-af: CGX: replace kfree() with rvu_free_bitmap()

Bobby Eshleman (4):
      selftests/vsock: auto-detect kernel for guest VMs
      selftests/vsock: fix vmtest.sh for read-only nested VM runners
      selftests/vsock: fix vsock_test path shadowing in nested VMs
      selftests: drv-net: add missing tc config options for netkit tests

Brendan Jackman (2):
      wifi: iwlegacy: Fixup allocation failure log
      wifi: iwlegacy: Fix GFP flags in allocation loop

Breno Leitao (6):
      selftests: netconsole: print diagnostic on busywait timeout in netcons_basic
      bonding: remove bonding_priv.h
      net: add getsockopt_iter callback to proto_ops
      net: call getsockopt_iter if available
      af_packet: convert to getsockopt_iter
      can: raw: convert to getsockopt_iter

Bui Quang Minh (1):
      virtio-net: xsk: Support wakeup on RX side

Byungchul Park (1):
      netmem: remove the pp fields from net_iov

Cai Xinchen (2):
      dpaa2: add independent dependencies for FSL_DPAA2_SWITCH
      dpaa2: compile dpaa2 even CONFIG_FSL_DPAA2_ETH=n

Carolina Jubran (2):
      net/mlx5: Move crosststamp setup into helper function
      net/mlx5: Support cross-timestamping on ARM architectures

Cedric Jehasse (2):
      net/sched: cls_flower: remove unions from fl_flow_key
      net: dsa: mv88e6xxx: Add partial support for TCAM entries

Chad Monroe (5):
      wifi: mt76: fix deadlock in remain-on-channel
      wifi: mt76: mt7996: reset device after MCU message timeout
      wifi: mt76: mt7996: increase txq memory limit to 32 MiB
      wifi: mt76: fix multi-radio on-channel scanning
      wifi: mt76: support upgrading passive scans to active

Charles Perry (11):
      net: macb: fix SGMII with inband aneg disabled
      net: macb: add support for reporting SGMII inband link status
      net: macb: add the .pcs_inband_caps() callback for SGMII
      net: macb: set default_an_inband to true for SGMII
      dt-bindings: net: cdns,macb: add a compatible for Microchip pic64hpsc
      net: macb: add safeguards for jumbo frame larger than 10240
      net: macb: add support for Microchip pic64hpsc ethernet endpoint
      net: phy: fix a return path in get_phy_c45_ids()
      dt-bindings: net: document Microchip PIC64-HPSC/HX MDIO controller
      net: mdio: add a driver for PIC64-HPSC/HX MDIO controller
      net: phy: add a PHY write barrier when disabling interrupts

Chih Kai Hsu (4):
      r8152: fix incorrect register write to USB_UPHY_XTAL
      r8152: add helper functions for PLA/USB OCP registers
      r8152: add helper functions for PHY OCP registers
      r8152: Add helper functions for SRAM2

Chin-Yen Lee (3):
      wifi: rtw89: wow: add retry for ensuring packet are processed
      wifi: rtw89: wow: use struct style to fill WOW wakeup control H2C command
      wifi: rtw89: wow: enable MLD address for Magic packet wakeup

Ching-Te Ku (1):
      wifi: rtw88: coex: Solve LE-HID lag & update coex version to 26020420

Chris J Arges (7):
      bnxt_en: use bnxt_xdp_buff for xdp context
      bnxt_en: Implement XDP RSS hash metadata extraction
      bnxt_en: Move bnxt_rss_ext_op into header
      bnxt_en: Implement XDP RSS hash metadata extraction for V3_CMP
      selftests: net: move common xdp.py functions into lib
      selftests: drv-net: xdp: Add rss_hash metadata tests
      net: Add net_cookie to Dead loop messages

Chris Lu (4):
      Bluetooth: btusb: MT7922: Add VID/PID 0489/e174
      Bluetooth: btmtk: improve mt79xx firmware setup retry flow
      Bluetooth: btmtk: add status check in mt79xx firmware setup
      Bluetooth: btmtk: Add reset mechanism if downloading firmware failed

Christian Eggers (1):
      Bluetooth: L2CAP: CoC: Disconnect if received packet size exceeds MPS

Christian Hewitt (2):
      wifi: mt7601u: check multiple firmware paths
      wifi: rtw89: retry efuse physical map dump on transient failure

Christophe Leroy (CS GROUP) (1):
      net: Convert move_addr_to_user() to scoped user access

Christos Longros (1):
      wifi: rtw89: fix typo "frome" -> "from" in rx_freq_frome_ie

Colin Ian King (2):
      hinic3: Fix spelling mistake "capbility" -> "capability"
      wifi: mt76: mt7996: Fix spelling mistake "retriving" -> "retrieving"

Conor Dooley (12):
      Revert "net: macb: Clean up the .usrio settings in macb_config instances"
      net: macb: rename macb_default_usrio to at91_default_usrio as not all platforms have mii mode control in usrio
      net: macb: split USRIO_HAS_CLKEN capability in two
      dt-bindings: net: cdns,macb: replace cdns,refclk-ext with cdns,refclk-source
      net: macb: rework usrio refclk selection code
      net: macb: np4 doesn't need a usrio pointer
      net: macb: add mpfs specific usrio configuration
      net: macb: warn on pclk use as a tsu_clk fallback
      net: macb: clean up tsu clk rate acquisition
      dt-bindings: net: macb: add property indicating timer adjust mode
      net: macb: timer adjust mode is not supported
      net: macb: fix use of at91_default_usrio without CONFIG_OF

Cosmin Ratiu (4):
      selftests: Migrate nsim-only MACsec tests to Python
      nsim: Add support for VLAN filters
      selftests: Add MACsec VLAN propagation traffic test
      macsec: Support VLAN-filtering lower devices

Damien Dejean (4):
      dt-bindings: net: ethernet-phy: add property enet-phy-pair-order
      net: phy: realtek: add RTL8224 pair order support
      dt-bindings: net: ethernet-phy: add property enet-phy-pair-polarity
      net: phy: realtek: add RTL8224 polarity support

Daniel Borkmann (16):
      net: Add queue-create operation
      net: Implement netdev_nl_queue_create_doit
      net: Add lease info to queue-get response
      net, ethtool: Disallow leased real rxqs to be resized
      net: Slightly simplify net_mp_{open,close}_rxq
      xsk: Extend xsk_rcv_check validation
      xsk: Proxy pool management for leased queues
      netkit: Add single device mode for netkit
      netkit: Add netkit notifier to check for unregistering devices
      netkit: Add xsk support for af_xdp applications
      net: Rename ifq_idx to rxq_idx in netif_mp_* helpers
      netkit: Don't emit scrub attribute for single device mode
      tools/ynl: Make YnlFamily closeable as a context manager
      selftests/net: Split netdevsim tests from HW tests in nk_qlease
      selftests/net: Add additional test coverage in nk_qlease
      MAINTAINERS: Add netkit selftest files

Daniel Gabay (1):
      wifi: cfg80211: allow ToDS=0/FromDS=0 data frames on NAN data interfaces

Daniel Golle (19):
      dt-bindings: net: dsa: maxlinear,mxl862xx: remove port label
      net: dsa: mxl862xx: rename MDIO op arguments
      selftests: net: local_termination: test link-local protocols
      net: phy: mxl-gpy: add PHY-level statistics via ethtool
      net: dsa: mxl862xx: don't read out-of-bounds
      selftests: forwarding: local_termination: fix PTP UDP cksums
      net: dsa: mxl862xx: add CRC for MDIO communication
      net: dsa: mxl862xx: use RST_DATA to skip writing zero words
      net: dsa: mxl862xx: cancel pending work on probe error
      net: dsa: move dsa_bridge_ports() helper to dsa.h
      net: dsa: add bridge member iteration macro
      dsa: tag_mxl862xx: set dsa_default_offload_fwd_mark()
      net: dsa: mxl862xx: implement bridge offloading
      net: dsa: mxl862xx: reject DSA_PORT_TYPE_DSA
      net: dsa: mxl862xx: don't skip early bridge port configuration
      net: dsa: mxl862xx: implement VLAN functionality
      net: ethernet: mtk_eth_soc: initialize PPE per-tag-layer MTU registers
      net: dsa: mxl862xx: add ethtool statistics support
      net: dsa: mxl862xx: implement .get_stats64

Daniel Hodges (1):
      wifi: mwifiex: fix use-after-free in mwifiex_adapter_cleanup()

Daniel Machon (9):
      net: sparx5: move netdev and notifier block registration to probe
      net: sparx5: move VCAP initialization to probe
      net: sparx5: move MAC table initialization and add deinit function
      net: sparx5: move stats initialization and add deinit function
      net: sparx5: move calendar initialization to probe
      net: sparx5: move remaining init functions from start() to probe()
      net: sparx5: move PTP IRQ handling out of sparx5_start()
      net: sparx5: move FDMA/XTR initialization out of sparx5_start()
      net: sparx5: replace sparx5_start() with sparx5_forwarding_init()

Daniel Wagner (2):
      net: phy: bcm84881: add BCM84891/BCM84892 support
      net: phy: bcm84881: add LED framework support for BCM84891/BCM84892

Daniel Zahka (1):
      psp: add missing device stats to get-stats reply attributes

David Bauer (2):
      wifi: mt76: mt76x02: wake queues after reconfig
      wifi: mt76: don't return TXQ when exceeding max non-AQL packets

David Carlier (3):
      net: use get_random_u{16,32,64}() where appropriate
      octeon_ep_vf: introduce octep_vf_oq_next_idx() helper
      octeon_ep_vf: add NULL check for napi_build_skb()

David Heidelberg (1):
      dt-bindings: nfc: nxp,nci: Document PN557 compatible

David Laight (1):
      netfilter: nf_conntrack_h323: Correct indentation when H323_TRACE defined

David Wei (8):
      selftests/net: Add bpf skb forwarding program
      selftests/net: Export Netlink class via lib.py
      selftests/net: Add env for container based tests
      selftests/net: Add netkit container ping test
      net: Proxy netif_mp_{open,close}_rxq for leased queues
      net: Proxy netdev_queue_get_dma_dev for leased queues
      netkit: Implement rtnl_link_ops->alloc and ndo_queue_create
      selftests/net: Add queue leasing tests with netkit

Davide Caratti (4):
      netdevsim: move TC offload code to a dedicated file
      netdevsim: support tc-ets offload
      tc-testing: add a test case for ETS offload
      net/sched: cls_fw: fix NULL dereference of "old" filters before change()

Di Zhu (1):
      virtio-net: enable NETIF_F_GRO_HW only if GRO-related offloads are supported

Dimitri Daskalakis (6):
      selftests: net: py: Add rand_ports helper method
      selftests: drv-net: rss: Generate unique ports for RSS context tests
      selftests: drv-net: rss: Fix error calculation in test_hitless_key_update
      selftests: drv-net: rss: Add retries to test_rss_key_indir to reduce flakes
      selftests: drv-net: Add ntuple (NFC) flow steering test
      selftests: drv-net: ntuple: Add dst-ip, src-port, dst-port fields

Dipayaan Roy (1):
      net: mana: Trigger VF reset/recovery on health check failure due to HWC timeout

Dmitry Baryshkov (1):
      Bluetooth: qca: enable pwrseq support for WCN39xx devices

Dongyang Jin (1):
      Bluetooth: btbcm: remove done label in btbcm_patchram

Dragos Tatulea (21):
      net/mlx5e: Make mlx5e_rq_param naming consistent
      net/mlx5e: Extract striding rq param calculation in function
      net/mlx5e: Extract max_xsk_wqebbs into its own function
      net/mlx5e: Expose and rename xsk channel parameter function
      net/mlx5e: Alloc xsk channel param out of mlx5e_open_xsk()
      net/mlx5e: Move xsk param into new option container struct
      net/mlx5e: Drop unused channel parameters
      net/mlx5e: SHAMPO, Always calculate page size
      net/mlx5e: Set page_pool order based on calculated page_shift
      net/mlx5e: Alloc rq drop page based on calculated page_shift
      net/mlx5e: RX, Make page frag bias more robust
      net/mlx5e: Add queue config ops for page size
      net/mlx5e: Pass netdev queue config to param calculations
      net/mlx5e: Add param helper to calculate max page size
      net/mlx5e: SHAMPO, Allow high order pages in zerocopy mode
      selftests: drv-net: iou-zcrx: wait for memory cleanup of probe run
      net/mlx5e: XSK, Increase size for chunk_size param
      net/mlx5e: XDP, Improve dma address calculation of linear part for XDP_TX
      net/mlx5e: XDP, Remove stride size limitation
      net/mlx5e: XDP, Use a single linear page per rq
      net/mlx5e: XDP, Use page fragments for linear data in multibuf-mode

Dudu Lu (1):
      Bluetooth: l2cap: Add missing chan lock in l2cap_ecred_reconf_rsp

Duoming Zhou (3):
      wifi: rtlwifi: pci: fix possible use-after-free caused by unfinished irq_prepare_bcn_tasklet
      wifi: mt76: mt7915: fix use-after-free bugs in mt7915_mac_dump_work()
      wifi: mt76: mt7996: fix use-after-free bugs in mt7996_mac_dump_work()

Dylan Eray (1):
      Bluetooth: btusb: Add Lite-On 04ca:3807 for MediaTek MT7921

Emmanuel Grumbach (28):
      wifi: cfg80211: support UNII-9 channels in ieee80211_channel_to_freq_khz
      wifi: iwlwifi: mld: add support for iwl_mcc_allowed_ap_type_cmd v2
      wifi: iwlwifi: ensure we don't read SAR values past the limit
      wifi: iwlwifi: uefi: decouple UEFI and firmware APIs
      wifi: iwlwifi: acpi: better use ARRAY_SIZE than a define
      wifi: iwlwifi: uefi: open code the PPAG table store operation
      wifi: iwlwifi: bring iwl_fill_ppag_table to the iwlmvm
      wifi: iwlwifi: regulatory: support a new command for PPAG
      wifi: iwlwifi: acpi: check the size of the ACPI PPAG tables
      wifi: iwlwifi: acpi: add support for PPAG rev5
      wifi: iwlwifi: uefi: add support for PPAG table rev5
      wifi: iwlwifi: mvm: zero iwl_geo_tx_power_profiles_cmd before sending
      wifi: iwlwifi: uefi: support the new WRDS and EWRD tables
      wifi: iwlwifi: acpi: add support for WRDS rev 3 table
      wifi: iwlwifi: acpi: add support for EWRD rev 3 table
      wifi: iwlwifi: mld: support version 11 of REDUCE_TX_POWER_CMD
      wifi: iwlwifi: uefi: open code the parsing of the WGDS table
      wifi: iwlwifi: uefi: add support for WGDS rev4
      wifi: iwlwifi: acpi: validate the WGDS table
      wifi: iwlwifi: acpi: add support for WGDS revision 4
      wifi: iwlwifi: support PER_CHAIN_LIMIT_OFFSET_CMD v6
      wifi: iwlwifi: uefi: mode the comments valid kerneldoc comments
      wifi: iwlwifi: remove IWL_MAX_WD_TIMEOUT
      wifi: iwlwifi: mld: remove SCAN_TIMEOUT_MSEC
      wifi: iwlwifi: mld: update the TLC when we deactivate a link
      wifi: iwlwifi: TLC_MNG_CONFIG_CMD can use several structures
      wifi: iwlwifi: fix the description of SESSION_PROTECTION_CMD
      wifi: iwlwifi: reduce the number of prints upon firmware crash

Eric Biggers (10):
      qed: Reimplement qed_mcast_bin_from_mac() using library functions
      octeontx2-pf: macsec: Use AES library instead of ecb(aes) skcipher
      xfrm: Drop support for HMAC-RIPEMD-160
      wifi: ipw2x00: Rename michael_mic() to libipw_michael_mic()
      wifi: mac80211, cfg80211: Export michael_mic() and move it to cfg80211
      wifi: ath11k: Use michael_mic() from cfg80211
      wifi: ath12k: Use michael_mic() from cfg80211
      wifi: ipw2x00: Use michael_mic() from cfg80211
      crypto: Remove michael_mic from crypto_shash API
      wifi: cfg80211: Explicitly include <linux/export.h> in michael-mic.c

Eric Dumazet (66):
      net: __lock_sock() can be static
      udp: move udp6_csum_init() back to net/ipv6/udp.c
      tcp: inline __tcp_v4_send_check()
      tcp: move tcp_v6_send_check() to tcp_output.c
      tcp: make tcp_v{4,6}_send_check() static
      tcp: reduce calls to tcp_schedule_loss_probe()
      tcp: move inet6_csk_update_pmtu() to tcp_ipv6.c
      icmp: increase net.ipv4.icmp_msgs_{per_sec,burst}
      inet: remove three EXPORT_SYMBOL()
      net: use try_cmpxchg() in lock_sock_nested()
      net: inline skb_add_rx_frag_netmem()
      net: remove addr_len argument of recvmsg() handlers
      mpls: remove test against ipv6_stub
      netfilter: nf_log_syslog: no longer acquire sk_callback_lock in nf_log_dump_sk_uid_gid()
      netfilter: xt_owner: no longer acquire sk_callback_lock in mt_owner()
      netfilter: nft_meta: no longer acquire sk_callback_lock in nft_meta_get_eval_skugid()
      netfilter: nfnetlink_log: no longer acquire sk_callback_lock
      netfilter: nfnetlink_queue: no longer acquire sk_callback_lock
      net: fix off-by-one in udp_flow_src_port() / psp_write_headers()
      net: add rps_tag_ptr type and helpers
      net-sysfs: remove rcu field from 'struct rps_sock_flow_table'
      net-sysfs: add rps_sock_flow_table_mask() helper
      net-sysfs: use rps_tag_ptr and remove metadata from rps_sock_flow_table
      net-sysfs: get rid of rps_dev_flow_lock
      net-sysfs: remove rcu field from 'struct rps_dev_flow_table'
      net-sysfs: use rps_tag_ptr and remove metadata from rps_dev_flow_table
      tcp: move tcp_do_parse_auth_options() to net/ipv4/tcp.c
      net: use ktime_t in struct scm_timestamping_internal
      tcp: move tcp_v6_early_demux() to net/ipv6/ip6_input.c
      inet_diag: report delayed ack timer information
      tcp: move tcp_v4_early_demux() to net/ipv4/ip_input.c
      tcp: avoid dst->ops->check() call in tcp_v{4,6}_do_rcv()
      net/sched: do not reset queues in graft operations
      net/sched: use rtnl_kfree_skbs() in pfifo_fast_reset()
      tcp: move sysctl_tcp_shrink_window to netns_ipv4_read_txrx group
      net/sched: refine indirect call mitigation in tc_wrapper.h
      tcp: move tp->chrono_type next tp->chrono_stat[]
      tcp: inline tcp_chrono_start()
      tcp: add sysctl_tcp_shrink_window to netns_ipv4_sysctl.rst
      tcp: add tcp_release_cb_cond() helper
      net: add skb_defer_disable_key static key
      net: dropreason: add SKB_DROP_REASON_RECURSION_LIMIT
      net: plumb drop reasons to __dev_queue_xmit()
      selftests/net: packetdrill: add tcp_disorder_fin_in_FIN_WAIT.pkt
      tcp: improve inet6_ehashfn() entropy
      tcp: add cwnd_event_tx_start to tcp_congestion_ops
      tcp: tcp_vegas: use tcp_vegas_cwnd_event_tx_start()
      tcp: use __jhash_final() in inet6_ehashfn()
      ipv6: move ip6_dst_hoplimit() to net/ipv6/ip6_output.c
      macvlan: annotate data-races around port->bc_queue_len_used
      macvlan: avoid spinlock contention in macvlan_broadcast_enqueue()
      net: always inline some skb helpers
      inet: remove leftover EXPORT_SYMBOL()
      net: qdisc_pkt_len_segs_init() cleanup
      net: pull headers in qdisc_pkt_len_segs_init()
      codel: annotate data-races in codel_dump_stats()
      net: dropreason: add MACVLAN_BROADCAST_BACKLOG and IPVLAN_MULTICAST_BACKLOG
      ipvlan: ipvlan_handle_mode_l2() refactoring
      ipvlan: avoid spinlock contention in ipvlan_multicast_enqueue()
      tcp: return a drop_reason from tcp_add_backlog()
      tcp: add indirect call wrapper in tcp_conn_request()
      net: change sock_queue_rcv_skb_reason() to return a drop_reason
      net: always set reason in sk_filter_trim_cap()
      net: change sk_filter_reason() to return the reason by value
      tcp: change tcp_filter() to return the reason by value
      net: change sk_filter_trim_cap() to return a drop_reason by value

Eric Huang (1):
      wifi: rtw89: phy: expand PHY page for RTL8922D

Eric Joyner (1):
      ionic: Report additional media types from firmware

Eric Woudstra (2):
      net: pppoe: avoid zero-length arrays in struct pppoe_hdr
      bridge: No DEV_PATH_BR_VLAN_UNTAG_HW for dsa foreign

Erni Sri Satya Vennela (6):
      net: mana: Add MAC address to vPort logs and clarify error messages
      net: mana: hardening: Validate doorbell ID from GDMA_REGISTER_DEVICE response
      net: mana: Use at least SZ_4K in doorbell ID range check
      net: mana: hardening: Validate adapter_mtu from MANA_QUERY_DEV_CONFIG
      net: mana: Use pci_name() for debugfs directory naming
      net: mana: Move current_speed debugfs file to mana_init_port()

Ethan Nelson-Moore (1):
      net: can: ctucanfd: remove useless copy of PCI_DEVICE_DATA macro

Ethan Tidmore (1):
      wifi: brcmfmac: Fix error pointer dereference

Fan Gong (9):
      hinic3: Add command queue detailed-response interfaces
      hinic3: Add Command Queue/Async Event Queue/Complete Event Queue/Mailbox dump interfaces
      hinic3: Add chip_present_flag checks to prevent errors when card is absent
      hinic3: Add RX VLAN offload support
      hinic3: Add msg_send_lock for message sending concurrecy
      hinic3: Add PF device support and function type validation
      hinic3: Add PF FLR wait and timeout handling
      hinic3: Add PF/VF capability parsing and parameter validation
      hinic3: Add ethtool basic ops

Fedor Pchelkin (1):
      wifi: rtw88: check for PCI upstream bridge existence

Felix Fietkau (9):
      wifi: mt76: add offchannel check to mt76_roc_complete
      wifi: mt76: check chanctx before restoring channel after ROC
      wifi: mt76: abort ROC on chanctx changes
      wifi: mt76: optimize ROC for same-channel case
      wifi: mt76: send nullfunc PS frames on offchannel transitions
      wifi: mt76: flush pending TX before channel switch
      wifi: mt76: route nullfunc frames to PSD/ALTX queue
      wifi: mt76: wait for firmware TX completion of mgmt frames before channel switch
      wifi: mt76: add per-link beacon monitoring for MLO

Fernando Fernandez Mancera (19):
      ipv6: discard fragment queue earlier if there is malformed datagram
      inet: add ip_local_port_step_width sysctl to improve port usage distribution
      ipv4: validate IPV4_DEVCONF attributes properly
      selftests: net: add ipv6 RA route to ECMP merge test
      ipv6: convert CONFIG_IPV6 to built-in only and clean up Kconfigs
      net: remove EXPORT_IPV6_MOD() and EXPORT_IPV6_MOD_GPL() macros
      ipv6: replace IS_BUILTIN(CONFIG_IPV6) with IS_ENABLED(CONFIG_IPV6)
      ipv6: remove dynamic ICMPv6 sender registration infrastructure
      ipv6: prepare headers for ipv6_stub removal
      drivers: net: drop ipv6_stub usage and use direct function calls
      ipv4: drop ipv6_stub usage and use direct function calls
      net: convert remaining ipv6_stub users to direct function calls
      bpf: remove ipv6_bpf_stub completely and use direct function calls
      ipv6: remove ipv6_stub infrastructure completely
      netfilter: remove nf_ipv6_ops and use direct function calls
      net: vxlan: check ipv6_mod_enabled() on neigh_reduce()
      net: hsr: emit notification for PRP slave2 changed hw addr on port deletion
      netfilter: conntrack: remove UDP-Lite conntrack support
      net_sched: fix skb memory leak in deferred qdisc drops

Florian Fainelli (1):
      net: bcmasp: Switch to page pool for RX path

Florian Westphal (19):
      netfilter: nft_set_rbtree: don't disable bh when acquiring tree lock
      netfilter: nf_tables: drop obsolete EXPORT_SYMBOLs
      netfilter: nf_tables: remove register tracking infrastructure
      ipv6: export fib6_lookup for nft_fib_ipv6
      ipv6: make ipv6_anycast_destination logic usable without dst_entry
      netfilter: nft_fib_ipv6: switch to fib6_lookup
      netfilter: nfnetlink_queue: remove locking in nfqnl_get_sk_secctx
      netfilter: nf_conntrack_sip: remove net variable shadowing
      netfilter: add deprecation warning for dccp support
      netfilter: nf_conntrack_h323: remove unreliable debug code in decode_octstr
      netfilter: add more netlink-based policy range checks
      netfilter: nf_tables: add netlink policy based cap on registers
      netfilter: nft_set_pipapo: increment data in one step
      netfilter: nft_set_pipapo_avx2: remove redundant loop in lookup_slow
      netfilter: x_physdev: reject empty or not-nul terminated device names
      netfilter: nfnetlink: prefer skb_mac_header helpers
      netfilter: xt_socket: enable defrag after all other checks
      netfilter: nft_fwd_netdev: check ttl/hl before forwarding
      selftests: netfilter: nft_tproxy.sh: adjust to socat changes

Fushuai Wang (1):
      wireguard: allowedips: Use kfree_rcu() instead of call_rcu()

Gabriel Goller (2):
      docs: net: document neigh gc_stale_time sysctl
      docs: net: document neigh gc_interval sysctl

Gabriel Krisman Bertazi (1):
      udp: Force compute_score to always inline

Gal Pressman (5):
      selftests: net: pass bpftrace timeout to cmd()
      selftests: net: fix timeout passed as positional argument to communicate()
      gre: Count GRE packet drops
      net/mlx5e: Fix features not applied during netdev registration
      net/mlx5e: IPsec, fix ASO poll timeout with read_poll_timeout_atomic()

Gang Yan (2):
      mptcp: reduce 'overhead' from u16 to u8
      mptcp: preserve MSG_EOR semantics in sendmsg path

Geert Uytterhoeven (3):
      dt-bindings: net: micrel: Sort lists
      dt-bindings: net: micrel: KSZ8041RNLI supports LED mode
      can: rcar_can: Convert to FIELD_MODIFY()

Geliang Tang (1):
      tcp: add recv_should_stop helper

Greg Jumper (1):
      net/rds: Restrict use of RDS/IB to the initial network namespace

Greg Kroah-Hartman (3):
      NFC: digital: Bounds check NFC-A cascade depth in SDD response handler
      bnge: return after auxiliary_device_uninit() in error path
      net: usb: cdc-phonet: fix skb frags[] overflow in rx_complete()

Gustavo A. R. Silva (4):
      wifi: iwlegacy: Avoid multiple -Wflex-array-member-not-at-end warnings
      wifi: ath6kl: wmi: Avoid -Wflex-array-member-not-at-end warning
      netfilter: x_tables: Avoid a couple -Wflex-array-member-not-at-end warnings
      Bluetooth: hci.h: Avoid a couple -Wflex-array-member-not-at-end warnings

Haiyang Zhang (3):
      net: ethtool: add ethtool COALESCE_RX_CQE_FRAMES/NSECS
      net: mana: Add support for RX CQE Coalescing
      net: mana: Add ethtool counters for RX CQEs in coalesced type

Hangbin Liu (8):
      bonding: print churn state via netlink
      ynl: ethtool: remove duplicated unspec entry
      tools: ynl: tests: fix leading space on Makefile target
      tools: ynl: move ethtool.py to selftest
      tools: ynl: ethtool: use doit instead of dumpit for per-device GET
      tools: ynl: ethtool: add --dbg-small-recv option
      netlink: add a nla_nest_end_safe() helper
      ethtool: strset: check nla_len overflow

Hans de Goede (2):
      Bluetooth: hci_qca: Fix confusing shutdown() and power_off() naming
      Bluetooth: hci_qca: Fix BT not getting powered-off on rmmod

Hari Chandrakanthan (1):
      wifi: cfg80211: add support to handle incumbent signal detected event from mac80211/driver

Harish Rachakonda (1):
      wifi: ath12k: Support channel change stats

Heiner Kallweit (19):
      net: ti: davinci_emac: stop using bus type mdio_bus_type
      net: mdio: extend struct mdio_bus_stat_attr instead of using dev_ext_attribute
      net: mdio: use macro __ATTR to simplify the code
      net: phy: consider that mdio_bus_device_stat_field_show doesn't use member address
      net: phy: avoid extra casting in mdio_bus_get_stat
      net: mdio: constify attributes and attribute arrays
      net: mdio: use macro __ATTRIBUTE_GROUPS
      net: phy: inline helper mdio_bus_get_global_stat
      net: phy: improve mdiobus_stats_acct
      Revert "net: phy: improve mdiobus_stats_acct"
      net: phy: remove phy_attach
      net: mdio: remove selecting FIXED_PHY for FWNODE_MDIO
      net: phy: move mdio_device reset handling functions in the code
      net: phy: make mdio_device.c part of libphy
      net: phy: move (of_)mdio_find_bus to mdio_bus_provider.c
      net: phy: move registering mdio_bus_class and mdio_bus_type to libphy
      net: phy: move remaining provider code to mdio_bus_provider.c
      regmap: mdio: make it depend on PHYLIB
      net: phy: remove Kconfig symbol MDIO_BUS

Heitor Alves de Siqueira (2):
      wifi: libertas: use USB anchors for tracking in-flight URBs
      wifi: libertas: don't kill URBs in interrupt context

Howard Hsu (1):
      wifi: mt76: mt7996: support critical packet mode for MT7990 chipsets

Håkon Bugge (1):
      net/rds: Optimize rds_ib_laddr_check

Ido Schimmel (3):
      vrf: Remove unnecessary NULL check
      vrf: Use dst_dev_put() instead of using loopback device
      vrf: Remove unnecessary RCU protection around dst entries

Ilan Peer (4):
      wifi: cfg80211: Add support for additional 7 GHz channels
      wifi: iwlwifi: mld: Refactor scan command handling
      wifi: iwlwifi: mld: Introduce scan command version 18
      wifi: ieee80211: Add some missing NAN definitions

Inochi Amaoto (6):
      net: ethernet: litex: use devm_register_netdev() to register netdev
      net: ethernet: litex: use device pointer to simplify code.
      dt-bindings: net: Add support for Spacemit K3 dwmac
      net: stmmac: platform: Add snps,dwmac-5.40a IP compatible string
      net: stmmac: Add glue layer for Spacemit K3 SoC
      MAINTAINERS: add entry for SpacemiT DWMAC glue layer

Ioana Ciornei (13):
      net: dpaa2-mac: extend APIs related to statistics
      net: dpaa2-mac: retrieve MAC statistics in one firmware command
      net: dpaa2-mac: export standard statistics
      selftests: forwarding: extend ethtool_std_stats_get with pause statistics
      selftests: net: extend lib.sh to parse drivers/net/net.config
      selftests: net: update some helpers to use run_on
      selftests: drivers: hw: cleanup shellcheck warnings in the rmon test
      selftests: drivers: hw: test rmon counters only on first interface
      selftests: drivers: hw: replace counter upper limit with UINT32_MAX in rmon test
      selftests: drivers: hw: move to KTAP output
      selftests: drivers: hw: update ethtool_rmon to work with a single local interface
      selftests: drivers: hw: add test for the ethtool standard counters
      selftests: forwarding: lib: rewrite processing of command line arguments

Ivan Vecera (16):
      dpll: zl3073x: detect DPLL channel count from chip ID at runtime
      dpll: zl3073x: add die temperature reporting for supported chips
      dpll: zl3073x: use struct_group to partition states
      dpll: zl3073x: add zl3073x_ref_state_update helper
      dpll: zl3073x: introduce zl3073x_chan for DPLL channel state
      dpll: zl3073x: add DPLL channel status fields to zl3073x_chan
      dpll: zl3073x: add reference priority to zl3073x_chan
      dpll: zl3073x: drop selected and simplify connected ref getter
      dpll: add frequency monitoring to netlink spec
      dpll: add frequency monitoring callback ops
      dpll: zl3073x: implement frequency monitoring
      dpll: zl3073x: clean up esync get/set and use zl3073x_out_is_ndiv()
      dpll: zl3073x: use FIELD_MODIFY() for clear-and-set patterns
      dpll: zl3073x: add ref sync and output clock type helpers
      dt-bindings: dpll: add ref-sync-sources property
      dpll: zl3073x: add ref-sync pair support

Izabela Bakollari (1):
      sfc: add transmit timestamping support

J. Neuschäfer (1):
      wifi: rtl8xxxu: Mark RTL8188ETV (0bda:0179) as tested

Jaime Saguillo Revilla (1):
      wifi: rtlwifi: rtl8192d: fix typo in H2C wait counter names

Jakub Kicinski (207):
      Merge branch 'tcp-rework-tcp_v-4-6-_send_check'
      Merge branch 'net-ethernet-enic-add-vic-ids-and-link-modes'
      Merge branch 'net-stmmac-qcom-ethqos-cleanups-and-re-organise-serdes-handling'
      eth: bnxt: rename ring_err_stats -> ring_drv_stats
      selftests: net: py: avoid masking exceptions in bkg() failures
      selftests: net: py: use repr(cmd) for failure exceptions
      selftests: net: py: add cmd info for ksft_wait failure
      Merge branch 'selftests-net-py-improve-bkg-error-reporting'
      selftests: hw-net: tso: set a TCP window clamp to avoid spurious drops
      Merge branch 'net-stmmac-fix-interrupt-coalescing'
      Merge branch 'netfilter-updates-for-net-next'
      Merge branch 'add-selftests-helper-to-get-n-unique-ports'
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
      Merge branch 'support-phys-that-have-inband-autoneg-disabled-with-gem'
      Merge branch 'net-ethernet-litex-minor-improvment-for-the-codebase'
      Merge branch 'gve-support-larger-ring-sizes-in-dqo-qpl-mode'
      Merge branch 'npc-hw-block-support-for-cn20k'
      Merge branch 'icmp-fix-icmp-error-source-address-over-xfrm-tunnel'
      Merge branch 'net-sched-refactor-qdisc-drop-reasons-into-dedicated-tracepoint'
      Merge tag 'phy-qcom-sgmii-eth-add-set_mode-and-validate-methods'
      selftests: drv-net: iou-zcrx: wait for memory provider cleanup
      selftests: drv-net: iou-zcrx: rework large chunks test to use common setup
      selftests: drv-net: iou-zcrx: allocate hugepages for large chunks test
      Merge branch 'selftests-drv-net-iou-zcrx-improve-stability-and-make-the-large-chunk-test-work'
      Merge branch 'net-stmmac-further-cleanups'
      Merge branch 'net-sparx5-clean-up-probe-remove-init-and-deinit-paths'
      Merge branch 'ipmr-no-rtnl-for-rtnl_family_ipmr-rtnetlink'
      Merge branch 'grab-ipa-imem-slice-through-dt'
      Merge tag 'wireless-next-2026-03-04' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next
      tools: ynl: rename TESTS variable to TEST_PROGS
      tools: ynl: don't install tests in /usr/bin/
      tools: ynl: support INSTALL_PATH in the tests Makefile
      tools: ynl: produce kselftest-list.txt from tests
      Merge branch 'tools-ynl-tests-adjust-makefile-to-mimic-ksft'
      Merge branch 'rfs-use-high-order-allocations-for-hash-tables'
      Merge branch '100GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue
      selftests: drv-net: update the README
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
      Merge branch 'net-stmmac-qcom-ethqos-further-serdes-reorganisation'
      Merge branch 'doc-netlink-expand-nftables-specification'
      Merge branch 'net-cadence-macb-add-ieee-802-3az-eee-support'
      Merge branch 'selftests-net-add-netkit-container-env-and-test'
      docs: netdev: refine netdevsim testing guidance
      Merge branch 'net-stmmac-mdio-related-cleanups'
      Merge branch 'nfc-drop-redundant-usb-device-references'
      Merge branch 'net-ntb_netdev-add-multi-queue-support'
      tools: ynl: move samples to tests
      tools: ynl: convert netdev sample to selftest
      tools: ynl: convert ovs sample to selftest
      tools: ynl: convert rt-link sample to selftest
      tools: ynl: convert tc and tc-filter-add samples to selftest
      tools: ynl: add netdevsim wrapper library for YNL tests
      tools: ynl: convert devlink sample to selftest
      tools: ynl: convert ethtool sample to selftest
      tools: ynl: convert rt-addr sample to selftest
      tools: ynl: convert rt-route sample to selftest
      Merge branch 'tools-ynl-convert-samples-into-selftests'
      Merge tag 'ib-gpio-remove-of-gpio-h-for-v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into mbox
      Merge branch 'net-stmmac-further-ptp-cleanups'
      Merge branch 'smc-sysctl-formatting-and-missing-entries'
      tools: ynl: cli: order set->list conversion in JSON output
      Merge branch 'selftests-rds-ksft-cleanups'
      tools: ynl: handle pad type during decode
      tools: ynl: move policy decoding out of NlMsg
      tools: ynl: add short doc to class YnlFamily
      tools: ynl: add Python API for easier access to policies
      tools: ynl: cli: add --policy support
      Merge branch 'tools-ynl-policy-query-support'
      Merge branch 'amd-xgbe-improve-power-management-for-s0i3'
      Merge branch 'net-stmmac-start-to-shrink-memory-usage'
      Merge branch 'net-macb-clean-up-several-member-settings-of-macb_config-instances'
      Merge branch 'selftests-net-fix-cmd-process-timeout-handling'
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
      genetlink: use maxattr of 0 for the reject policy
      genetlink: apply reject policy for split ops on the dispatch path
      selftests: net: make sure that Netlink rejects unknown attrs in dump
      selftests: net: add test for Netlink policy dumps
      Merge branch 'genetlink-apply-reject-policy-for-split-ops-on-the-dispatch-path'
      Merge branch 'udp-retire-udp-lite'
      Merge branch 'tcp-rfc-7323-compliant-window-retraction-handling'
      Merge branch 'net-add-skb_drop_reason_recursion_limit'
      Merge branch 'net-phy-further-decouple-provider-from-consumer-part'
      Merge branch 'devlink-introduce-shared-devlink-instance-for-pfs-on-same-chip'
      Merge branch 'dpaa2-fix-config-relation-with-fsl_dpaa2_switch'
      selftests: net: py: give bpftrace more time to start
      Merge branch 'support-multi-channel-irqs-in-stmmac-platform-drivers'
      Merge branch 'dpll-zl3073x-refactor-state-management'
      Merge branch 'riscv-spacemit-add-ethernet-support-for-k3'
      Merge branch 'net-stmmac-clean-up-descriptor-handling-part-1'
      tools: ynl: rework policy access to support recursion
      Merge branch 'dt-bindings-net-micrel-fix-ksz8041rnli-dtbs_check-warnings'
      Merge branch 'remove-kconfig-sysmbol-mdio_bus'
      Merge branch 'net-mdio-gpio-remove-unneeded-headers'
      Merge branch 'net-mlx5-support-ptm-on-arm-architecture'
      Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux
      Merge branch 'add-ethtool-coalesce_rx_cqe_frames-nsecs-and-use-it-in-mana-driver'
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
      selftests: net: move gro to lib for HW vs SW reuse
      selftests: drv-net: give HW stats sync time extra 25% of margin
      selftests: drv-net: gro: use SO_TXTIME to schedule packets together
      selftests: drv-net: gro: test GRO stats
      selftests: drv-net: gro: add test for packet ordering
      selftests: drv-net: gro: add a test for GRO depth
      Merge branch 'selftests-drv-net-driver-tests-for-hw-gro'
      Merge branch 'net-stmmac-descriptor-cleanups-part-2'
      Merge branch 'selftests-vsock-support-nested-vm-runner-for-vmtest-sh'
      Merge branch 'net-phy-realtek-pair-order-and-polarity'
      Merge branch 'netdevsim-support-ets-offload'
      Merge branch 'net-stmmac-improve-pcs-support'
      Merge branch 'ethtool-dynamic-rss-context-indirection-table-resizing'
      Merge branch 'selftests-rds-add-config-file-and-config-sh-c-option'
      Merge branch 'net-dsa-mxl862xx-mdio-bus-integrity-and-optimization'
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
      Merge branch 'add-support-for-nuvoton-ma35d1-gmac'
      Merge tag 'wireless-next-2026-03-26' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next
      Merge branch 'net-stmmac-dwmac-socfpga-cleanup-fix_mac_speed'
      Merge branch 'add-support-for-per-route-seg6-tunsrc'
      Merge branch 'net-dsa-microchip-small-cleanups-for-ksz9477-sgmii'
      Merge branch 'net-stmmac-remove-unused-and-unimplemented-axi-properties'
      Merge branch 'net-stmmac-disable-eee-on-i-mx'
      Merge branch 'vrf-a-few-cleanups'
      Merge branch 'convert-config_ipv6-to-built-in-and-remove-stubs'
      Merge branch 'bnxt_en-add-xdp-rss-hash-metadata-support'
      Merge branch 'macb-usrio-tsu-patches'
      Merge branch 'net-hsr-subsystem-cleanups-and-modernization'
      net: Clear the dst when performing encap / decap
      selftests/bpf: Test that dst is cleared on same-protocol encap
      Merge branch 'net-stmmac-qcom-ethqos-more-cleanups'
      selftests: drv-net: update the README with variants
      Merge branch 'net-refactor-usb-endpoint-lookups'
      Merge branch 'nfc-refactor-usb-endpoint-lookups'
      Merge branch 'declance-improve-dma-error-reporting'
      Merge tag 'for-netdev' of https://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next
      Merge tag 'linux-can-next-for-7.1-20260401' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can-next
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
      Merge branch 'net-stmmac-tso-fixes-cleanups'
      Merge branch 'macvlan-broadcast-delivery-changes'
      Merge branch 'net-phy-microchip-add-downshift-support-for-lan88xx'
      Merge branch 'enic-sr-iov-v2-preparatory-infrastructure'
      selftests: drv-net: gro: add data burst test case
      selftests: drv-net: gro: add 1 byte payload test
      selftests: drv-net: gro: always wait for FIN in the capacity test
      selftests: drv-net: gro: prepare for ip6ip6 support
      selftests: drv-net: gro: remove TOTAL_HDR_LEN
      selftests: drv-net: gro: make large packet math more precise
      selftests: drv-net: gro: test ip6ip6
      selftests: drv-net: gro: add a test for bad IPv4 csum
      Merge branch 'selftests-drv-net-gro-more-test-cases'
      Merge branch 'net-macb-remove-dedicated-irq-handler-for-wol'
      Merge branch 'dpll-add-frequency-monitoring-feature'
      selftests: net: py: color the basics in the output
      Merge branch 'net-dsa-mxl862xx-add-support-for-bridge-offloading'
      Merge branch 'nfc-support-for-five-qualcomm-sdm845-phones'
      eth: remove the driver for acenic / tigon1&2
      Merge branch 'mptcp-support-msg_eor-and-small-cleanups'
      selftests: drv-net: adjust to socat changes
      Merge branch 'net-pull-gso-packet-headers-in-core-stack'
      Merge tag 'ipsec-next-2026-04-08' of git://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next
      Merge tag 'nf-next-26-04-08' of https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next
      docs: netdev: improve wording of reviewer guidance
      Merge branch 'mptcp-autotune-related-improvement'
      Merge branch 'dsa_loop-and-platform_data-cleanups'
      Merge branch 'devlink-add-per-port-resource-support'
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
      Merge branch 'netkit-support-for-io_uring-zero-copy-and-af_xdp'
      net: remove the netif_get_rx_queue_lease_locked() helpers
      Merge branch 'macsec-add-support-for-vlan-filtering-in-offload-mode'
      Merge branch 'net-bcmgenet-fix-queue-lock-up'
      selftests: net: py: explicitly forbid multiple ksft_run() calls
      Merge branch 'add-selftests-for-ntuple-nfc-rules'
      Merge branch 'net-bridge-add-stp_mode-attribute-for-stp-mode-selection'
      Merge branch 'net-dsa-mxl862xx-vlan-support-and-minor-improvements'
      Merge branch 'dpll-zl3073x-add-ref-sync-pair-support'
      Merge branch 'wangxun-improvement'
      Merge branch 'net-dsa-tag_rtl8_4-fixes-doc-and-set-keep'
      Merge branch 'ipvlan-multicast-delivery-changes'
      net: fix reference tracker mismanagement in netdev_put_lock()
      selftests: net: py: add test case filtering and listing
      Merge tag 'wireless-next-2026-04-10' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next
      Merge tag 'linux-can-fixes-for-7.0-20260409' of git://git.kernel.org/pub/scm/linux/kernel/git/mkl/linux-can
      Merge tag 'nf-next-26-04-10' of https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next
      Merge branch 'add-tso-map-once-dma-helpers-and-bnxt-sw-uso-support'
      Merge branch 'bng_en-add-link-management-and-statistics-support'
      Merge branch 'net-mana-fix-debugfs-directory-naming-and-file-lifecycle'
      Merge branch 'ynl-ethtool-netlink-fix-nla_len-overflow-for-large-string-sets'
      Merge branch 'net-phy-add-support-for-disabling-autonomous-eee'
      Merge branch 'bpf-fix-sock_ops_get_sk-same-register-oob-read-in-sock_ops-and-add-selftest'
      Merge branch 'net-enetc-improve-statistics-for-v1-and-add-statistics-for-v4'
      Merge branch 'net-hamradio-fix-missing-input-validation-in-bpqether-and-scc'
      Merge branch 'net-rds-fix-use-after-free-in-rds-ib-for-non-init-namespaces'
      Merge branch 'more-fixes-for-the-ipa-driver'
      Merge branch 'add-support-for-pic64-hpsc-hx-mdio-controller'
      Merge branch 'net-reduce-sk_filter-and-friends-bloat'
      Merge branch 'mlx5-next' of git://git.kernel.org/pub/scm/linux/kernel/git/mellanox/linux
      Merge branch 'mlx5-misc-fixes-2026-04-09'
      Merge branch 'ipa-v5-2-support'
      Merge branch 'net-fix-skb_ext-build_bug_on-failures-with-gcov'
      tcp: update window_clamp when SO_RCVBUF is set
      Merge tag 'for-net-next-2026-04-13' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next
      Merge branch 'net-move-getsockopt-away-from-__user-buffers'
      Merge branch 'net-qrtr-ns-a-bunch-of-fixs'
      Merge branch 'octeon_ep_vf-fix-napi_build_skb-null-dereference'
      Merge branch 'net-dsa-mxl862xx-add-statistics-support'
      Merge branch 'net-airoha-preliminary-series-to-support-multiple-net_devices-connected-to-the-same-gdm-port'
      Merge branch 'follow-ups-to-nk_qlease-net-selftests'
      Merge branch 'wireguard-fixes-for-7-1-rc1'
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net

Jamal Hadi Salim (1):
      net/sched: act_ct: Only release RCU read lock after ct_ft

Jan Hoffmann (1):
      net: sfp: add quirk for ZOERAX SFP-2.5G-T

Jan Petrous (OSS) (3):
      net: stmmac: platform: read channels irq
      dt-bindings: net: nxp,s32-dwmac: Declare per-queue interrupts
      stmmac: s32: enable support for Multi-IRQ mode

Janusz Dziedzic (4):
      wifi: cfg80211: fix background CAC
      wifi: cfg80211: set and report chandef CAC ongoing
      wifi: cfg80211: events, report background radar
      wifi: mac80211_hwsim: background CAC support

Jason A. Donenfeld (1):
      wireguard: allowedips: remove redundant space

Jason Xing (1):
      net: advance skb_defer_disable_key check in napi_consume_skb

Javen Xu (1):
      r8169: add support for RTL8125cp

Javier Tia (8):
      Bluetooth: btmtk: Add MT6639 (MT7927) Bluetooth support
      Bluetooth: btmtk: fix ISO interface setup for single alt setting
      Bluetooth: btusb: Add MT7927 ID for ASUS ROG Crosshair X870E Hero
      Bluetooth: btusb: Add MT7927 ID for Lenovo Legion Pro 7 16ARX9
      Bluetooth: btusb: Add MT7927 ID for Gigabyte Z790 AORUS MASTER X
      Bluetooth: btusb: Add MT7927 ID for MSI X870E Ace Max
      Bluetooth: btusb: Add MT7927 ID for TP-Link Archer TBE550E
      Bluetooth: btusb: Add MT7927 ID for ASUS X870E / ProArt X870E-Creator

Jeff Johnson (2):
      wifi: ath12k: Clean up the WMI Unit Test command interface
      wifi: ath12k: Remove unused DFS Unit Test definitions

Jelle van der Waa (1):
      netfilter: nf_tables: Fix typo in enum description

Jens Emil Schulz Østergaard (1):
      net: phy: micrel: Add support for lan9645x internal phy

Jeremy Kerr (6):
      net: mctp: avoid copy in fragmentation loop for near-MTU messages
      net: mctp: perform source address lookups when we populate our dst
      net: mctp: allow local TX with no address assigned
      net: mctp: don't require a route for null-EID ingress
      net: mctp: tests: use actual address when creating dev with addr
      net: mctp: defer creation of dst after source-address check

Jesper Dangaard Brouer (5):
      net: sched: introduce qdisc-specific drop reason tracing
      net: sched: sfq: convert to qdisc drop reasons
      net: sched: rename QDISC_DROP_FQ_* to generic names
      net: sched: rename QDISC_DROP_CAKE_FLOOD to QDISC_DROP_FLOOD_PROTECTION
      net: sched: sch_dualpi2: use qdisc_dequeue_drop() for dequeue drops

Jiajia Liu (1):
      wifi: mac80211: remove unused variables in minstrel_ht_alloc_sta

Jiawen Wu (10):
      net: txgbe: fix RTNL assertion warning when remove module
      net: ngbe: remove netdev->ethtool->wol_enabled setting
      net: ngbe: move the WOL functions to libwx
      net: ngbe: remove redundant macros
      net: wangxun: replace busy-wait reset flag with kernel mutex
      net: wangxun: move ethtool_ops.set_channels into libwx
      net: wangxun: reorder timer and work sync cancellations
      net: wangxun: schedule hardware stats update in watchdog
      net: libwx: wrap-around and reset qmprc counter
      net: libwx: improve flow control setting

Jiayuan Chen (11):
      net: fix sock compilation error under CONFIG_PREEMPT_RT
      net: annotate data races around sk->sk_prot
      net: sched: cls_u32: Avoid memcpy() false-positive warning in u32_init_knode()
      selftests: bonding: add test for stacked bond header_parse recursion
      tcp: Fix inconsistent indenting warning
      net: initialize sk_rx_queue_mapping in sk_clone()
      net: skb: clean up dead code after skb_kfree_head() simplification
      bpf: Fix same-register dst/src OOB read and pointer leak in sock_ops
      selftests/bpf: Add tests for sock_ops ctx access with same src/dst register
      net, bpf: fix null-ptr-deref in xdp_master_redirect() for down master
      selftests/bpf: add test for xdp_master_redirect with bond not up

Jiejian Wu (1):
      ipvs: make ip_vs_svc_table and ip_vs_svc_fwm_table per netns

Jiri Pirko (14):
      devlink: expose devlink instance index over netlink
      devlink: add helpers to get bus_name/dev_name
      devlink: avoid extra iterations when found devlink is not registered
      devlink: allow to use devlink index as a command handle
      devlink: support index-based lookup via bus_name/dev_name handle
      devlink: support index-based notification filtering
      devlink: introduce __devlink_alloc() with dev driver pointer
      devlink: add devlink_dev_driver_name() helper and use it in trace events
      devlink: add devl_warn() helper and use it in port warnings
      devlink: allow devlink instance allocation without a backing device
      devlink: introduce shared devlink instance for PFs on same chip
      documentation: networking: add shared devlink documentation
      net/mlx5: Add a shared devlink instance for PFs on same chip
      mlx5: shd: Gracefully avoid shared devlink creation when no usable SN is found

Joe Damato (10):
      net: tso: Introduce tso_dma_map and helpers
      net: bnxt: Export bnxt_xmit_get_cfa_action
      net: bnxt: Add a helper for tx_bd_ext
      net: bnxt: Use dma_unmap_len for TX completion unmapping
      net: bnxt: Add TX inline buffer infrastructure
      net: bnxt: Add boilerplate GSO code
      net: bnxt: Implement software USO
      net: bnxt: Add SW GSO completion and teardown support
      net: bnxt: Dispatch to SW USO
      selftests: drv-net: Add USO test

Joey Lu (2):
      dt-bindings: net: nuvoton: Add schema for Nuvoton MA35 family GMAC
      net: stmmac: dwmac-nuvoton: Add dwmac glue for Nuvoton MA35 family

Johan Hovold (33):
      wifi: at76c50x: drop redundant device reference
      wifi: libertas: drop redundant device reference
      wifi: libertas_tf: drop redundant device reference
      wifi: rt2x00: drop redundant device reference
      wifi: mwifiex: drop redundant device reference
      nfc: pn533: drop redundant device reference
      nfc: port100: drop redundant device reference
      net: usb: lan78xx: drop redundant device reference
      wifi: ath6kl: drop redundant device reference
      wifi: ath6kl: rename disconnect callback
      wifi: ath9k: drop redundant device reference
      wifi: ath10k: drop redundant device reference
      wifi: ath10k: rename disconnect callback
      net: mdio: mvusb: drop redundant device reference
      wifi: rtl818x: drop redundant device reference
      wifi: rtl8xxxu: drop redundant device reference
      wifi: rtw88: fix device leak on probe failure
      wifi: rtw89: drop redundant device reference
      wifi: rtlwifi: usb: drop redundant device reference
      ieee802154: atusb: drop redundant device reference
      net: hso: refactor endpoint lookup
      net: ipeth: refactor endpoint lookup
      nfc: nfcmrvl: refactor endpoint lookup
      nfc: pn533: refactor endpoint lookup
      nfc: port100: refactor endpoint lookup
      can: kvaser_usb: leaf: refactor endpoint lookup
      can: ucan: refactor endpoint lookup
      wifi: at76c50x: refactor endpoint lookup
      wifi: libertas: refactor endpoint lookup
      wifi: libertas_tf: refactor endpoint lookup
      can: ucan: fix devres lifetime
      Bluetooth: btusb: refactor endpoint lookup
      Bluetooth: btmtk: refactor endpoint lookup

Johannes Berg (35):
      wifi: mac80211: give the AP more time for EPPKE as well
      Merge tag 'ath-next-20260303' of https://git.kernel.org/pub/scm/linux/kernel/git/ath/ath
      wifi: move action code from per-type frame structs
      wifi: mac80211: remove stale TODO item
      wifi: mac80211: remove AID bit stripping for print
      wifi: nl80211: fix UHR capability validation
      wifi: ieee80211: fix UHR operation DBE vs. P-EDCA order
      wifi: nl80211: split out UHR operation information
      wifi: mac80211: validate HE 6 GHz operation when EHT is used
      wifi: mac80211: refactor chandef tracing macros
      wifi: mac80211: always use full chanctx compatible check
      wifi: cfg80211: split control freq check from chandef check
      wifi: nl80211: reject S1G/60G with HT chantype
      wifi: mac80211: fix STA link removal during link removal
      wifi: nl80211: use int for band coming from netlink
      Merge tag 'ath-next-20260324' of git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath
      wifi: mac80211_hwsim: advertise basic UHR support
      Merge tag 'mt76-next-2026-03-23' of https://github.com/nbd168/wireless
      wifi: iwlwifi: restrict TOP reset to some devices
      wifi: iwlwifi: mld: enable UHR in TLC
      wifi: iwlwifi: mld: set UHR MCS in RX status
      wifi: iwlwifi: mld: support changing iftype at runtime
      wifi: iwlwifi: use IWL_FW_CHECK for sync timeout
      wifi: iwlwifi: pcie: don't dump on reset handshake in dump
      wifi: iwlwifi: mld: make iwl_mld_mac80211_iftype_to_fw() static
      wifi: iwlwifi: mld: remove type argument from iwl_mld_add_sta()
      wifi: iwlwifi: mld: rename iwl_mld_phy_from_mac80211() argument
      wifi: iwlwifi: mld: make alloc functions not forced static
      wifi: iwlwifi: mld: add double-include guards to nan.h
      wifi: iwlwifi: add MAC context command version 4
      wifi: iwlwifi: mld: set RX_FLAG_RADIOTAP_TLV_AT_END generically
      Merge tag 'iwlwifi-next-2026-03-25' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next into wireless-next
      Merge tag 'rtw-next-2026-04-02' of https://github.com/pkshih/rtw into wireless-next
      Merge tag 'ath-next-20260407' of git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath
      Merge tag 'ath-next-20260408' of git://git.kernel.org/pub/scm/linux/kernel/git/ath/ath

Jonathan Rissanen (1):
      Bluetooth: hci_ldisc: Clear HCI_UART_PROTO_INIT on error

Jori Koolstra (2):
      wifi: mac80211_hwsim: change hwsim_class to a const struct
      dibs: change dibs_class to a const struct

Joris Vaisvila (1):
      net: ethernet: mtk_eth_soc: avoid writing to ESW registers on MT7628

Joshua Peisach (1):
      wifi: b43: use register definitions in nphy_op_software_rfkill

Josua Mayer (1):
      dt-bindings: net: dsa: nxp,sja1105: make spi-cpol optional for sja1110

Julian Anastasov (13):
      ipvs: some service readers can use RCU
      ipvs: use single svc table
      ipvs: do not keep dest_dst after dest is removed
      ipvs: use more counters to avoid service lookups
      ipvs: no_cport and dropentry counters can be per-net
      rculist_bl: add hlist_bl_for_each_entry_continue_rcu
      ipvs: add resizable hash tables
      ipvs: use resizable hash table for services
      ipvs: switch to per-net connection table
      ipvs: use more keys for connection hashing
      ipvs: show the current conn_tab size to users
      ipvs: add ip_vs_status info
      ipvs: add conn_lfactor and svc_lfactor sysctl vars

Julian Braha (3):
      ppp: dead code cleanup in Kconfig
      net: microchip: dead code cleanup in kconfig for FDMA
      stmmac: cleanup dead dependencies on STMMAC_PLATFORM and STMMAC_ETH in Kconfig

Junxi Qian (1):
      nfc: llcp: add missing return after LLCP_CLOSED checks

Justin Chen (3):
      net: bcmgenet: fix off-by-one in bcmgenet_put_txcb
      net: bcmgenet: fix leaking free_bds
      net: bcmgenet: fix racing timeout handler

Justin Iurman (2):
      seg6: add per-route tunnel source address
      selftests: add check for seg6 tunsrc

Kamiyama Chiaki (1):
      Bluetooth: btusb: MediaTek MT7922: Add VID 0489 & PID e11d

Karthikeyan Kathirvel (1):
      wifi: UHR: define DPS/DBE/P-EDCA elements and fix size parsing

Karthikeyan Periyasamy (1):
      wifi: ath12k: Remove the unused argument from the Rx data path

Kavita Kavita (5):
      wifi: mac80211_hwsim: Advertise support for (Re)Association frame encryption
      wifi: mac80211: Advertise EPPKE support based on driver capabilities
      wifi: cfg80211: add support for IEEE 802.1X Authentication Protocol
      wifi: mac80211: Add support for IEEE 802.1X authentication protocol in non-AP STA mode
      wifi: mac80211: Advertise IEEE 802.1X authentication support

Kees Cook (1):
      wifi: mac80211: Replace strncpy() with strscpy_pad() in drv_switch_vif_chanctx tracepoint

Keita Morisaki (2):
      tcp: shrink per-packet memset in __tcp_transmit_skb()
      tcp: remove unused hash_size from struct tcp_out_options

Kevin Hao (9):
      net: macb: Clean up the .clk_init setting in the macb_config instances
      net: macb: Clean up the .init settings in macb_config instances
      net: macb: Clean up the .usrio settings in macb_config instances
      net: macb: Replace open-coded implementation with napi_schedule()
      net: macb: Introduce macb_queue_isr_clear() helper function
      net: macb: Factor out the handling of non-hot IRQ events into a separate function
      net: macb: Remove dedicated IRQ handler for WoL
      net: macb: Use netif_napi_add_tx() instead of netif_napi_add() for TX NAPI
      net: macb: Use napi_schedule_irqoff() in IRQ handler

Kexin Sun (6):
      net/hsr: update outdated comments
      wifi: mac80211: update outdated comment
      qlcnic: update outdated comment
      netlink: update outdated comment
      hv_sock: update outdated comment for renamed vsock_stream_recvmsg()
      net: phy: update outdated comment for removed phy_package_read/write()

Kibaek Yoo (2):
      net: macvlan: support multicast rx for bridge ports with shared source MAC
      selftests: net: add macvlan multicast test for shared source MAC

Kiran K (10):
      Bluetooth: btintel: Add support for hybrid signature for ScP2 onwards
      Bluetooth: btintel: Replace CNVi id with hardware variant
      Bluetooth: btintel: Add support for Scorpious Peak2 support
      Bluetooth: btintel: Add DSBR support for ScP2 onwards
      Bluetooth: btintel_pcie: Add support for exception dump for ScP2
      Bluetooth: btintel: Add support for Scorpious Peak2F support
      Bluetooth: btintel_pcie: Add support for exception dump for ScP2F
      Bluetooth: btintel_pcie: Add device id of Scorpius Peak2, Nova Lake-PCD-H
      Bluetooth: btintel_pcie: Add device id of Scorpious2, Nova Lake-PCD-S
      Bluetooth: btintel_pcie: Align shared DMA memory to 128 bytes

Kohei Enju (1):
      net: core: allow netdev_upper_get_next_dev_rcu from bh context

Koichiro Den (4):
      net: ntb_netdev: Introduce per-queue context
      net: ntb_netdev: Gate subqueue stop/wake by transport link
      net: ntb_netdev: Factor out multi-queue helpers
      net: ntb_netdev: Support ethtool channels for multi-queue

Konrad Dybcio (3):
      dt-bindings: sram: qcom,imem: Allow modem-tables subnode
      dt-bindings: net: qcom,ipa: Add sram property for describing IMEM slice
      net: ipa: Grab IMEM slice base/size from DTS

Konstantin Khorenko (2):
      net: fix skb_ext_total_length() BUILD_BUG_ON with CONFIG_GCOV_PROFILE_ALL
      net: add noinline __init __no_profile to skb_extensions_init() for GCOV compatibility

Kory Maincent (1):
      net: pse-pd: fix kernel-doc function name for pse_control_find_by_id()

Kryštof Černý (1):
      net: phy: realtek: Add support for PHY LEDs on RTL8211F-VD

Kuan-Chung Chen (1):
      wifi: rtw89: add H2C command to protect TX/RX for unused PHY

Kuniyuki Iwashima (35):
      bonding: Optimise is_netpoll_tx_blocked().
      selftest: net: Add basic functionality tests for ipmr.
      ipmr: Annotate access to mrt->mroute_do_{pim,assert,wrvifwhole}.
      ipmr: Convert ipmr_rtm_dumplink() to RCU.
      ipmr: Use MAXVIFS in mroute_msgsize().
      ipmr: Convert ipmr_rtm_getroute() to RCU.
      ipmr: Convert ipmr_rtm_dumproute() to RCU.
      ipmr: Move unregister_netdevice_many() out of mroute_clean_tables().
      ipmr: Move unregister_netdevice_many() out of ipmr_free_table().
      ipmr: Convert ipmr_net_exit_batch() to ->exit_rtnl().
      ipmr: Remove RTNL in ipmr_rules_init() and ipmr_net_init().
      ipmr: Call fib_rules_unregister() without RTNL.
      ipmr: Define net->ipv4.{ipmr_notifier_ops,ipmr_seq} under CONFIG_IP_MROUTE.
      ipmr/ip6mr: Convert net->ipv[46].ipmr_seq to atomic_t.
      ipmr: Add dedicated mutex for mrt->{mfc_hash,mfc_cache_list}.
      ipmr: Don't hold RTNL for ipmr_rtm_route().
      dccp Remove inet_hashinfo2_init_mod().
      tcp: Initialise ehash secrets during connect() and listen().
      udp: Make udp[46]_seq_show() static.
      ipv6: Retire UDP-Lite.
      ipv6: Remove UDP-Lite support for IPV6_ADDRFORM.
      ipv4: Retire UDP-Lite.
      udp: Remove UDP-Lite SNMP stats.
      smack: Remove IPPROTO_UDPLITE support in security_sock_rcv_skb().
      udp: Remove partial csum code in RX.
      udp: Remove partial csum code in TX.
      udp: Remove UDPLITE_SEND_CSCOV and UDPLITE_RECV_CSCOV.
      udp: Remove struct proto.h.udp_table.
      udp: Remove udp_table in struct udp_seq_afinfo.
      udp: Remove dead check in __udp[46]_lib_lookup() for BPF.
      udp: Don't pass udptable to IPv6 socket lookup functions.
      udp: Don't pass udptable to IPv4 socket lookup functions.
      udp: Don't pass proto to __udp4_lib_rcv() and __udp6_lib_rcv().
      fou: Remove IPPROTO_UDPLITE check in gue_err() and gue6_err().
      tcp: Don't set treq->req_usec_ts in cookie_tcp_reqsk_init().

Kyoji Ogasawara (2):
      net/smc: fix indentation in smcr_buf_type section
      net/smc: Add documentation for limit_smc_hs and hs_ctrl

Lachlan Hodges (3):
      wifi: mac80211: don't use cfg80211_chandef_create() for default chandef
      wifi: cfg80211: restrict cfg80211_chandef_create() to only HT-based bands
      wifi: cfg80211: check non-S1G width with S1G chandef

Laurence Rowe (1):
      vsock: avoid timeout for non-blocking accept() with empty backlog

Laurent Pinchart (1):
      net: stmmac: imx: Disable EEE

Leon Hwang (1):
      selftests/drivers/net: Add an xdp test to xdp.py

Leon Kral (1):
      net/handshake: Fixed grammar mistake

Leon Yen (5):
      wifi: mt76: mt7925: introduce CSA support in non-MLO mode
      wifi: mt76: mt7925: Fix incorrect MLO mode in firmware control
      wifi: mt76: mt792x: Fix a potential deadlock in high-load situations
      wifi: mt76: mt7921: fix a potential clc buffer length underflow
      wifi: mt76: mt7925: fix tx power setting failure after chip reset

Li RongQing (1):
      net/mlx5: Move command entry freeing outside of spinlock

Linus Heckemann (1):
      selftests/net: add test for IP-in-IPv6 tunneling

Linus Walleij (1):
      net: dsa: qca8k: Use the right GPIO header

Long Li (1):
      net: mana: Set default number of queues to 16

Lorenzo Bianconi (48):
      net: airoha: Rely __field_prep for non-constant masks
      net: airoha: Make flow control source port mapping dependent on nbq parameter
      net: airoha: Move GDM forward port configuration in ndo_open/ndo_stop callbacks
      wifi: mac80211: Remove deleted sta links in ieee80211_ml_reconf_work()
      net: airoha: select QDMA block according LAN/WAN configuration
      net: airoha: Reset PPE cpu port configuration in airoha_ppe_hw_init()
      wifi: mt76: mt7996: Set mtxq->wcid just for primary link
      wifi: mt76: mt7996: Reset mtxq->idx if primary link is removed in mt7996_vif_link_remove()
      wifi: mt76: mt7996: Switch to the secondary link if the default one is removed
      wifi: mt76: mt7996: Clear wcid pointer in mt7996_mac_sta_deinit_link()
      wifi: mt76: mt7996: Reset ampdu_state state in case of failure in mt7996_tx_check_aggr()
      wifi: mt76: Fix memory leak destroying device
      wifi: mt76: mt7996: Fix NPU stop procedure
      wifi: mt76: npu: Add missing rx_token_size initialization
      wifi: mt76: always enable RRO queues for non-MT7992 chipset
      wifi: mt76: mt7996: Fix BAND2 tx queues initialization when NPU is enabled
      wifi: mt76: mt7996: Fix wdma_idx for MT7996 device if NPU is enabled
      wifi: mt76: mt7996: Add mt7992_npu_txrx_offload_init routine
      wifi: mt76: mt7996: Rename mt7996_npu_rxd_init() in mt7992_npu_rxd_init()
      wifi: mt76: mt7996: Add NPU support for MT7990 chipset
      wifi: mt76: mt7996: Integrate NPU in RRO session management
      wifi: mt76: mt7996: Integrate MT7990 init configuration for NPU
      wifi: mt76: mt7996: Integrate MT7990 dma configuration for NPU
      wifi: mt76: mt7996: Add __mt7996_npu_hw_init routine
      wifi: mt76: mt7996: Move RRO dma start in a dedicated routine
      wifi: mt76: Do not reset idx for NPU tx queues during reset
      wifi: mt76: mt7996: Do not schedule RRO and TxFree queues during reset for NPU
      wifi: mt76: mt7996: Store DMA mapped buffer addresses in mt7996_npu_hw_init()
      wifi: mt76: Enable NPU support for MT7996 devices
      net: airoha: Rework the code flow in airoha_remove() and in airoha_probe() error path
      wifi: mt76: mt7996: Add missing CHANCTX_STA_CSA property
      wifi: mt76: mt7996: Remove link pointer dependency in mt7996_mac_sta_remove_links()
      wifi: mt76: mt7996: Remove unnecessary phy filed in mt7996_vif_link struct
      wifi: mt76: mt7996: Decrement sta counter removing the link in mt7996_mac_reset_sta_iter()
      wifi: mt76: mt7996: Rely on msta_link link_id in mt7996_vif_link_remove()
      wifi: mt76: mt7996: Destroy vif active links in mt7996_remove_interface()
      wifi: mt76: mt7996: Destroy active sta links in mt7996_mac_sta_remove()
      net: airoha: Fix typo in airoha_set_gdm2_loopback routine name
      net: airoha: Set REG_RX_CPU_IDX() once in airoha_qdma_fill_rx_queue()
      net: airoha: Add dma_rmb() and READ_ONCE() in airoha_qdma_rx_process()
      net: airoha: Fix FE_PSE_BUF_SET configuration if PPE2 is available
      net: airoha: Add missing RX_CPU_IDX() configuration in airoha_qdma_cleanup_rx_queue()
      net: airoha: Rely on net_device pointer in airoha_dev_setup_tc_block signature
      net: airoha: Rely on net_device pointer in HTB callbacks
      net: airoha: Rely on net_device pointer in ETS callbacks
      net: airoha: Remove PCE_MC_EN_MASK bit in REG_FE_PCE_CFG configuration
      net: airoha: Fix VIP configuration for AN7583 SoC
      net: airoha: Add missing PPE configurations in airoha_ppe_hw_init()

Luca Weiss (4):
      net: ipa: Fix programming of QTIME_TIMESTAMP_CFG
      net: ipa: Fix decoding EV_PER_EE for IPA v5.0+
      dt-bindings: net: qcom,ipa: add Milos compatible
      net: ipa: add IPA v5.2 configuration data

Lucid Duck (1):
      wifi: rtw89: usb: fix TX flow control by tracking in-flight URBs

Luigi Leonardi (1):
      vsock/virtio: remove unnecessary call to `virtio_transport_get_ops`

Luiz Angelo Daros de Luca (1):
      net: dsa: tag_rtl8_4: set KEEP flag

Luiz Augusto von Dentz (2):
      Bluetooth: btintel_pci: Fix btintel_pcie_read_hwexp code style
      Bluetooth: L2CAP: Fix printing wrong information if SDU length exceeds MTU

Luka Gejak (2):
      net: hsr: constify hsr_ops and prp_ops protocol operation structures
      net: hsr: use __func__ instead of hardcoded function name

Lukas Kraft (1):
      bluetooth: btusb: Fix whitespace in btusb.c

Luxiao Xu (1):
      net: strparser: fix skb_head leak in strp_abort_strp()

MD Danish Anwar (3):
      net: ti: icssg: Add HSR/PRP protocol frame filtering
      net: ti: icssg: Fix wrong macro used in RX classifier configuration
      net: ti: icssg-prueth: Add HSR multicast FDB port membership management

Maciej Fijalkowski (1):
      xsk: remove repeated defines

Maciej W. Rozycki (4):
      FDDI: defza: Rate-limit memory allocation errors
      FDDI: defxx: Rate-limit memory allocation errors
      declance: Rate-limit DMA errors
      declance: Include the offending address with DMA errors

Madhur Kumar (1):
      wifi: mt76: mt7921: Replace deprecated PCI function

Maharaja Kennadyrajan (1):
      wifi: ath12k: add basic hwmon temperature reporting

Maher Sanalla (2):
      net/mlx5: Add TLP emulation device capabilities
      net/mlx5: Expose TLP emulation capabilities

Manish Dharanenthiran (1):
      wifi: ath12k: Fix the assignment of logical link index

Manivannan Sadhasivam (5):
      net: qrtr: ns: Limit the maximum server registration per node
      net: qrtr: ns: Limit the maximum number of lookups
      net: qrtr: ns: Free the node during ctrl_cmd_bye()
      net: qrtr: ns: Limit the total number of nodes
      net: qrtr: ns: Fix use-after-free in driver remove()

Marc Harvey (10):
      net: team: Annotate reads and writes for mixed lock accessed values
      net: team: Remove unused team_mode_op, port_enabled
      net: team: Rename port_disabled team mode op to port_tx_disabled
      selftests: net: Add tests for failover of team-aggregated ports
      selftests: net: Add test for enablement of ports with teamd
      net: team: Rename enablement functions and struct members to tx
      net: team: Track rx enablement separately from tx enablement
      net: team: Add new rx_enabled team port option
      net: team: Add new tx_enabled team port option
      selftests: net: Add tests for team driver decoupled tx and rx control

Marc Kleine-Budde (2):
      Merge patch series "can: mcp251xfd: add XSTBYEN transceiver standby control"
      Merge patch series "can: refactor USB endpoint lookups"

Marco Crivellari (4):
      wifi: iwlwifi: replace use of system_unbound_wq with system_dfl_wq
      wifi: iwlwifi: fw: replace use of system_unbound_wq with system_dfl_wq
      wifi: iwlwifi: mvm: replace use of system_wq with system_percpu_wq
      Octeontx2-af: add WQ_PERCPU to alloc_workqueue users

Marek Vasut (4):
      dt-bindings: net: realtek,rtl82xx: Keep property list sorted
      dt-bindings: net: realtek,rtl82xx: Document realtek,*-ssc-enable property
      net: phy: realtek: Add property to enable SSC
      Bluetooth: btbcm: Add entry for BCM4343A2 UART Bluetooth

Marino Dzalto (1):
      netfilter: xt_HL: add pr_fmt and checkentry validation

Mashiro Chen (4):
      net: hamradio: 6pack: fix uninit-value in sixpack_receive_buf
      net: rose: reject truncated CLEAR_REQUEST frames in state machines
      net: hamradio: bpqether: validate frame length in bpq_rcv()
      net: hamradio: scc: validate bufsize in SIOCSCCSMEM ioctl

Matt Olson (2):
      gve: Update QPL page registration logic
      gve: Enable reading max ring size from the device in DQO-QPL mode

Matthieu Baerts (NGI0) (1):
      selftests: mptcp: join: recreate signal endp with same ID

Maxime Chevallier (11):
      net: ethtool: re-order local includes
      net: dsa: microchip: Don't embed struct phy_device to maintain the port state
      net: ethtool: pass genl_info to the ethnl parse_request operation
      net: stmmac: dwmac-socfpga: Move internal helpers
      net: stmmac: dwmac-socfpga: Use the socfpga_sgmii_config() helper
      net: stmmac: dwmac-socfpga: Use the correct type for interface modes
      net: stmmac: dwmac-socfpga: get the phy_mode with the dedicated helper
      net: stmmac: dwmac-sofcpga: Drop the struct device reference
      net: dsa: microchip: Drop unnecessary check in ksz9477 PCS setup
      net: dsa: microchip: drop an outdated comment about SGMII support
      net: phy: qcom: at803x: Use the correct bit to disable extended next page

MeiChia Chiu (1):
      wifi: mt76: mt7996: Add eMLSR support

Michael Lo (2):
      wifi: mt76: mt7925: Skip scan process during suspend.
      wifi: mt76: mt7921: fix 6GHz regulatory update on connection

Michael S. Tsirkin (2):
      virtio_net: sync RX buffer before reading the header
      ptr_ring: disable KCSAN warnings

Mike Marciniszyn (Meta) (5):
      net: export netif_open for self_test usage
      eth fbnic: Add register self test
      eth fbnic: Add msix self test
      eth fbnic: TLV support for use by MBX self test
      eth fbnic: Add mailbox self test

Ming Yen Hsieh (3):
      wifi: mt76: mt7925: fix incorrect length field in txpower command
      wifi: mt76: mt7925: prevent NULL pointer dereference in mt7925_tx_check_aggr()
      wifi: mt76: mt7925: prevent NULL vif dereference in mt7925_mac_write_txwi

Miri Korenblit (39):
      wifi: nl80211: refactor nl80211_parse_chandef
      wifi: cfg80211: remove unneeded call to cfg80211_leave
      wifi: nl80211/cfg80211: support stations of non-netdev interfaces
      wifi: cfg80211: refactor wiphy_suspend
      wifi: nl80211: don't allow DFS channels for NAN
      wifi: cfg80211: make cluster id an array
      wifi: mac80211: use for_each_chanctx_user_* in one more place
      wifi: mac80211: make ieee80211_find_chanctx link-unaware
      wifi: mac80211: properly handle error in ieee80211_add_virtual_monitor
      wifi: mac80211: don't consider the sband when processing capabilities
      wifi: iwlwifi: mld: add support for sta command version 3
      wifi: iwlwifi: bump core version for BZ/SC/DR
      wifi: iwlwifi: validate the channels received in iwl_mcc_update_resp_v*
      wifi: iwlwifi: mld: use the dedicated helper to extract a link
      wifi: iwlwifi: mld: always assign a fw id to a vif
      wifi: iwlwifi: add a macro for max FW links
      wifi: iwlwifi: mld: introduce iwl_mld_vif_fw_id_valid
      wifi: mac80211: extract channel logic from link logic
      wifi: mac80211: cleanup error path of ieee80211_do_open
      wifi: cfg80211: Add an API to configure local NAN schedule
      wifi: cfg80211: make sure NAN chandefs are valid
      wifi: cfg80211: add support for NAN data interface
      wifi: cfg80211: separately store HT, VHT and HE capabilities for NAN
      wifi: nl80211: add support for NAN stations
      wifi: nl80211: define an API for configuring the NAN peer's schedule
      wifi: nl80211: allow reporting spurious NAN Data frames
      wifi: nl80211: add NL80211_CMD_NAN_ULW_UPDATE notification
      wifi: nl80211: Add a notification to notify NAN channel evacuation
      wifi: mac80211: run NAN DE code only when appropriate
      wifi: mac80211: add NAN local schedule support
      wifi: mac80211: support open and close for NAN_DATA interfaces
      wifi: mac80211: handle reconfig for NAN DATA interfaces
      wifi: mac80211: support NAN stations
      wifi: mac80211: add NAN peer schedule support
      wifi: mac80211: update NAN data path state on schedule changes
      wifi: mac80211: add support for TX over NAN_DATA interfaces
      wifi: mac80211: Accept frames on NAN DATA interfaces
      wifi: mac80211: allow block ack agreements in NAN Data
      wifi: mac80211: report and drop spurious NAN Data frames

Mohsin Bashir (6):
      net: ethtool: Track pause storm events
      net: ethtool: Update doc for tunable
      eth: fbnic: Add protection against pause storm
      eth: fbnic: Fetch TX pause storm stats
      eth: mlx5: Move pause storm errors to pause stats
      eth: fbnic: Use wake instead of start

Moshe Shemesh (2):
      net/mlx5: Rename MLX5_PF page counter type to MLX5_SELF
      net/mlx5: Add icm_mng_function_id_mode cap bit

Nagamani PV (1):
      net/iucv: Add missing kernel-doc return value descriptions

Naveen Anandhan (1):
      selftests: tc-testing: preserve list order when removing duplicates

Nicolai Buchwitz (12):
      net: microchip: lan743x: add ethtool nway_reset support
      net: cadence: macb: add ethtool nway_reset support
      net: cadence: macb: add EEE LPI statistics counters
      net: cadence: macb: implement EEE TX LPI support
      net: cadence: macb: add ethtool EEE support
      net: cadence: macb: enable EEE for Raspberry Pi RP1
      net: cadence: macb: enable EEE for Mobileye EyeQ5
      net: phy: microchip: add downshift tunable support for LAN88xx
      net: phy: microchip: enable downshift by default on LAN88xx
      net: phy: add support for disabling PHY-autonomous EEE
      net: phy: broadcom: implement .disable_autonomous_eee for BCM54xx
      net: phy: realtek: convert RTL8211F to .disable_autonomous_eee

Nicolas Escande (1):
      wifi: mac80211: handle VHT EXT NSS in ieee80211_determine_our_sta_mode()

Nidhish A N (1):
      wifi: iwlwifi: mvm: cleanup some more MLO code

Nimrod Oren (2):
      net: page_pool: scale alloc cache with PAGE_SIZE
      net/mlx5e: Add hds-thresh query support via ethtool

Nobuhiro Iwamatsu (1):
      octeon_ep: Remove unnecessary semicolons in octep_oq_drop_rx()

Nora Schiffer (2):
      dt-bindings: net: ti: k3-am654-cpsw-nuss: Add ti,j722s-cpsw-nuss compatible
      net: ethernet: ti: am65-cpsw: add support for J722S SoC family

Norbert Szetei (1):
      vsock: fix buffer size clamping order

Oliver Neukum (1):
      net: usb: cdc-ether: unify error handling in probe

Or Har-Toov (12):
      devlink: Refactor resource functions to be generic
      devlink: Add port-level resource registration infrastructure
      net/mlx5: Register SF resource on PF port representor
      netdevsim: Add devlink port resource registration
      devlink: Add dump support for device-level resources
      devlink: Include port resources in resource dump dumpit
      devlink: Add port-specific option to resource dump doit
      selftest: netdevsim: Add devlink port resource doit test
      devlink: Document port-level resources and full dump
      devlink: Add resource scope filtering to resource dump
      selftest: netdevsim: Add resource dump and scope filter test
      devlink: Document resource scope filtering

Oskar Ray-Frayssinet (1):
      net: ntb_netdev: add SPDX tag and remove boilerplate license text

P Praneesh (1):
      wifi: ath12k: Fix legacy rate mapping for monitor mode capture

Pablo Neira Ayuso (2):
      netfilter: nft_meta: add double-tagged vlan and pppoe support
      netfilter: nf_tables_offload: add nft_flow_action_entry_next() and use it

Pagadala Yesu Anjaneyulu (4):
      wifi: iwlwifi: mld: remove unused scan expire time constants
      wifi: iwlwifi: fw: Add TLV support for BIOS revision of command
      wifi: iwlwifi: mld: eliminate duplicate WIDE_ID in PPAG command handling
      wifi: iwlwifi: mld: add BIOS revision compatibility check for PPAG command

Paolo Abeni (27):
      Merge branch 'net-mlx5e-shampo-allow-high-order-pages-in-zerocopy-mode'
      Merge branch 'dpll-zl3073x-consolidate-chip-info-and-add-temperature-reporting'
      Merge branch 'net-phy-improve-stats-handling-in-mdio_bus-c'
      Merge branch 'amd-xgbe-add-support-for-p100a-platform'
      Merge tag 'nf-next-26-03-04' of https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next
      Merge branch 'gve-optimize-and-enable-hw-gro-for-dqo'
      Merge branch 'net-ethtool-track-tx-pause-storm'
      Merge branch 'eth-fbnic-add-fbnic-self-tests'
      Merge branch 'net-hinic3-pf-initialization'
      Merge branch 'net-dsa-mv88e6xxx-add-partial-support-for-tcam-entries'
      Merge branch 'initial-support-for-pic64-hpsc-hx-ethernet-endpoint'
      Merge tag 'ovpn-net-next-20260317' of https://github.com/OpenVPN/ovpn-net-next
      Merge tag 'wireless-next-2026-03-19' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next
      Merge branch 'amd-xgbe-tx-resilience-improvements-for-link-down-handling'
      Merge branch 'net-cleanup-bitmaps-printing'
      Merge branch 'net-stmmac-cleanup-stmmac_xmit'
      Merge branch 'net-dpaa2-mac-export-standard-statistics'
      Merge branch 'r8152-add-helper-functions-for-pla-usb-phy-ocp-registers'
      Merge branch 'selftests-drivers-bash-support-for-remote-traffic-generators'
      Merge branch 'net-mctp-improvements-for-null-eid-addressing'
      Merge branch 'net-mlx5e-xdp-add-support-for-multi-packet-per-page'
      mptcp: better mptcp-level RTT estimator
      mptcp: add receive queue awareness in tcp_rcv_space_adjust()
      Merge branch 'r8152-add-support-for-the-rtl8157-5gbit-usb-ethernet-chip'
      ipv6: move IFA_F_PERMANENT percpu allocation in process scope
      Merge branch 'decouple-receive-and-transmit-enablement-in-team-driver'
      Merge branch 'net-bpf-fix-null-ptr-deref-in-xdp_master_redirect-for-bonding-and-add-selftest'

Parav Pandit (1):
      mlx5: Remove redundant iseg base

Patrisious Haddad (1):
      net/mlx5: Add vhca_id_type bit to alias context

Pauli Virtanen (3):
      Bluetooth: hci_core: Rate limit the logging of invalid ISO handle
      Bluetooth: hci_sync: make hci_cmd_sync_run_once return -EEXIST if exists
      Bluetooth: fix locking in hci_conn_request_evt() with HCI_PROTO_DEFER

Peter Chiu (3):
      wifi: mt76: mt7996: fix RRO EMU configuration
      wifi: mt76: mt7996: update WFSYS reset flow for MT7990 chipsets
      wifi: mt76: mt7996: fix frequency separation for station STR mode

Ping-Ke Shih (29):
      wifi: rtw89: fw: add fw_def struct to put firmware name and format version
      wifi: rtw89: fw: recognize firmware type B by AID
      wifi: rtw89: 8852b: update supported firmware format to 2
      wifi: rtw89: rfk: add hardware version to rtw89_fw_h2c_rf_pre_ntfy_mcc for new WiFi 7 firmware
      wifi: rtw89: pci: update SER parameters for suspend/resume
      wifi: rtw89: mac: remove A-die off setting for RTL8852C and RTL8922A
      wifi: rtw89: phy: limit AMPDU number for RA try rate
      wifi: rtw88: add quirks to disable PCI ASPM and deep LPS for HP P3S95EA#ACB
      wifi: rtw88: validate RX rate to prevent out-of-bound
      wifi: rtw89: 8922d: add definition of quota, registers and efuse block
      wifi: rtw89: 8922d: add power on/off functions
      wifi: rtw89: 8922d: define efuse map and read necessary fields
      wifi: rtw89: 8922d: read and configure RF by calibration data from efuse physical map
      wifi: rtw89: 8922d: add set channel of MAC part
      wifi: rtw89: 8922d: add set channel of BB part
      wifi: rtw89: 8922d: add set channel of RF part
      wifi: rtw89: pci: clear SER ISR when initial and leaving WoWLAN for WiFi 7 chips
      wifi: rtw89: mac: add specific case to dump mac memory for RTL8922D
      wifi: rtw89: mac: disable pre-load function for RTL8922DE
      wifi: rtw89: phy: load RF parameters relying on ACV for RTL8922D
      wifi: rtw89: 8922d: BB hardware pre-/post-init, TX/RX path and power settings
      wifi: rtw89: 8922d: add set channel with pre-/post- helpers
      wifi: rtw89: 8922d: add RF calibration ops
      wifi: rtw89: 8922d: add set TX power callback
      wifi: rtw89: 8922d: configure TX/RX path assisting in BT coexistence
      wifi: rtw89: 8922d: add RF ops of init hardware and get thermal
      wifi: rtw89: 8922d: add ops related to BT coexistence mechanism
      wifi: rtw89: 8922d: add chip_info and chip_ops struct
      wifi: rtw89: 8922d: add PCI ID of RTL8922DE and RTL8922DE-VS

Po-Hao Huang (2):
      wifi: rtw89: Drop malformed AMPDU frames with abnormal PN
      wifi: rtw89: Recalculate station aggregates when AMSDU length changes for MLO links

Qingfang Deng (15):
      pppoe: remove kernel-mode relay support
      ppp: don't store tx skb in the fastpath
      ppp: simplify input error handling
      ppp: disconnect channel before nullifying pch->chan
      ppp: remove pch->chan NULL checks from tx path
      ovpn: pktid: use bitops.h API
      ppp: require callers of ppp_dev_name() to hold RCU
      l2tp: ppp: use max L2TP header size for PPP channel hdrlen
      net: add netdev_from_priv() helper
      team: use netdev_from_priv()
      ppp: update Kconfig help message
      selftests: net: add tests for PPP
      ppp: consolidate refcount decrements
      pppox: remove sk_pppox() helper
      pppox: convert pppox_sk() to use container_of()

Quan Zhou (3):
      wifi: mt76: mt7925: fix AMPDU state handling in mt7925_tx_check_aggr
      wifi: mt76: mt7921: fix ROC abort flow interruption in mt7921_roc_work
      wifi: mt76: mt7925: fix incorrect TLV length in CLC command

Rafael J. Wysocki (2):
      ptp: vmw: Convert to a platform driver
      net: fjes: Drop fjes_acpi_driver and rework initialization

Raj Kumar Bhagat (2):
      dt-bindings: net: wireless: add ath12k wifi device IPQ5424
      wifi: ath12k: add ath12k_hw_version_map entry for IPQ5424

Raju Rangoju (7):
      amd-xgbe: define macros for MAC versions and speed select values
      amd-xgbe: add support for P100a platform
      amd-xgbe: Simplify powerdown/powerup paths
      amd-xgbe: add PCI power management for S0i3 support
      amd-xgbe: add adaptive link status polling
      amd-xgbe: optimize TX shutdown on link-down
      amd-xgbe: add TX descriptor cleanup for link-down

Ralf Lici (6):
      ovpn: notify userspace on client float event
      selftests: ovpn: add notification parsing and matching
      ovpn: add support for asymmetric peer IDs
      selftests: ovpn: check asymmetric peer-id
      selftests: ovpn: add test for the FW mark feature
      ovpn: consolidate crypto allocations in one chunk

Ramya Gnanasekar (1):
      wifi: ath12k: Set up MLO after SSR

Randy Dunlap (3):
      NFC: fix header file kernel-doc warnings
      atm: atmdev: add function parameter names and description
      net: openvswitch: clean up some kernel-doc warnings

Ratheesh Kannoth (7):
      octeontx2-af: npc: cn20k: Index management
      octeontx2-af: npc: cn20k: Allocate default MCAM indexes
      octeontx2-af: npc: cn20k: Prepare for new SoC
      octeontx2-af: npc: cn20k: virtual index support
      octeontx2-af: npc: cn20k: Allocate MCAM entry for flow installation
      octeontx2-af: npc: cn20k: add debugfs support
      octeontx2-af: npc: Use common structures

Remy D. Farley (5):
      doc/netlink: netlink-raw: Add max check
      doc/netlink: nftables: Add definitions
      doc/netlink: nftables: Update attribute sets
      doc/netlink: nftables: Add sub-messages
      doc/netlink: nftables: Fill out operation attributes

Rex Lu (1):
      wifi: mt76: mt7996: adjust timeout value for boot-up calibration commands

Ria Thomas (1):
      wifi: mac80211: add support for NDP ADDBA/DELBA for S1G

Roi L (1):
      qtnfmac: use alloc_netdev macro for single queue devices

Ronald Claveau (1):
      dt-bindings: net: wireless: brcm: Add compatible for bcm43752

Roopni Devanathan (2):
      wifi: ath12k: Rename hw_link_id to radio_idx in ath12k_ah_to_ar()
      wifi: ath12k: Create symlink for each radio in a wiphy

Rory Little (1):
      wifi: mt76: mt7921: Place upper limit on station AID

Rosen Penev (9):
      net: freescale: ucc_geth: call of_node_put once
      net: fs_enet: allow nvmem to override MAC address
      wifi: rt2x00: use generic nvmem_cell_get
      net: rocker: kzalloc + kcalloc to kzalloc_flex
      net: mvneta: support EPROBE_DEFER when reading MAC address
      net: xgbe: use device_get_mac_addr
      wifi: b43: kzalloc + kcalloc to kzalloc_flex
      wifi: brcmfmac: of: defer probe for MAC address
      wifi: wilc1000: use kzalloc_flex

Russell King (Oracle) (124):
      net: stmmac: qcom-ethqos: rename "por" members to "rgmii_por"
      net: stmmac: qcom-ethqos: remove register field value obfuscations
      net: stmmac: qcom-ethqos: change ethqos_configure*() to return void
      net: stmmac: qcom-ethqos: move qcom_ethqos_set_sgmii_loopback() up
      net: stmmac: qcom-ethqos: move loopback disable to .mac_finish()
      net: stmmac: pass interface mode into fix_mac_speed() method
      net: stmmac: qcom-ethqos: pass phy interface mode to configs
      net: stmmac: qcom-ethqos: use phy interface mode for inband
      net: stmmac: qcom-ethqos: move SerDes speed configuration
      net: stmmac: qcom-ethqos: convert to set_clk_tx_rate() method
      net: stmmac: fix EEE supportable interfaces
      net: stmmac: use circ_buf helpers for descriptors
      net: stmmac: fix transmit interrupt coalescing
      net: stmmac: ptp: limit n_per_out
      phy: qcom-sgmii-eth: add .set_mode() and .validate() methods
      net: stmmac: clean up formatting in stmmac_mac_finish()
      net: stmmac: remove plat_dat->port_node
      net: stmmac: remove .get_tx_owner()
      net: stmmac: remove .get_tx_ls()
      net: stmmac: remove .get_tx_len()
      net: stmmac: remove dwmac4 DMA_CHAN_INTR_DEFAULT_[TR]X*
      net: stmmac: remove dwmac410_(enable|disable)_dma_irq
      net: stmmac: remove mac->xlgmac
      net: stmmac: make extend_desc boolean
      net: stmmac: make chain_mode a boolean
      net: stmmac: make dma_cfg mixed/fixed burst boolean
      net: stmmac: move initialisation of dma_cfg->atds
      net: stmmac: simplify atds initialisation
      net: stmmac: move DMA configuration validation to driver probe
      net: stmmac: qcom-ethqos: move ethqos_set_serdes_speed()
      net: stmmac: qcom-ethqos: convert to use phy_set_mode_ext()
      phy: qcom-sgmii-eth: remove .set_speed() implementation
      phy: qcom-sgmii-eth: use PHY interface mode for SerDes settings
      phy: qcom-sgmii-eth: remove qcom_dwmac_sgmii_phy_interface()
      phy: qcom-sgmii-eth: relax order of .power_on() vs .set_mode*()
      net: stmmac: qcom-ethqos: remove phy_set_mode_ext() after phy_power_on()
      net: stmmac: mdio: convert MDC clock divisor selection to tables
      net: stmmac: mdio: use same test for MDC clock divisor lookups
      net: stmmac: mdio: simplify MDC clock divisor lookup
      net: stmmac: mdio: convert field prep to use field_prep()
      net: stmmac: use u32 for MDIO register field masks
      net: stmmac: use GENMASK_U32() for mdio bitfields
      net: stmmac: mdio_bus_data->default_an_inband is boolean
      net: stmmac: make pcs_mask and phy_mask u32
      net: stmmac: remove stmmac_dwmac4_get_mac_addr()
      net: stmmac: ptp: rearrange n_ext_ts initialisation
      net: stmmac: ptp: remove redundant priv->pps[].available
      net: stmmac: provide plat_dat->dma_cfg in stmmac_plat_dat_alloc()
      net: stmmac: convert plat_stmmacenet_data booleans to type bool
      net: stmmac: reorder structs to reduce memory consumption
      net: stmmac: use u8 for ?x_queues_to_use and number_?x_queues
      net: stmmac: use u8 for host_dma_width and similar struct members
      net: stmmac: add documentation for stmmac_dma_cfg members
      net: stmmac: add documentation for clocks
      net: phy: vitesse: add inband caps and configuration
      net: stmmac: avoid passing pci_dev
      net: stmmac: move MSI data out of struct stmmac_priv
      net: stmmac: rearrange stmmac_tx_info members to pack better
      net: stmmac: helpers for filling tx_q->tx_skbuff_dma
      net: stmmac: clean up stmmac_clear_rx_descriptors()
      net: stmmac: add helper to get hardware receive descriptor
      net: stmmac: add helper to get size of a receive descriptor
      net: stmmac: add helper to set receive tail pointer
      net: stmmac: remove rx_tail_addr
      net: stmmac: use consistent tests for receive buffer size
      net: stmmac: add helper to set receive buffer size
      net: stmmac: simplify stmmac_set_queue_rx_buf_size()
      net: stmmac: add helper to get hardware transmit descriptor
      net: stmmac: add helper to get size of a transmit descriptor
      net: stmmac: add helper to set transmit tail pointer
      net: stmmac: remove tx_tail_addr
      net: stmmac: use queue rather than ->queue_index
      net: stmmac: rename "mode" to "descriptor_mode"
      net: stmmac: more mode -> descriptor_mode renames
      net: stmmac: simplify DMA descriptor allocation/init/freeing
      net: stmmac: use more descriptive names in stmmac_xmit()
      net: stmmac: rename STMMAC_GET_ENTRY() -> STMMAC_NEXT_ENTRY()
      net: phylink: add debug for phy_config_inband()
      net: stmmac: move default_an_inband to plat_stmmacenet_data
      net: stmmac: add struct stmmac_pcs_info
      net: stmmac: add support for reading inband SGMII status
      net: stmmac: add BASE-X support to integrated PCS
      net: stmmac: use integrated PCS for BASE-X modes
      net: stmmac: move stmmac_xmit() skb head handling
      net: stmmac: move first xmit descriptor SARC and TBS config
      net: stmmac: move stmmac_xmit() first entry index code
      net: stmmac: move stmmac_xmit() initial variable init
      net: stmmac: use first_desc for TBS
      net: stmmac: elminate tbs_desc in stmmac_xmit()
      net: phylink: use phylink_expects_phy() in phylink_fwnode_phy_connect()
      net: stmmac: remove axi_kbbe, axi_mb and axi_rb members
      dt-bindings: remove unimplemented AXI snps,kbbe snps,mb and snps,rb
      net: stmmac: provide flag to disable EEE
      net: stmmac: qcom-ethqos: remove ethqos_configure()
      net: stmmac: qcom-ethqos: pass ethqos to ethqos_pcs_set_inband()
      net: stmmac: qcom-ethqos: eliminate configure_func
      net: stmmac: qcom-ethqos: move detection of invalid RGMII speed
      net: stmmac: qcom-ethqos: move RGMII_CONFIG_DDR_MODE
      net: stmmac: qcom-ethqos: move 1G vs 100M/10M RGMII settings
      net: stmmac: qcom-ethqos: move two more RGMII_IO_MACRO_CONFIG2 out
      net: stmmac: qcom-ethqos: move 100M/10M speed programming
      net: stmmac: qcom-ethqos: move RGMII_CONFIG2_RSVD_CONFIG15 out
      net: stmmac: qcom-ethqos: move RGMII_CONFIG2_RX_PROG_SWAP
      net: stmmac: qcom-ethqos: finally eliminate the switch
      net: stmmac: qcom-ethqos: simplify prg_rclk_dly programming
      net: stmmac: qcom-ethqos: move loopback decision next to reg update
      net: stmmac: qcom-ethqos: correct prg_rclk_dly comment
      net: stmmac: qcom-ethqos: move phase_shift to register update site
      net: stmmac: fix channel TSO enable on resume
      net: stmmac: fix .ndo_fix_features()
      net: stmmac: fix TSO support when some channels have TBS available
      net: stmmac: add stmmac_tso_header_size()
      net: stmmac: add TSO check for header length
      net: stmmac: add GSO MSS checks
      net: stmmac: move TSO VLAN tag insertion to core code
      net: stmmac: move check for hardware checksum supported
      net: stmmac: simplify GSO/TSO test in stmmac_xmit()
      net: stmmac: split out gso features setup
      net: stmmac: make stmmac_set_gso_features() more readable
      net: stmmac: add warning when TSO is requested but unsupported
      net: stmmac: check txpbl for TSO
      net: stmmac: move "TSO supported" message to stmmac_set_gso_features()
      net: stmmac: qcom-ethqos: set clk_csr
      net: stmmac: enable RPS and RBU interrupts

Ryder Lee (4):
      wifi: mt76: mt7615: fix use_cts_prot support
      wifi: mt76: mt7915: fix use_cts_prot support
      wifi: mt76: mt7996: add support for ERP CTS & HT protection
      wifi: mt76: mt7996: Disable Rx hdr_trans in monitor mode

Ryohei Kinugawa (1):
      docs/mlx5: Fix typo subfuction

Sabrina Dubroca (2):
      tls: don't select STREAM_PARSER
      ovpn: use correct array size to parse nested attributes in ovpn_nl_key_swap_doit

Saeed Mahameed (2):
      net/mlx5e: Remove unused field in mlx5e_flow_steering struct
      net/mlx5e: Allow set_rx_mode on uplink representor

Sagi Maimon (1):
      ptp: ocp: Add support for Xilinx-based Adva TimeCard variant

Sai Pratyusha Magam (1):
      wifi: mac80211: Fix AAD/Nonce computation for management frames with MLO

Salil Mehta (1):
      MAINTAINERS: Remove Salil Mehta as HiSilicon HNS3/HNS Ethernet maintainer

Samuel Page (1):
      can: raw: fix ro->uniq use-after-free in raw_rcv()

Saravanakumar Duraisamy (3):
      wifi: ath12k: Add ath12k_hw_params for IPQ5424
      wifi: ath12k: add ath12k_hw_regs for IPQ5424
      wifi: ath12k: Add CE remap hardware parameters for IPQ5424

Sarika Sharma (1):
      wifi: ath12k: account TX stats only when ACK/BA status is present

Satish Kharat (8):
      net:ethernet:enic: add VIC subsystem ids
      net:ethernet:enic: map ethtool link modes by VIC type
      enic: extend resource discovery for SR-IOV admin channel
      enic: add V2 SR-IOV VF device ID
      enic: detect SR-IOV VF type from PCI capability
      enic: make enic_dev_enable/disable ref-counted
      enic: add type-aware alloc for WQ, RQ, CQ and INTR resources
      enic: detect admin channel resources for SR-IOV

Sean Chang (1):
      net: macb: use ethtool_sprintf to fill ethtool stats strings

Sean Wang (44):
      wifi: mt76: mt7921: Reset ampdu_state state in case of failure in mt76_connac2_tx_check_aggr()
      wifi: mt76: mt7925: drop puncturing handling from BSS change path
      wifi: mt76: mt7925: fix potential deadlock in mt7925_roc_abort_sync
      wifi: mt76: mt7921: fix potential deadlock in mt7921_roc_abort_sync
      wifi: mt76: connac: use is_connac2() to replace is_mt7921() checks
      wifi: mt76: mt7921: use mt76_for_each_q_rx() in reset path
      wifi: mt76: mt7921: handle MT7902 irq_map quirk with mutable copy
      wifi: mt76: mt7921: add MT7902e DMA layout support
      wifi: mt76: connac: mark MT7902 as hw txp devices
      wifi: mt76: mt792x: add PSE handling barrier for the large MCU cmd
      wifi: mt76: mt792x: ensure MCU ready before ROM patch download
      wifi: mt76: mt7921: add MT7902 MCU support
      wifi: mt76: mt792x: add MT7902 WFDMA prefetch configuration
      wifi: mt76: mt7921: add MT7902 PCIe device support
      wifi: mt76: mt7921: add MT7902 SDIO device support
      wifi: mt76: mt792x: describe USB WFSYS reset with a descriptor
      wifi: mt76: mt792x: fix mt7925u USB WFSYS reset handling
      wifi: mt76: mt7925: pass mlink to sta_amsdu_tlv()
      wifi: mt76: mt7925: pass WCID indices to bss_basic_tlv()
      wifi: mt76: mt7925: pass mlink and mconf to sta_mld_tlv()
      wifi: mt76: mt7925: pass mlink to mcu_sta_update()
      wifi: mt76: mt7925: resolve primary mlink via def_wcid
      wifi: mt76: mt7925: pass mlink to mac_link_sta_remove()
      wifi: mt76: mt7925: pass mlink to sta_hdr_trans_tlv()
      wifi: mt76: mt7925: validate mlink in sta_hdr_trans_tlv()
      wifi: mt76: mt7925: pass mlink to wtbl_update_hdr_trans()
      wifi: mt76: mt7925: pass mlink to set_link_key()
      wifi: mt76: mt7925: resolve link after acquiring mt76 mutex
      wifi: mt76: mt7925: pass mconf and mlink to wtbl_update_hdr_trans()
      wifi: mt76: mt7925: make WCID cleanup unconditional in sta_remove_links()
      wifi: mt76: mt7925: unwind WCID setup on link STA add failure
      wifi: mt76: mt7925: drop WCID reinit after publish
      wifi: mt76: mt7925: move WCID teardown into link_sta_remove()
      wifi: mt76: mt7925: switch link STA allocation to RCU lifetime
      wifi: mt76: mt7925: publish msta->link after successful link add
      wifi: mt76: mt7925: host-only unwind published links on add failure
      mmc: sdio: add MediaTek MT7902 SDIO device ID
      Bluetooth: btmtk: add MT7902 MCU support
      Bluetooth: btusb: Add new VID/PID 13d3/3579 for MT7902
      Bluetooth: btusb: Add new VID/PID 13d3/3580 for MT7902
      Bluetooth: btusb: Add new VID/PID 13d3/3594 for MT7902
      Bluetooth: btusb: Add new VID/PID 13d3/3596 for MT7902
      Bluetooth: btusb: Add new VID/PID 0e8d/1ede for MT7902
      Bluetooth: btmtk: add MT7902 SDIO support

Sebastian Andrzej Siewior (1):
      net: ethernet: ti: am65-cpsw: Use also port number to identify timestamps

Shardul Bankar (1):
      wireguard: device: use exit_rtnl callback instead of manual rtnl_lock in pre_exit

Shay Drory (7):
      net/mlx5: Add silent mode set/query and VHCA RX IFC bits
      net/mlx5: LAG, replace pf array with xarray
      net/mlx5: LAG, use xa_alloc to manage LAG device indices
      net/mlx5: E-switch, modify peer miss rule index to vhca_id
      net/mlx5: LAG, replace mlx5_get_dev_index with LAG sequence number
      net/mlx5: Add VHCA RX flow destination support for FW steering
      {net/RDMA}/mlx5: Add LAG demux table API and vport demux rules

Shayne Chen (9):
      wifi: ieee80211: fix definition of EHT-MCS 15 in MRU
      wifi: mt76: mt7996: extend CSA and CCA support for MLO
      wifi: mt76: mt7996: add duplicated WTBL command
      wifi: mt76: mt7996: fix iface combination for different chipsets
      wifi: mt76: mt7996: add variant for MT7992 chipsets
      wifi: mt76: mt7996: fix wrong DMAD length when using MAC TXP
      wifi: mt76: mt7996: Account active links in valid_links fields
      wifi: mt76: mt7996: Move mlink deallocation in mt7996_vif_link_remove()
      wifi: mt76: mt7996: Add mcu APIs to enable/disable vif links.

Shin-Yi Lin (1):
      wifi: rtw89: usb: Rx aggregation for RTL8832CU/RTL8851BU

ShravyaPanchagiri (1):
      docs: octeontx2: fix typo in documentation

Shuai Zhang (2):
      Bluetooth: hci_qca: disable power control for WCN7850 when bt_en is not defined
      Bluetooth: hci_qca: Fix missing wakeup during SSR memdump handling

Shuvam Pandey (1):
      Bluetooth: hci_event: fix potential UAF in SSP passkey handlers

Simon Baatz (7):
      tcp: implement RFC 7323 window retraction receiver requirements
      mptcp: keep rcv_mwnd_seq in sync with subflow rcv_wnd
      tcp: increase LINUX_MIB_BEYOND_WINDOW for SKB_DROP_REASON_TCP_OVERWINDOW
      selftests/net: packetdrill: add tcp_rcv_wnd_shrink_nomem.pkt
      selftests/net: packetdrill: add tcp_rcv_wnd_shrink_allowed.pkt
      selftests/net: packetdrill: add tcp_rcv_neg_window.pkt
      selftests/net: packetdrill: improve tcp_rcv_neg_window.pkt

Simon Horman (1):
      ice: Make name member of struct ice_cgu_pin_desc const

Soichiro Ueda (1):
      selftests: af_unix: validate SO_PEEK_OFF advancement and reset

Sowmiya Sree Elavalagan (1):
      wifi: ath12k: Enable IPQ5424 WiFi device support

Sriram R (2):
      wifi: mac80211: fetch FILS discovery template by link ID
      wifi: mac80211: fetch unsolicited probe response template by link ID

StanleyYP Wang (10):
      wifi: mt76: mt7996: fix the behavior of radar detection
      wifi: mt76: mt7996: set specific BSSINFO and STAREC commands after channel switch
      wifi: mt76: mt7996: abort CCA when CSA is starting
      wifi: mt76: mt7996: offload radar threshold initialization
      wifi: mt76: add external EEPROM support for mt799x chipsets
      wifi: mt76: mt7996: apply calibration-free data from OTP
      wifi: mt76: mt7996: fix struct mt7996_mcu_uni_event
      wifi: mt76: avoid to set ACK for MCU command if wait_resp is not set
      wifi: mt76: mt7996: fix queue pause after scan due to wrong channel switch reason
      wifi: mt76: mt7996: fix issues with manually triggered radar detection

Stefan Metzmacher (1):
      Bluetooth: SCO: check for codecs->num_codecs == 1 before assigning to sco_pi(sk)->codec

Stefano Radaelli (1):
      Bluetooth: hci_ll: Enable BROKEN_ENHANCED_SETUP_SYNC_CONN for WL183x

Subbaraya Sundeep (1):
      octeontx2-pf: cn20k: Add TC rules support

Suman Ghosh (5):
      octeontx2-af: npc: cn20k: KPM profile changes
      octeontx2-af: npc: cn20k: Add default profile
      octeontx2-af: npc: cn20k: MKEX profile support
      octeontx2-af: npc: cn20k: Use common APIs
      octeontx2-af: npc: cn20k: Add new mailboxes for CN20K silicon

Sun Jian (1):
      netfilter: use function typedefs for __rcu NAT helper hook pointers

Suraj P Kizhakkethil (2):
      wifi: mac80211: set band information only for non-MLD when probing stations using NULL frame
      wifi: mac80211: Set link ID for NULL packets sent to probe stations

Taegu Ha (1):
      ppp: require CAP_NET_ADMIN in target netns for unattached ioctls

Tamizh Chelvam Raja (3):
      wifi: mac80211: synchronize valid links for WDS AP_VLAN interfaces
      wifi: mac80211: use ap_addr for 4-address NULL frame destination
      wifi: mac80211: enable MLO support for 4-address mode interfaces

Tariq Toukan (1):
      net/mlx5: Expose MLX5_UMR_ALIGN definition

Thangaraj Samynathan (2):
      net: lan743x: fix SGMII detection on PCI1xxxx B0+ during warm reset
      net: lan743x: rename chip_rev to fpga_rev

Thorsten Blum (6):
      net: l2tp_eth: Replace deprecated strcpy with strscpy in l2tp_eth_create
      keys, dns: Use kmalloc_flex to improve dns_resolver_preparse
      ipv6: sit: Replace deprecated strcpy with strscpy
      Bluetooth: btintel_pcie: Replace snprintf("%s") with strscpy
      Bluetooth: btintel_pcie: Use struct_size to improve hci_drv_read_info
      Bluetooth: btintel_pcie: use strscpy to copy plain strings

Théo Lebrun (3):
      net: macb: runtime detect MACB_CAPS_USRIO_DISABLED
      net: macb: set MACB_CAPS_USRIO_DISABLED if no usrio config is provided
      net: macb: drop usrio pointer on EyeQ5 config

Tiernan Hubble (1):
      net: atlantic: fix reading SFP module info on some AQC100 cards

Tim Bird (2):
      wifi: Add SPDX ids to some files in the wireless subsystem
      net: Add SPDX ids to some source files

Tomas Alvarez Vanoli (1):
      net: wan/fsl_ucc_hdlc: cleanup ucc_hdlc_poll

Tomasz Unger (4):
      NFC: pn544: i2c: Replace strcpy() with strscpy()
      NFC: nxp-nci: Replace strcpy() with strscpy()
      NFC: nfcmrvl: Replace strcpy() with strscpy()
      NFC: s3fwrn5: Replace strcpy() with strscpy()

Victor Nogueira (1):
      selftests/tc-testing: Adapt test's output to HFSC's iproute2 printing changes

Viken Dadhaniya (2):
      dt-bindings: can: mcp251xfd: add microchip,xstbyen property
      can: mcp251xfd: add support for XSTBYEN transceiver standby control

Ville Nummela (1):
      wifi: rsi_91x_usb: do not pause rfkill polling when stopping mac80211

Vishwanath Seshagiri (1):
      virtio_net: add page_pool support for buffer allocation

Vivek Sahu (1):
      Bluetooth: qca: Refactor code on the basis of chipset names

Vivian Wang (1):
      net: spacemit: Remove unused buff_addr fields

Vladimir Oltean (4):
      net: dsa: remove struct platform_data
      net: dsa: clean up struct dsa_chip_data
      net: dsa: remove unused platform_data definitions
      net: dsa: eliminate <linux/dsa/loop.h>

Wei Fang (6):
      net: enetc: remove stray semicolon
      net: enetc: add support for the standardized counters
      net: enetc: show RX drop counters only for assigned RX rings
      net: enetc: remove standardized counters from enetc_pm_counters
      net: enetc: add unstructured pMAC counters for ENETC v1
      net: enetc: add unstructured counters for ENETC v4

Wesley Atwell (1):
      tcp: use WRITE_ONCE() for tsoffset in tcp_v6_connect()

Wojciech Slenska (1):
      dt-bindings: net: qcom,ipa: document qcm2290 compatible

Xiang Mei (1):
      bonding: remove unused bond_is_first_slave and bond_is_last_slave macros

Xin Long (2):
      sctp: fix missing encap_port propagation for GSO fragments
      sctp: disable BH before calling udp_tunnel_xmit_skb()

Yi Cong (1):
      wifi: rtl8xxxu: fix potential use of uninitialized value

Yohei Kojima (2):
      docs: ethtool: clarify the bit-by-bit bitset format description
      selftests: net: Remove unnecessary backslashes in fq_band_pktlimit.sh

Yoshihiro Shimoda (2):
      net: ethernet: ravb: Disable interrupts when closing device
      net: ethernet: ravb: Suspend and resume the transmission flow

Yue Haibing (2):
      ip6_tunnel: use generic for_each_ip_tunnel_rcu macro
      ipv6: sit: remove redundant ret = 0 assignment

Yury Norov (2):
      octeontx2-af: simplify rvu_debugfs
      net-sysfs: switch xps_queue_show() to sysfs_emit()

Yury Norov (NVIDIA) (1):
      i40e: drop useless bitmap_weight() call in i40e_set_rxfh_fields()

Zac Bowling (1):
      wifi: mt76: fix list corruption in mt76_wcid_cleanup

Zeeshan Ahmad (1):
      net: core: failover: enforce mandatory ops and clean up redundant checks

Zenm Chen (3):
      wifi: rtw89: Add support for TP-Link Archer TX50U
      wifi: rtw89: Add support for Buffalo WI-U3-2400XE2
      wifi: rtw89: Add support for Elecom WDC-XE2402TU3-B

Zhengchuan Liang (2):
      netfilter: require Ethernet MAC header before using eth_hdr()
      net: caif: clear client service pointer on teardown

Zhengping Zhang (1):
      net: airoha: fix typo in function name

Zilin Guan (3):
      wifi: ath11k: fix memory leaks in beacon template setup
      wifi: mwifiex: Fix memory leak in mwifiex_11n_aggregate_pkt()
      wifi: mt76: Fix memory leak after mt76_connac_mcu_alloc_sta_req()

Ziyi Guo (1):
      wifi: mt76: add missing lock protection in mt76_sta_state for sta_event callback

Zong-Zhe Yang (14):
      wifi: rtw89: add general way to generate module firmware string
      wifi: rtw89: 8852a: move DIG tables to rtw8852a.c
      wifi: rtw89: 8852a: update supported firmware format to 1
      wifi: rtw89: 8851b: update supported firmware format to 1
      wifi: rtw89: debug: add SER SW counters to count simulation
      wifi: rtw89: ser: Wi-Fi 7 reset HALT C2H after reading it
      wifi: rtw89: ser: post-recover DMAC state to prevent LPS
      wifi: rtw89: move disabling dynamic mechanism functions to core
      wifi: rtw89: tweak settings of TX power and channel for Wi-Fi 7
      wifi: rtw89: chan: simplify link handling related to ROC
      wifi: rtw89: chan: recalc MLO DBCC mode based on current entity mode
      wifi: rtw89: replace RF mutex with wiphy lock assertion
      wifi: rtw89: debug: simulate Wi-Fi 7 SER L0/L1 without PS mode
      wifi: rtw89: fw: load TX power elements according to AID

kexinsun (2):
      rds: update outdated comment
      xfrm: update outdated comment

谢致邦 (XIE Zhibang) (1):
      net: stmmac: dwmac-rk: Fix typo in comment

 CREDITS                                            |   10 +
 Documentation/admin-guide/sysctl/net.rst           |   28 +
 .../devicetree/bindings/dpll/dpll-pin.yaml         |   13 +
 .../bindings/dpll/microchip,zl30731.yaml           |   30 +-
 .../bindings/net/can/microchip,mcp251xfd.yaml      |    8 +
 .../devicetree/bindings/net/cdns,macb.yaml         |   90 +-
 .../bindings/net/dsa/maxlinear,mxl862xx.yaml       |    1 -
 .../devicetree/bindings/net/dsa/nxp,sja1105.yaml   |    2 -
 .../devicetree/bindings/net/ethernet-phy.yaml      |   14 +
 Documentation/devicetree/bindings/net/micrel.yaml  |    6 +-
 .../bindings/net/microchip,pic64hpsc-mdio.yaml     |   68 +
 .../devicetree/bindings/net/nfc/nxp,nci.yaml       |    1 +
 .../bindings/net/nuvoton,ma35d1-dwmac.yaml         |  140 +
 .../devicetree/bindings/net/nxp,s32-dwmac.yaml     |   47 +-
 .../devicetree/bindings/net/qcom,ipa.yaml          |   12 +
 .../devicetree/bindings/net/realtek,rtl82xx.yaml   |   19 +-
 .../devicetree/bindings/net/snps,dwmac.yaml        |   21 +-
 .../devicetree/bindings/net/spacemit,k3-dwmac.yaml |  102 +
 .../bindings/net/ti,k3-am654-cpsw-nuss.yaml        |   19 +-
 .../bindings/net/wireless/brcm,bcm4329-fmac.yaml   |    1 +
 .../bindings/net/wireless/qcom,ath10k.yaml         |   11 +
 .../bindings/net/wireless/qcom,ipq5332-wifi.yaml   |    1 +
 .../devicetree/bindings/sram/qcom,imem.yaml        |   14 +
 Documentation/driver-api/dpll.rst                  |   20 +
 Documentation/netlink/genetlink.yaml               |    2 +-
 Documentation/netlink/netlink-raw.yaml             |   11 +-
 Documentation/netlink/specs/devlink.yaml           |   90 +-
 Documentation/netlink/specs/dpll.yaml              |   35 +
 Documentation/netlink/specs/ethtool.yaml           |   25 +-
 Documentation/netlink/specs/netdev.yaml            |   46 +
 Documentation/netlink/specs/nftables.yaml          |  691 ++-
 Documentation/netlink/specs/ovpn.yaml              |   23 +-
 Documentation/netlink/specs/psp.yaml               |    8 +
 Documentation/netlink/specs/rt-link.yaml           |   23 +
 Documentation/networking/bridge.rst                |   22 +
 .../device_drivers/ethernet/marvell/octeontx2.rst  |    2 +-
 .../ethernet/mellanox/mlx5/kconfig.rst             |    4 +-
 .../networking/devlink/devlink-resource.rst        |   70 +
 .../networking/devlink/devlink-shared.rst          |   97 +
 Documentation/networking/devlink/index.rst         |    1 +
 Documentation/networking/dsa/dsa.rst               |    5 -
 Documentation/networking/ethtool-netlink.rst       |   23 +-
 Documentation/networking/ip-sysctl.rst             |   40 +-
 Documentation/networking/ipvs-sysctl.rst           |   37 +
 .../net_cachelines/netns_ipv4_sysctl.rst           |    2 +
 .../networking/net_cachelines/tcp_sock.rst         |    1 +
 Documentation/networking/netdevices.rst            |    6 +
 Documentation/networking/scaling.rst               |   13 +-
 Documentation/networking/smc-sysctl.rst            |   43 +-
 Documentation/networking/tls-handshake.rst         |    2 +-
 Documentation/process/maintainer-netdev.rst        |   18 +-
 MAINTAINERS                                        |   26 +-
 arch/arm/configs/omap2plus_defconfig               |    1 -
 arch/arm/configs/spitz_defconfig                   |    1 -
 arch/arm64/configs/defconfig                       |    3 +-
 arch/loongarch/configs/loongson32_defconfig        |    1 -
 arch/loongarch/configs/loongson64_defconfig        |    1 -
 arch/m68k/configs/amiga_defconfig                  |   45 +-
 arch/m68k/configs/apollo_defconfig                 |   45 +-
 arch/m68k/configs/atari_defconfig                  |   45 +-
 arch/m68k/configs/bvme6000_defconfig               |   45 +-
 arch/m68k/configs/hp300_defconfig                  |   45 +-
 arch/m68k/configs/mac_defconfig                    |   45 +-
 arch/m68k/configs/multi_defconfig                  |   45 +-
 arch/m68k/configs/mvme147_defconfig                |   45 +-
 arch/m68k/configs/mvme16x_defconfig                |   45 +-
 arch/m68k/configs/q40_defconfig                    |   45 +-
 arch/m68k/configs/sun3_defconfig                   |   45 +-
 arch/m68k/configs/sun3x_defconfig                  |   45 +-
 arch/mips/configs/bigsur_defconfig                 |    1 -
 arch/mips/configs/cavium_octeon_defconfig          |    1 -
 arch/mips/configs/decstation_64_defconfig          |    1 -
 arch/mips/configs/decstation_defconfig             |    1 -
 arch/mips/configs/decstation_r4k_defconfig         |    1 -
 arch/mips/configs/gpr_defconfig                    |    1 -
 arch/mips/configs/ip32_defconfig                   |    1 -
 arch/mips/configs/lemote2f_defconfig               |    1 -
 arch/mips/configs/loongson2k_defconfig             |    1 -
 arch/mips/configs/loongson3_defconfig              |    1 -
 arch/mips/configs/malta_qemu_32r6_defconfig        |    2 -
 arch/mips/configs/maltaaprp_defconfig              |    2 -
 arch/mips/configs/maltasmvp_defconfig              |    2 -
 arch/mips/configs/maltasmvp_eva_defconfig          |    2 -
 arch/mips/configs/maltaup_defconfig                |    2 -
 arch/mips/configs/mtx1_defconfig                   |    2 -
 arch/mips/configs/rm200_defconfig                  |    1 -
 arch/mips/configs/sb1250_swarm_defconfig           |    1 -
 arch/parisc/configs/generic-32bit_defconfig        |    2 -
 arch/parisc/configs/generic-64bit_defconfig        |    2 -
 arch/powerpc/configs/44x/akebono_defconfig         |    1 -
 arch/powerpc/configs/g5_defconfig                  |    3 -
 arch/powerpc/configs/linkstation_defconfig         |    1 -
 arch/powerpc/configs/mvme5100_defconfig            |    1 -
 arch/powerpc/configs/powernv_defconfig             |    3 -
 arch/powerpc/configs/ppc64_defconfig               |    3 -
 arch/powerpc/configs/ppc64e_defconfig              |    3 -
 arch/powerpc/configs/ppc6xx_defconfig              |    2 -
 arch/powerpc/configs/ps3_defconfig                 |    1 -
 arch/powerpc/configs/skiroot_defconfig             |    2 -
 arch/s390/configs/debug_defconfig                  |    2 -
 arch/s390/configs/defconfig                        |    2 -
 arch/sh/configs/sh2007_defconfig                   |    1 -
 arch/sh/configs/titan_defconfig                    |    1 -
 arch/sh/configs/ul2_defconfig                      |    1 -
 arch/sparc/configs/sparc32_defconfig               |    1 -
 arch/sparc/configs/sparc64_defconfig               |    1 -
 crypto/Kconfig                                     |   12 -
 crypto/Makefile                                    |    1 -
 crypto/michael_mic.c                               |  176 -
 crypto/tcrypt.c                                    |    4 -
 crypto/testmgr.c                                   |    6 -
 crypto/testmgr.h                                   |   50 -
 drivers/base/regmap/Kconfig                        |    2 +-
 drivers/bluetooth/btbcm.c                          |   11 +-
 drivers/bluetooth/btintel.c                        |  109 +-
 drivers/bluetooth/btintel.h                        |   20 +-
 drivers/bluetooth/btintel_pcie.c                   |  122 +-
 drivers/bluetooth/btintel_pcie.h                   |    3 -
 drivers/bluetooth/btmtk.c                          |  115 +-
 drivers/bluetooth/btmtk.h                          |    9 +-
 drivers/bluetooth/btmtksdio.c                      |   44 +-
 drivers/bluetooth/btqca.c                          |   37 +-
 drivers/bluetooth/btusb.c                          |   84 +-
 drivers/bluetooth/hci_ldisc.c                      |    3 +
 drivers/bluetooth/hci_ll.c                         |   10 +
 drivers/bluetooth/hci_qca.c                        |   84 +-
 drivers/clk/qcom/Kconfig                           |    2 +-
 drivers/dibs/dibs_main.c                           |   14 +-
 drivers/dpll/dpll_core.c                           |    5 +-
 drivers/dpll/dpll_netlink.c                        |   90 +
 drivers/dpll/dpll_nl.c                             |    5 +-
 drivers/dpll/zl3073x/Makefile                      |    4 +-
 drivers/dpll/zl3073x/chan.c                        |  165 +
 drivers/dpll/zl3073x/chan.h                        |  174 +
 drivers/dpll/zl3073x/core.c                        |  243 +-
 drivers/dpll/zl3073x/core.h                        |   71 +-
 drivers/dpll/zl3073x/dpll.c                        |  911 ++--
 drivers/dpll/zl3073x/dpll.h                        |    8 +-
 drivers/dpll/zl3073x/flash.c                       |    3 +-
 drivers/dpll/zl3073x/i2c.c                         |   37 +-
 drivers/dpll/zl3073x/out.c                         |   27 +-
 drivers/dpll/zl3073x/out.h                         |   43 +-
 drivers/dpll/zl3073x/ref.c                         |   58 +-
 drivers/dpll/zl3073x/ref.h                         |   93 +-
 drivers/dpll/zl3073x/regs.h                        |   16 +
 drivers/dpll/zl3073x/spi.c                         |   37 +-
 drivers/dpll/zl3073x/synth.h                       |   16 +-
 drivers/gpio/TODO                                  |   28 -
 drivers/gpio/gpiolib-of.c                          |   31 +-
 drivers/infiniband/Kconfig                         |    1 -
 drivers/infiniband/core/addr.c                     |    3 +-
 drivers/infiniband/hw/mlx5/ib_rep.c                |   24 +-
 drivers/infiniband/hw/mlx5/main.c                  |   23 +-
 drivers/infiniband/hw/mlx5/mlx5_ib.h               |    1 -
 drivers/infiniband/hw/mlx5/mr.c                    |    1 -
 drivers/infiniband/hw/ocrdma/Kconfig               |    2 +-
 drivers/infiniband/sw/rxe/rxe_net.c                |    6 +-
 drivers/infiniband/ulp/ipoib/Kconfig               |    2 +-
 drivers/net/Kconfig                                |   10 +-
 drivers/net/bonding/bond_main.c                    |   10 +-
 drivers/net/bonding/bond_netlink.c                 |    9 +
 drivers/net/bonding/bond_procfs.c                  |   11 +-
 drivers/net/bonding/bonding_priv.h                 |   22 -
 drivers/net/can/ctucanfd/ctucanfd_pci.c            |    8 -
 drivers/net/can/rcar/rcar_can.c                    |    3 +-
 drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c     |   37 +
 drivers/net/can/spi/mcp251xfd/mcp251xfd.h          |    1 +
 drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c   |   25 +-
 drivers/net/can/usb/ucan.c                         |   42 +-
 drivers/net/dsa/dsa_loop.c                         |   35 +-
 drivers/net/dsa/microchip/ksz9477.c                |   68 +-
 drivers/net/dsa/microchip/ksz_common.c             |    2 +-
 drivers/net/dsa/microchip/ksz_common.h             |    4 +-
 drivers/net/dsa/mv88e6xxx/Makefile                 |    2 +
 drivers/net/dsa/mv88e6xxx/chip.c                   |   35 +
 drivers/net/dsa/mv88e6xxx/chip.h                   |   52 +
 drivers/net/dsa/mv88e6xxx/port.c                   |   28 +-
 drivers/net/dsa/mv88e6xxx/port.h                   |    7 +-
 drivers/net/dsa/mv88e6xxx/tcam.c                   |  338 ++
 drivers/net/dsa/mv88e6xxx/tcam.h                   |   41 +
 drivers/net/dsa/mv88e6xxx/tcflower.c               |  167 +
 drivers/net/dsa/mv88e6xxx/tcflower.h               |   14 +
 drivers/net/dsa/mxl862xx/Kconfig                   |    1 +
 drivers/net/dsa/mxl862xx/mxl862xx-api.h            |  696 ++-
 drivers/net/dsa/mxl862xx/mxl862xx-cmd.h            |   35 +-
 drivers/net/dsa/mxl862xx/mxl862xx-host.c           |  371 +-
 drivers/net/dsa/mxl862xx/mxl862xx-host.h           |    2 +
 drivers/net/dsa/mxl862xx/mxl862xx.c                | 1909 ++++++++-
 drivers/net/dsa/mxl862xx/mxl862xx.h                |  272 +-
 drivers/net/dsa/qca/qca8k.h                        |    2 +-
 drivers/net/dsa/yt921x.c                           |   13 -
 drivers/net/ethernet/Kconfig                       |    1 -
 drivers/net/ethernet/Makefile                      |    1 -
 drivers/net/ethernet/airoha/airoha_eth.c           |  342 +-
 drivers/net/ethernet/airoha/airoha_eth.h           |    7 +-
 drivers/net/ethernet/airoha/airoha_ppe.c           |   41 +-
 drivers/net/ethernet/airoha/airoha_regs.h          |   12 +-
 drivers/net/ethernet/alteon/Kconfig                |   47 -
 drivers/net/ethernet/alteon/Makefile               |    6 -
 drivers/net/ethernet/alteon/acenic.c               | 3178 --------------
 drivers/net/ethernet/alteon/acenic.h               |  791 ----
 drivers/net/ethernet/amd/declance.c                |    4 +-
 drivers/net/ethernet/amd/xgbe/xgbe-common.h        |    8 +-
 drivers/net/ethernet/amd/xgbe/xgbe-dev.c           |  127 +-
 drivers/net/ethernet/amd/xgbe/xgbe-drv.c           |  114 +-
 drivers/net/ethernet/amd/xgbe/xgbe-mdio.c          |   18 +
 drivers/net/ethernet/amd/xgbe/xgbe-pci.c           |   91 +-
 drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c        |   22 +-
 drivers/net/ethernet/amd/xgbe/xgbe-platform.c      |   14 +-
 drivers/net/ethernet/amd/xgbe/xgbe.h               |   34 +-
 .../net/ethernet/aquantia/atlantic/aq_ethtool.c    |   55 +-
 drivers/net/ethernet/aquantia/atlantic/aq_hw.h     |    3 +
 .../aquantia/atlantic/hw_atl/hw_atl_utils.h        |    7 +
 .../aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c   |   80 +
 drivers/net/ethernet/broadcom/Kconfig              |    3 +-
 drivers/net/ethernet/broadcom/asp2/bcmasp.h        |    8 +-
 drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c   |  125 +-
 .../net/ethernet/broadcom/asp2/bcmasp_intf_defs.h  |    4 +
 drivers/net/ethernet/broadcom/bnge/Makefile        |    3 +-
 drivers/net/ethernet/broadcom/bnge/bnge.h          |   10 +
 drivers/net/ethernet/broadcom/bnge/bnge_auxr.c     |    1 +
 drivers/net/ethernet/broadcom/bnge/bnge_core.c     |    1 +
 drivers/net/ethernet/broadcom/bnge/bnge_ethtool.c  |  732 ++++
 drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c |  384 +-
 drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.h |    8 +
 drivers/net/ethernet/broadcom/bnge/bnge_link.c     | 1132 +++++
 drivers/net/ethernet/broadcom/bnge/bnge_link.h     |  173 +
 drivers/net/ethernet/broadcom/bnge/bnge_netdev.c   |  676 ++-
 drivers/net/ethernet/broadcom/bnge/bnge_netdev.h   |   94 +-
 drivers/net/ethernet/broadcom/bnge/bnge_txrx.c     |   35 +-
 drivers/net/ethernet/broadcom/bnxt/Makefile        |    2 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt.c          |  255 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt.h          |   59 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c  |   74 +-
 drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c      |  240 ++
 drivers/net/ethernet/broadcom/bnxt/bnxt_gso.h      |   46 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c      |   57 +
 drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h      |   10 +
 drivers/net/ethernet/broadcom/genet/bcmgenet.c     |   30 +-
 drivers/net/ethernet/cadence/macb.h                |   35 +
 drivers/net/ethernet/cadence/macb_main.c           |  740 ++--
 drivers/net/ethernet/chelsio/Kconfig               |    2 +-
 .../ethernet/chelsio/inline_crypto/chtls/chtls.h   |    2 +-
 .../chelsio/inline_crypto/chtls/chtls_io.c         |    8 +-
 drivers/net/ethernet/cisco/enic/enic.h             |   57 +
 drivers/net/ethernet/cisco/enic/enic_dev.c         |   17 +-
 drivers/net/ethernet/cisco/enic/enic_ethtool.c     |  155 +-
 drivers/net/ethernet/cisco/enic/enic_main.c        |   59 +-
 drivers/net/ethernet/cisco/enic/enic_res.c         |   12 +-
 drivers/net/ethernet/cisco/enic/vnic_cq.c          |   14 +-
 drivers/net/ethernet/cisco/enic/vnic_cq.h          |    3 +
 drivers/net/ethernet/cisco/enic/vnic_dev.c         |   10 +
 drivers/net/ethernet/cisco/enic/vnic_intr.c        |   12 +-
 drivers/net/ethernet/cisco/enic/vnic_intr.h        |    2 +
 drivers/net/ethernet/cisco/enic/vnic_resource.h    |    4 +
 drivers/net/ethernet/cisco/enic/vnic_rq.c          |   14 +-
 drivers/net/ethernet/cisco/enic/vnic_rq.h          |    3 +
 drivers/net/ethernet/cisco/enic/vnic_wq.c          |   14 +-
 drivers/net/ethernet/cisco/enic/vnic_wq.h          |    3 +
 drivers/net/ethernet/freescale/Makefile            |    3 +-
 drivers/net/ethernet/freescale/dpaa2/Kconfig       |    4 +
 drivers/net/ethernet/freescale/dpaa2/Makefile      |    9 +-
 .../net/ethernet/freescale/dpaa2/dpaa2-ethtool.c   |   61 +-
 drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.c   |  425 +-
 drivers/net/ethernet/freescale/dpaa2/dpaa2-mac.h   |   27 +-
 .../freescale/dpaa2/dpaa2-switch-ethtool.c         |   48 +-
 drivers/net/ethernet/freescale/dpaa2/dpmac-cmd.h   |   11 +-
 drivers/net/ethernet/freescale/dpaa2/dpmac.c       |   31 +-
 drivers/net/ethernet/freescale/dpaa2/dpmac.h       |   94 +-
 drivers/net/ethernet/freescale/enetc/enetc.h       |    2 +
 drivers/net/ethernet/freescale/enetc/enetc4_hw.h   |  192 +
 .../net/ethernet/freescale/enetc/enetc_ethtool.c   |  427 +-
 drivers/net/ethernet/freescale/enetc/ntmp.c        |    2 +-
 .../net/ethernet/freescale/fs_enet/fs_enet-main.c  |    4 +-
 drivers/net/ethernet/freescale/ucc_geth.c          |    3 +-
 drivers/net/ethernet/google/gve/gve.h              |   18 +-
 drivers/net/ethernet/google/gve/gve_adminq.c       |   30 +-
 .../net/ethernet/google/gve/gve_buffer_mgmt_dqo.c  |    2 +-
 drivers/net/ethernet/google/gve/gve_main.c         |   56 +-
 drivers/net/ethernet/google/gve/gve_rx.c           |    5 +-
 drivers/net/ethernet/google/gve/gve_rx_dqo.c       |   43 +-
 drivers/net/ethernet/google/gve/gve_tx.c           |    5 +-
 drivers/net/ethernet/google/gve/gve_tx_dqo.c       |   37 +-
 drivers/net/ethernet/huawei/hinic3/Makefile        |    1 +
 drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c   |  195 +-
 drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.h   |   15 +
 drivers/net/ethernet/huawei/hinic3/hinic3_common.c |    6 +-
 drivers/net/ethernet/huawei/hinic3/hinic3_common.h |    1 +
 drivers/net/ethernet/huawei/hinic3/hinic3_csr.h    |    2 +
 drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c    |   65 +
 drivers/net/ethernet/huawei/hinic3/hinic3_eqs.h    |    5 +
 .../net/ethernet/huawei/hinic3/hinic3_ethtool.c    |  425 ++
 drivers/net/ethernet/huawei/hinic3/hinic3_hw_cfg.c |   47 +-
 drivers/net/ethernet/huawei/hinic3/hinic3_hw_cfg.h |    8 +
 .../net/ethernet/huawei/hinic3/hinic3_hw_comm.c    |   69 +
 .../net/ethernet/huawei/hinic3/hinic3_hw_comm.h    |    2 +
 .../net/ethernet/huawei/hinic3/hinic3_hw_intf.h    |   12 +
 drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c  |    9 +
 drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.h  |    1 +
 drivers/net/ethernet/huawei/hinic3/hinic3_hwif.c   |   23 +-
 drivers/net/ethernet/huawei/hinic3/hinic3_lld.c    |    1 +
 drivers/net/ethernet/huawei/hinic3/hinic3_main.c   |    3 +
 drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c   |   39 +-
 drivers/net/ethernet/huawei/hinic3/hinic3_mbox.h   |    4 +
 .../ethernet/huawei/hinic3/hinic3_mgmt_interface.h |   16 +-
 .../net/ethernet/huawei/hinic3/hinic3_netdev_ops.c |   16 +-
 .../net/ethernet/huawei/hinic3/hinic3_nic_cfg.c    |   77 +
 .../net/ethernet/huawei/hinic3/hinic3_nic_cfg.h    |  110 +
 .../net/ethernet/huawei/hinic3/hinic3_nic_dev.h    |    3 +
 .../net/ethernet/huawei/hinic3/hinic3_pci_id_tbl.h |    1 +
 drivers/net/ethernet/huawei/hinic3/hinic3_rss.c    |    2 +-
 drivers/net/ethernet/huawei/hinic3/hinic3_rx.c     |   15 +
 drivers/net/ethernet/huawei/hinic3/hinic3_rx.h     |    3 +
 drivers/net/ethernet/ibm/ibmveth.c                 |    4 +-
 drivers/net/ethernet/intel/i40e/i40e_ethtool.c     |   21 +-
 drivers/net/ethernet/intel/i40e/i40e_hmc.h         |    2 +
 drivers/net/ethernet/intel/iavf/iavf_ethtool.c     |  103 +-
 drivers/net/ethernet/intel/ice/ice_ptp_hw.h        |    2 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe.h           |   27 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c       |    4 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c      |   56 +-
 drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c       |    2 +-
 drivers/net/ethernet/litex/litex_liteeth.c         |   21 +-
 drivers/net/ethernet/marvell/mvneta.c              |    3 +
 drivers/net/ethernet/marvell/octeon_ep/octep_rx.c  |    2 +-
 .../ethernet/marvell/octeon_ep_vf/octep_vf_rx.c    |   47 +-
 drivers/net/ethernet/marvell/octeontx2/Kconfig     |    1 +
 drivers/net/ethernet/marvell/octeontx2/af/Makefile |    2 +-
 drivers/net/ethernet/marvell/octeontx2/af/cgx.c    |    2 +-
 .../ethernet/marvell/octeontx2/af/cn20k/debugfs.c  |  273 ++
 .../ethernet/marvell/octeontx2/af/cn20k/debugfs.h  |    3 +
 .../marvell/octeontx2/af/cn20k/mbox_init.c         |   17 +
 .../net/ethernet/marvell/octeontx2/af/cn20k/npc.c  | 4522 ++++++++++++++++++++
 .../net/ethernet/marvell/octeontx2/af/cn20k/npc.h  |  340 ++
 .../net/ethernet/marvell/octeontx2/af/cn20k/reg.h  |   65 +
 drivers/net/ethernet/marvell/octeontx2/af/common.h |    4 -
 drivers/net/ethernet/marvell/octeontx2/af/mbox.h   |  172 +-
 drivers/net/ethernet/marvell/octeontx2/af/npc.h    |    2 +
 .../ethernet/marvell/octeontx2/af/npc_profile.h    |   84 +-
 drivers/net/ethernet/marvell/octeontx2/af/rvu.c    |  116 +-
 drivers/net/ethernet/marvell/octeontx2/af/rvu.h    |   18 +-
 .../ethernet/marvell/octeontx2/af/rvu_debugfs.c    |  104 +-
 .../ethernet/marvell/octeontx2/af/rvu_devlink.c    |   95 +-
 .../net/ethernet/marvell/octeontx2/af/rvu_nix.c    |    5 +-
 .../net/ethernet/marvell/octeontx2/af/rvu_npc.c    |  600 ++-
 .../net/ethernet/marvell/octeontx2/af/rvu_npc.h    |   21 +
 .../net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c |  708 ++-
 .../net/ethernet/marvell/octeontx2/af/rvu_npc_fs.h |   14 +-
 .../ethernet/marvell/octeontx2/af/rvu_npc_hash.c   |  120 +-
 .../ethernet/marvell/octeontx2/af/rvu_npc_hash.h   |    2 +-
 .../ethernet/marvell/octeontx2/nic/cn10k_macsec.c  |   53 +-
 drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c |  266 ++
 drivers/net/ethernet/marvell/octeontx2/nic/cn20k.h |   14 +
 .../ethernet/marvell/octeontx2/nic/otx2_common.h   |   35 +
 .../ethernet/marvell/octeontx2/nic/otx2_flows.c    |  267 +-
 .../net/ethernet/marvell/octeontx2/nic/otx2_tc.c   |   79 +-
 drivers/net/ethernet/mediatek/mtk_eth_soc.c        |   56 +-
 drivers/net/ethernet/mediatek/mtk_ppe.c            |   30 +
 drivers/net/ethernet/mediatek/mtk_ppe.h            |    1 +
 drivers/net/ethernet/mellanox/mlx4/cmd.c           |    4 +-
 drivers/net/ethernet/mellanox/mlx5/core/Makefile   |    5 +-
 drivers/net/ethernet/mellanox/mlx5/core/cmd.c      |    9 +-
 drivers/net/ethernet/mellanox/mlx5/core/devlink.h  |    4 +
 .../mellanox/mlx5/core/diag/fs_tracepoint.c        |    3 +
 drivers/net/ethernet/mellanox/mlx5/core/en.h       |   21 +-
 .../net/ethernet/mellanox/mlx5/core/en/params.c    |  424 +-
 .../net/ethernet/mellanox/mlx5/core/en/params.h    |   47 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c   |    4 +-
 .../net/ethernet/mellanox/mlx5/core/en/rep/neigh.c |    9 +-
 .../net/ethernet/mellanox/mlx5/core/en/tc_tun.c    |    3 +-
 .../ethernet/mellanox/mlx5/core/en/tc_tun_encap.c  |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c   |    7 +-
 drivers/net/ethernet/mellanox/mlx5/core/en/xdp.h   |    3 +-
 .../net/ethernet/mellanox/mlx5/core/en/xsk/pool.c  |   23 +-
 .../net/ethernet/mellanox/mlx5/core/en/xsk/setup.c |   59 +-
 .../net/ethernet/mellanox/mlx5/core/en/xsk/setup.h |    6 +-
 .../ethernet/mellanox/mlx5/core/en_accel/ipsec.c   |    1 -
 .../mellanox/mlx5/core/en_accel/ipsec_offload.c    |   12 +-
 .../net/ethernet/mellanox/mlx5/core/en_ethtool.c   |    6 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_fs.c    |   11 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c  |  270 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c   |    3 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_rx.c    |  101 +-
 drivers/net/ethernet/mellanox/mlx5/core/en_stats.c |   30 +
 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c    |   10 +-
 .../ethernet/mellanox/mlx5/core/esw/devlink_port.c |   37 +
 drivers/net/ethernet/mellanox/mlx5/core/eswitch.h  |   14 +-
 .../ethernet/mellanox/mlx5/core/eswitch_offloads.c |  103 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c   |    6 +-
 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c  |   17 +-
 drivers/net/ethernet/mellanox/mlx5/core/fw.c       |    6 +
 .../net/ethernet/mellanox/mlx5/core/lag/debugfs.c  |    3 +-
 drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c  |  704 ++-
 drivers/net/ethernet/mellanox/mlx5/core/lag/lag.h  |   49 +-
 drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c   |   20 +-
 .../net/ethernet/mellanox/mlx5/core/lag/mpesw.c    |   15 +-
 .../net/ethernet/mellanox/mlx5/core/lag/port_sel.c |   28 +-
 .../net/ethernet/mellanox/mlx5/core/lib/clock.c    |   40 +-
 drivers/net/ethernet/mellanox/mlx5/core/lib/sd.c   |    2 +-
 drivers/net/ethernet/mellanox/mlx5/core/main.c     |   21 +-
 .../net/ethernet/mellanox/mlx5/core/pagealloc.c    |    3 +-
 .../ethernet/mellanox/mlx5/core/sf/dev/driver.c    |    3 +-
 .../net/ethernet/mellanox/mlx5/core/sh_devlink.c   |   61 +
 .../net/ethernet/mellanox/mlx5/core/sh_devlink.h   |   12 +
 drivers/net/ethernet/mellanox/mlxsw/Kconfig        |    1 -
 drivers/net/ethernet/meta/fbnic/fbnic.h            |   36 +
 drivers/net/ethernet/meta/fbnic/fbnic_csr.c        |  128 +
 drivers/net/ethernet/meta/fbnic/fbnic_csr.h        |   42 +
 drivers/net/ethernet/meta/fbnic/fbnic_devlink.c    |    1 +
 drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c    |  139 +
 drivers/net/ethernet/meta/fbnic/fbnic_fw.c         |  115 +-
 drivers/net/ethernet/meta/fbnic/fbnic_fw.h         |   27 +
 drivers/net/ethernet/meta/fbnic/fbnic_hw_stats.h   |    1 +
 drivers/net/ethernet/meta/fbnic/fbnic_irq.c        |  156 +
 drivers/net/ethernet/meta/fbnic/fbnic_mac.c        |  111 +
 drivers/net/ethernet/meta/fbnic/fbnic_mac.h        |   27 +
 drivers/net/ethernet/meta/fbnic/fbnic_pci.c        |    7 +-
 drivers/net/ethernet/meta/fbnic/fbnic_tlv.c        |  276 ++
 drivers/net/ethernet/meta/fbnic/fbnic_tlv.h        |   27 +
 drivers/net/ethernet/microchip/fdma/Kconfig        |    4 -
 drivers/net/ethernet/microchip/lan743x_ethtool.c   |    8 +
 drivers/net/ethernet/microchip/lan743x_main.c      |   23 +-
 drivers/net/ethernet/microchip/lan743x_main.h      |    1 +
 .../ethernet/microchip/sparx5/sparx5_calendar.c    |   15 +-
 .../net/ethernet/microchip/sparx5/sparx5_ethtool.c |    9 +-
 .../ethernet/microchip/sparx5/sparx5_mactable.c    |   34 +-
 .../net/ethernet/microchip/sparx5/sparx5_main.c    |  253 +-
 .../net/ethernet/microchip/sparx5/sparx5_main.h    |   12 +-
 drivers/net/ethernet/microchip/sparx5/sparx5_ptp.c |   18 +
 .../ethernet/microchip/sparx5/sparx5_vcap_impl.c   |    2 +-
 drivers/net/ethernet/microsoft/mana/gdma_main.c    |  157 +-
 drivers/net/ethernet/microsoft/mana/hw_channel.c   |   12 +-
 drivers/net/ethernet/microsoft/mana/mana_en.c      |  122 +-
 drivers/net/ethernet/microsoft/mana/mana_ethtool.c |   75 +-
 drivers/net/ethernet/netronome/Kconfig             |    1 -
 drivers/net/ethernet/netronome/nfp/flower/action.c |    2 +-
 .../ethernet/netronome/nfp/flower/tunnel_conf.c    |    7 +-
 .../net/ethernet/pensando/ionic/ionic_ethtool.c    |    9 +-
 drivers/net/ethernet/pensando/ionic/ionic_if.h     |    6 +
 drivers/net/ethernet/qlogic/qed/qed_l2.c           |   53 +-
 drivers/net/ethernet/qlogic/qlcnic/qlcnic.h        |    2 +-
 drivers/net/ethernet/realtek/r8169.h               |    1 +
 drivers/net/ethernet/realtek/r8169_main.c          |    7 +
 drivers/net/ethernet/realtek/r8169_phy_config.c    |   26 +
 drivers/net/ethernet/renesas/ravb_main.c           |   10 +
 drivers/net/ethernet/rocker/rocker_ofdpa.c         |   31 +-
 drivers/net/ethernet/sfc/ethtool.c                 |    2 +
 drivers/net/ethernet/sfc/tc_counters.c             |    2 +-
 drivers/net/ethernet/sfc/tc_encap_actions.c        |    5 +-
 drivers/net/ethernet/sfc/tx.c                      |    2 +
 drivers/net/ethernet/spacemit/k1_emac.c            |    3 -
 drivers/net/ethernet/stmicro/stmmac/Kconfig        |   33 +-
 drivers/net/ethernet/stmicro/stmmac/Makefile       |    2 +
 drivers/net/ethernet/stmicro/stmmac/chain_mode.c   |    2 +-
 drivers/net/ethernet/stmicro/stmmac/common.h       |   21 +-
 drivers/net/ethernet/stmicro/stmmac/descs.h        |    2 +
 .../ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c    |    5 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c    |   22 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c  |   19 +-
 .../net/ethernet/stmicro/stmmac/dwmac-loongson.c   |   20 +-
 .../net/ethernet/stmicro/stmmac/dwmac-mediatek.c   |    8 +-
 .../net/ethernet/stmicro/stmmac/dwmac-motorcomm.c  |    5 -
 .../net/ethernet/stmicro/stmmac/dwmac-nuvoton.c    |  136 +
 .../ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c    |  380 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c     |    2 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac-s32.c    |   38 +-
 .../net/ethernet/stmicro/stmmac/dwmac-socfpga.c    |   63 +-
 .../net/ethernet/stmicro/stmmac/dwmac-spacemit.c   |  227 +
 drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c    |   11 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c  |   13 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c  |    2 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c  |    2 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac1000.h    |   12 +-
 .../net/ethernet/stmicro/stmmac/dwmac1000_core.c   |   22 +-
 .../net/ethernet/stmicro/stmmac/dwmac100_core.c    |   11 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac4.h       |   10 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c  |   27 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c |   33 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c   |    2 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.h   |   14 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c   |   54 +-
 drivers/net/ethernet/stmicro/stmmac/dwmac5.c       |    2 -
 .../net/ethernet/stmicro/stmmac/dwxgmac2_core.c    |   24 +-
 .../net/ethernet/stmicro/stmmac/dwxgmac2_descs.c   |   30 +-
 drivers/net/ethernet/stmicro/stmmac/enh_desc.c     |   38 +-
 drivers/net/ethernet/stmicro/stmmac/hwif.c         |   13 +-
 drivers/net/ethernet/stmicro/stmmac/hwif.h         |   25 +-
 drivers/net/ethernet/stmicro/stmmac/norm_desc.c    |   39 +-
 drivers/net/ethernet/stmicro/stmmac/ring_mode.c    |    2 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac.h       |   59 +-
 .../net/ethernet/stmicro/stmmac/stmmac_ethtool.c   |    5 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  | 1314 +++---
 drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c  |  113 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c   |   11 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_pcs.c   |  156 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_pcs.h   |   14 +-
 .../net/ethernet/stmicro/stmmac/stmmac_platform.c  |  107 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c   |   21 +-
 drivers/net/ethernet/ti/Makefile                   |   30 +-
 drivers/net/ethernet/ti/am65-cpsw-nuss.c           |   12 +-
 drivers/net/ethernet/ti/am65-cpts.c                |   23 +-
 drivers/net/ethernet/ti/am65-cpts.h                |    8 +-
 drivers/net/ethernet/ti/cpsw.c                     |    2 +-
 drivers/net/ethernet/ti/cpsw_ale.c                 |   25 +
 drivers/net/ethernet/ti/cpsw_ethtool.c             |   24 +
 drivers/net/ethernet/ti/cpsw_new.c                 |    2 +-
 drivers/net/ethernet/ti/cpsw_priv.c                |   39 +-
 drivers/net/ethernet/ti/cpsw_priv.h                |    2 +-
 drivers/net/ethernet/ti/cpsw_sl.c                  |   11 +
 drivers/net/ethernet/ti/davinci_cpdma.c            |   27 +
 drivers/net/ethernet/ti/davinci_emac.c             |   39 +-
 drivers/net/ethernet/ti/icssg/icssg_classifier.c   |   69 +-
 drivers/net/ethernet/ti/icssg/icssg_prueth.c       |  255 +-
 drivers/net/ethernet/ti/icssg/icssg_prueth.h       |    2 +
 drivers/net/ethernet/wangxun/libwx/wx_ethtool.c    |   37 +-
 drivers/net/ethernet/wangxun/libwx/wx_ethtool.h    |    4 +
 drivers/net/ethernet/wangxun/libwx/wx_hw.c         |   66 +-
 drivers/net/ethernet/wangxun/libwx/wx_type.h       |   53 +-
 drivers/net/ethernet/wangxun/libwx/wx_vf_common.c  |    9 +-
 drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c   |   57 +-
 drivers/net/ethernet/wangxun/ngbe/ngbe_main.c      |   52 +-
 drivers/net/ethernet/wangxun/ngbe/ngbe_type.h      |   17 -
 drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c |   21 +-
 drivers/net/ethernet/wangxun/txgbe/txgbe_main.c    |   16 +-
 drivers/net/ethernet/wangxun/txgbe/txgbe_phy.c     |    2 +
 drivers/net/fddi/defxx.c                           |    2 +-
 drivers/net/fddi/defza.c                           |    5 +-
 drivers/net/fjes/fjes_main.c                       |  120 +-
 drivers/net/geneve.c                               |    1 -
 drivers/net/gtp.c                                  |    2 +-
 drivers/net/hamradio/6pack.c                       |    9 +-
 drivers/net/hamradio/bpqether.c                    |    3 +
 drivers/net/hamradio/scc.c                         |    2 +
 drivers/net/ieee802154/atusb.c                     |    5 +-
 drivers/net/ipa/Makefile                           |    2 +-
 drivers/net/ipa/data/ipa_data-v5.2.c               |  452 ++
 drivers/net/ipa/gsi.c                              |    1 +
 drivers/net/ipa/gsi_reg.c                          |    1 +
 drivers/net/ipa/ipa_data.h                         |   10 +-
 drivers/net/ipa/ipa_main.c                         |   10 +-
 drivers/net/ipa/ipa_mem.c                          |   24 +-
 drivers/net/ipa/ipa_reg.c                          |    1 +
 drivers/net/ipa/ipa_sysfs.c                        |    2 +
 drivers/net/ipa/ipa_version.h                      |    2 +
 drivers/net/ipvlan/ipvlan_core.c                   |   46 +-
 drivers/net/macsec.c                               |   71 +-
 drivers/net/macvlan.c                              |   25 +-
 drivers/net/mdio/Kconfig                           |    8 +-
 drivers/net/mdio/Makefile                          |    1 +
 drivers/net/mdio/mdio-gpio.c                       |   12 +-
 drivers/net/mdio/mdio-mvusb.c                      |   14 +-
 drivers/net/mdio/mdio-pic64hpsc.c                  |  190 +
 drivers/net/mdio/mdio-xgene.c                      |    2 +-
 drivers/net/netdevsim/Makefile                     |    2 +-
 drivers/net/netdevsim/bus.c                        |    2 +-
 drivers/net/netdevsim/dev.c                        |   23 +-
 drivers/net/netdevsim/netdev.c                     |  116 +-
 drivers/net/netdevsim/netdevsim.h                  |   15 +
 drivers/net/netdevsim/psample.c                    |    4 +-
 drivers/net/netdevsim/tc.c                         |   79 +
 drivers/net/netkit.c                               |  415 +-
 drivers/net/ntb_netdev.c                           |  542 ++-
 drivers/net/ovpn/crypto_aead.c                     |  162 +-
 drivers/net/ovpn/io.c                              |    8 +-
 drivers/net/ovpn/netlink-gen.c                     |   13 +-
 drivers/net/ovpn/netlink-gen.h                     |    6 +-
 drivers/net/ovpn/netlink.c                         |   98 +-
 drivers/net/ovpn/netlink.h                         |    2 +
 drivers/net/ovpn/peer.c                            |    9 +-
 drivers/net/ovpn/peer.h                            |    4 +-
 drivers/net/ovpn/pktid.c                           |   11 +-
 drivers/net/ovpn/pktid.h                           |    2 +-
 drivers/net/ovpn/skb.h                             |   13 +-
 drivers/net/ovpn/tcp.c                             |    2 +-
 drivers/net/ovpn/udp.c                             |    3 +-
 drivers/net/phy/Kconfig                            |    6 -
 drivers/net/phy/Makefile                           |    6 +-
 drivers/net/phy/bcm84881.c                         |  204 +-
 drivers/net/phy/broadcom.c                         |    7 +
 drivers/net/phy/mdio-private.h                     |   11 -
 drivers/net/phy/mdio_bus.c                         |  412 --
 drivers/net/phy/mdio_bus_provider.c                |  319 ++
 drivers/net/phy/mdio_device.c                      |  171 +-
 drivers/net/phy/micrel.c                           |  152 +
 drivers/net/phy/microchip.c                        |   79 +-
 drivers/net/phy/mxl-gpy.c                          |   66 +-
 drivers/net/phy/phy.c                              |   25 +-
 drivers/net/phy/phy_device.c                       |   77 +-
 drivers/net/phy/phy_package.c                      |    4 +-
 drivers/net/phy/phylib-internal.h                  |    7 +
 drivers/net/phy/phylink.c                          |   13 +-
 drivers/net/phy/qcom/at803x.c                      |    2 +-
 drivers/net/phy/realtek/Kconfig                    |    1 +
 drivers/net/phy/realtek/realtek_main.c             |  253 +-
 drivers/net/phy/sfp.c                              |    2 +
 drivers/net/phy/vitesse.c                          |   41 +
 drivers/net/ppp/Kconfig                            |   30 +-
 drivers/net/ppp/ppp_async.c                        |    2 +-
 drivers/net/ppp/ppp_generic.c                      |  279 +-
 drivers/net/ppp/ppp_synctty.c                      |    2 +-
 drivers/net/ppp/pppoe.c                            |   91 +-
 drivers/net/ppp/pppox.c                            |    3 -
 drivers/net/ppp/pptp.c                             |    6 +-
 drivers/net/pse-pd/pse_core.c                      |    2 +-
 drivers/net/team/team_core.c                       |  318 +-
 drivers/net/team/team_mode_loadbalance.c           |    8 +-
 drivers/net/team/team_mode_random.c                |    4 +-
 drivers/net/team/team_mode_roundrobin.c            |    2 +-
 drivers/net/tun.c                                  |    8 +-
 drivers/net/usb/cdc-phonet.c                       |    7 +-
 drivers/net/usb/cdc_ether.c                        |   54 +-
 drivers/net/usb/cdc_mbim.c                         |   17 +-
 drivers/net/usb/hso.c                              |   65 +-
 drivers/net/usb/ipheth.c                           |   18 +-
 drivers/net/usb/lan78xx.c                          |    9 +-
 drivers/net/usb/r8152.c                            | 2927 +++++++------
 drivers/net/virtio_net.c                           |  560 +--
 drivers/net/vmxnet3/vmxnet3_drv.c                  |    4 +-
 drivers/net/vrf.c                                  |   82 +-
 drivers/net/vxlan/vxlan_core.c                     |   15 +-
 drivers/net/vxlan/vxlan_multicast.c                |    6 +-
 drivers/net/wan/fsl_ucc_hdlc.c                     |    3 +-
 drivers/net/wireguard/allowedips.c                 |    9 +-
 drivers/net/wireguard/device.c                     |    8 +-
 drivers/net/wireguard/selftest/allowedips.c        |    2 +-
 drivers/net/wireguard/socket.c                     |    3 +-
 drivers/net/wireless/ath/ath10k/qmi.c              |   13 +-
 drivers/net/wireless/ath/ath10k/snoc.c             |    3 +
 drivers/net/wireless/ath/ath10k/snoc.h             |    1 +
 drivers/net/wireless/ath/ath10k/usb.c              |    8 +-
 drivers/net/wireless/ath/ath10k/wmi-tlv.c          |   26 +-
 drivers/net/wireless/ath/ath11k/Kconfig            |    1 -
 drivers/net/wireless/ath/ath11k/ahb.c              |   10 +-
 drivers/net/wireless/ath/ath11k/dp.c               |    2 -
 drivers/net/wireless/ath/ath11k/dp_rx.c            |   60 +-
 drivers/net/wireless/ath/ath11k/mac.c              |   36 +-
 drivers/net/wireless/ath/ath11k/peer.h             |    1 -
 drivers/net/wireless/ath/ath12k/Kconfig            |    1 -
 drivers/net/wireless/ath/ath12k/Makefile           |    1 +
 drivers/net/wireless/ath/ath12k/ahb.c              |   36 +-
 drivers/net/wireless/ath/ath12k/ahb.h              |    5 +-
 drivers/net/wireless/ath/ath12k/ce.h               |   13 +-
 drivers/net/wireless/ath/ath12k/core.c             |   27 +-
 drivers/net/wireless/ath/ath12k/core.h             |   18 +-
 drivers/net/wireless/ath/ath12k/debugfs.c          |   29 +-
 .../net/wireless/ath/ath12k/debugfs_htt_stats.c    |   72 +
 .../net/wireless/ath/ath12k/debugfs_htt_stats.h    |   26 +
 drivers/net/wireless/ath/ath12k/dp.c               |    2 -
 drivers/net/wireless/ath/ath12k/dp_htt.c           |   24 +-
 drivers/net/wireless/ath/ath12k/dp_peer.h          |    1 -
 drivers/net/wireless/ath/ath12k/dp_rx.c            |   57 +-
 drivers/net/wireless/ath/ath12k/dp_rx.h            |    6 -
 drivers/net/wireless/ath/ath12k/hal.h              |   31 +-
 drivers/net/wireless/ath/ath12k/mac.c              |   85 +-
 drivers/net/wireless/ath/ath12k/qmi.c              |    2 +-
 drivers/net/wireless/ath/ath12k/thermal.c          |  124 +
 drivers/net/wireless/ath/ath12k/thermal.h          |   40 +
 drivers/net/wireless/ath/ath12k/wifi7/ahb.c        |    8 +
 drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c     |   76 +-
 drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c      |   32 +-
 drivers/net/wireless/ath/ath12k/wifi7/hal.c        |    7 +
 drivers/net/wireless/ath/ath12k/wifi7/hal.h        |    3 +
 .../net/wireless/ath/ath12k/wifi7/hal_qcn9274.c    |   88 +
 .../net/wireless/ath/ath12k/wifi7/hal_qcn9274.h    |    1 +
 drivers/net/wireless/ath/ath12k/wifi7/hw.c         |  103 +-
 drivers/net/wireless/ath/ath12k/wmi.c              |  115 +-
 drivers/net/wireless/ath/ath12k/wmi.h              |   14 +-
 drivers/net/wireless/ath/ath6kl/cfg80211.c         |   25 +-
 drivers/net/wireless/ath/ath6kl/main.c             |    4 +-
 drivers/net/wireless/ath/ath6kl/usb.c              |   16 +-
 drivers/net/wireless/ath/ath6kl/wmi.h              |   11 -
 drivers/net/wireless/ath/ath9k/ath9k.h             |    2 +-
 drivers/net/wireless/ath/ath9k/hif_usb.c           |    4 -
 drivers/net/wireless/ath/wil6210/cfg80211.c        |   33 +-
 drivers/net/wireless/ath/wil6210/main.c            |    3 +-
 drivers/net/wireless/ath/wil6210/wmi.c             |    5 +-
 drivers/net/wireless/atmel/at76c50x-usb.c          |   34 +-
 drivers/net/wireless/broadcom/b43/dma.c            |   18 +-
 drivers/net/wireless/broadcom/b43/dma.h            |    4 +-
 drivers/net/wireless/broadcom/b43/phy_n.c          |   24 +-
 .../broadcom/brcm80211/brcmfmac/cfg80211.c         |   41 +-
 .../wireless/broadcom/brcm80211/brcmfmac/chip.c    |   15 +
 .../broadcom/brcm80211/brcmfmac/firmware.c         |   17 +-
 .../net/wireless/broadcom/brcm80211/brcmfmac/of.c  |    4 +-
 drivers/net/wireless/intel/ipw2x00/Kconfig         |    1 -
 drivers/net/wireless/intel/ipw2x00/ipw2100.c       |    2 +-
 .../wireless/intel/ipw2x00/libipw_crypto_tkip.c    |  120 +-
 drivers/net/wireless/intel/iwlegacy/3945-mac.c     |    7 +-
 drivers/net/wireless/intel/iwlegacy/3945.h         |    4 +-
 drivers/net/wireless/intel/iwlegacy/4965-mac.c     |    2 +-
 drivers/net/wireless/intel/iwlegacy/commands.h     |    9 +-
 drivers/net/wireless/intel/iwlegacy/common.h       |    4 +-
 drivers/net/wireless/intel/iwlwifi/cfg/bz.c        |    2 +-
 drivers/net/wireless/intel/iwlwifi/cfg/dr.c        |    2 +-
 drivers/net/wireless/intel/iwlwifi/cfg/sc.c        |    2 +-
 drivers/net/wireless/intel/iwlwifi/fw/acpi.c       |  132 +-
 drivers/net/wireless/intel/iwlwifi/fw/acpi.h       |   28 +-
 .../net/wireless/intel/iwlwifi/fw/api/datapath.h   |    3 +-
 .../net/wireless/intel/iwlwifi/fw/api/mac-cfg.h    |  167 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/mac.h    |    6 +-
 .../net/wireless/intel/iwlwifi/fw/api/nvm-reg.h    |   18 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/power.h  |   37 +-
 drivers/net/wireless/intel/iwlwifi/fw/api/scan.h   |   45 +
 drivers/net/wireless/intel/iwlwifi/fw/api/stats.h  |    5 +-
 drivers/net/wireless/intel/iwlwifi/fw/dbg.c        |    4 +-
 drivers/net/wireless/intel/iwlwifi/fw/dump.c       |   69 +-
 drivers/net/wireless/intel/iwlwifi/fw/file.h       |   15 +
 drivers/net/wireless/intel/iwlwifi/fw/img.c        |   32 +-
 drivers/net/wireless/intel/iwlwifi/fw/img.h        |    8 +
 drivers/net/wireless/intel/iwlwifi/fw/regulatory.c |  151 +-
 drivers/net/wireless/intel/iwlwifi/fw/regulatory.h |   14 +-
 drivers/net/wireless/intel/iwlwifi/fw/runtime.h    |   10 +-
 drivers/net/wireless/intel/iwlwifi/fw/uefi.c       |  238 +-
 drivers/net/wireless/intel/iwlwifi/fw/uefi.h       |  141 +-
 drivers/net/wireless/intel/iwlwifi/iwl-config.h    |    1 -
 drivers/net/wireless/intel/iwlwifi/iwl-drv.c       |   23 +-
 drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c |    9 +-
 drivers/net/wireless/intel/iwlwifi/iwl-trans.c     |   10 +-
 drivers/net/wireless/intel/iwlwifi/iwl-trans.h     |   20 +-
 drivers/net/wireless/intel/iwlwifi/mld/constants.h |    1 -
 drivers/net/wireless/intel/iwlwifi/mld/fw.c        |    2 +-
 drivers/net/wireless/intel/iwlwifi/mld/iface.c     |   22 +-
 drivers/net/wireless/intel/iwlwifi/mld/iface.h     |   15 +-
 drivers/net/wireless/intel/iwlwifi/mld/link.c      |    2 +-
 drivers/net/wireless/intel/iwlwifi/mld/link.h      |    2 +
 .../net/wireless/intel/iwlwifi/mld/low_latency.c   |   13 +-
 drivers/net/wireless/intel/iwlwifi/mld/mac80211.c  |   52 +-
 drivers/net/wireless/intel/iwlwifi/mld/mld.h       |    6 +-
 drivers/net/wireless/intel/iwlwifi/mld/mlo.c       |    4 +-
 drivers/net/wireless/intel/iwlwifi/mld/nan.c       |    5 +-
 drivers/net/wireless/intel/iwlwifi/mld/nan.h       |    5 +-
 drivers/net/wireless/intel/iwlwifi/mld/phy.h       |    4 +-
 drivers/net/wireless/intel/iwlwifi/mld/power.c     |    5 +-
 drivers/net/wireless/intel/iwlwifi/mld/ptp.c       |    4 +-
 .../net/wireless/intel/iwlwifi/mld/regulatory.c    |  178 +-
 .../net/wireless/intel/iwlwifi/mld/regulatory.h    |    2 +-
 drivers/net/wireless/intel/iwlwifi/mld/rx.c        |   25 +-
 drivers/net/wireless/intel/iwlwifi/mld/scan.c      |  224 +-
 drivers/net/wireless/intel/iwlwifi/mld/scan.h      |    2 +
 drivers/net/wireless/intel/iwlwifi/mld/sta.c       |   50 +-
 drivers/net/wireless/intel/iwlwifi/mld/sta.h       |    4 +-
 drivers/net/wireless/intel/iwlwifi/mld/stats.c     |   31 +-
 .../net/wireless/intel/iwlwifi/mld/tests/utils.c   |    8 +-
 drivers/net/wireless/intel/iwlwifi/mld/time_sync.c |    6 +-
 drivers/net/wireless/intel/iwlwifi/mld/tlc.c       |   78 +-
 drivers/net/wireless/intel/iwlwifi/mld/tlc.h       |    3 +
 .../net/wireless/intel/iwlwifi/mvm/ftm-initiator.c |    7 +-
 drivers/net/wireless/intel/iwlwifi/mvm/fw.c        |  157 +-
 drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c  |    7 +-
 drivers/net/wireless/intel/iwlwifi/mvm/mld-key.c   |   46 -
 drivers/net/wireless/intel/iwlwifi/mvm/mld-mac.c   |   18 +-
 .../net/wireless/intel/iwlwifi/mvm/mld-mac80211.c  |  132 -
 drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c   |  291 +-
 drivers/net/wireless/intel/iwlwifi/mvm/mvm.h       |    5 -
 drivers/net/wireless/intel/iwlwifi/mvm/ptp.c       |    4 +-
 drivers/net/wireless/intel/iwlwifi/mvm/sta.h       |    4 -
 drivers/net/wireless/intel/iwlwifi/mvm/tdls.c      |    6 +-
 drivers/net/wireless/intel/iwlwifi/mvm/time-sync.c |    6 +-
 .../intel/iwlwifi/pcie/gen1_2/trans-gen2.c         |   13 +-
 .../net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c |    2 +-
 drivers/net/wireless/marvell/libertas/cfg.c        |    8 +-
 drivers/net/wireless/marvell/libertas/if_usb.c     |   72 +-
 drivers/net/wireless/marvell/libertas/if_usb.h     |    3 +
 drivers/net/wireless/marvell/libertas_tf/if_usb.c  |   50 +-
 drivers/net/wireless/marvell/mwifiex/11n_aggr.c    |    1 +
 drivers/net/wireless/marvell/mwifiex/cfg80211.c    |   36 +-
 drivers/net/wireless/marvell/mwifiex/init.c        |    2 +-
 drivers/net/wireless/marvell/mwifiex/tdls.c        |   12 +-
 drivers/net/wireless/marvell/mwifiex/uap_event.c   |    7 +-
 drivers/net/wireless/marvell/mwifiex/usb.c         |    4 -
 drivers/net/wireless/marvell/mwl8k.c               |    4 +-
 drivers/net/wireless/mediatek/mt76/channel.c       |   39 +-
 drivers/net/wireless/mediatek/mt76/dma.c           |   33 +-
 drivers/net/wireless/mediatek/mt76/dma.h           |    4 +-
 drivers/net/wireless/mediatek/mt76/eeprom.c        |  154 +-
 drivers/net/wireless/mediatek/mt76/mac80211.c      |  230 +-
 drivers/net/wireless/mediatek/mt76/mcu.c           |    2 +-
 drivers/net/wireless/mediatek/mt76/mt76.h          |   47 +-
 drivers/net/wireless/mediatek/mt76/mt7615/mac.c    |   15 -
 drivers/net/wireless/mediatek/mt76/mt7615/main.c   |    7 +-
 drivers/net/wireless/mediatek/mt76/mt7615/mcu.c    |   47 +
 drivers/net/wireless/mediatek/mt76/mt7615/mt7615.h |    5 +-
 drivers/net/wireless/mediatek/mt76/mt7615/regs.h   |    2 -
 drivers/net/wireless/mediatek/mt76/mt76_connac.h   |   11 +-
 .../net/wireless/mediatek/mt76/mt76_connac_mac.c   |   34 +-
 .../net/wireless/mediatek/mt76/mt76_connac_mcu.c   |   46 +-
 .../net/wireless/mediatek/mt76/mt76_connac_mcu.h   |   15 +-
 drivers/net/wireless/mediatek/mt76/mt76x02_mmio.c  |    1 +
 drivers/net/wireless/mediatek/mt76/mt7915/init.c   |    1 +
 drivers/net/wireless/mediatek/mt76/mt7915/mac.c    |   13 -
 drivers/net/wireless/mediatek/mt76/mt7915/main.c   |    9 +-
 drivers/net/wireless/mediatek/mt76/mt7915/mcu.c    |   70 +-
 drivers/net/wireless/mediatek/mt76/mt7915/mcu.h    |   11 +
 drivers/net/wireless/mediatek/mt76/mt7915/mt7915.h |    4 +
 drivers/net/wireless/mediatek/mt76/mt7921/init.c   |    4 +-
 drivers/net/wireless/mediatek/mt76/mt7921/main.c   |   29 +-
 drivers/net/wireless/mediatek/mt76/mt7921/mcu.c    |    3 +
 drivers/net/wireless/mediatek/mt76/mt7921/mt7921.h |   16 +
 drivers/net/wireless/mediatek/mt76/mt7921/pci.c    |   70 +-
 .../net/wireless/mediatek/mt76/mt7921/pci_mac.c    |    6 +-
 drivers/net/wireless/mediatek/mt76/mt7921/sdio.c   |    4 +
 drivers/net/wireless/mediatek/mt76/mt7925/init.c   |    2 +
 drivers/net/wireless/mediatek/mt76/mt7925/mac.c    |   22 +-
 drivers/net/wireless/mediatek/mt76/mt7925/main.c   |  394 +-
 drivers/net/wireless/mediatek/mt76/mt7925/mcu.c    |  194 +-
 drivers/net/wireless/mediatek/mt76/mt7925/mcu.h    |    7 +
 drivers/net/wireless/mediatek/mt76/mt7925/mt7925.h |   13 +-
 drivers/net/wireless/mediatek/mt76/mt7925/regd.c   |    3 +-
 drivers/net/wireless/mediatek/mt76/mt792x.h        |    7 +
 drivers/net/wireless/mediatek/mt76/mt792x_core.c   |   14 +-
 drivers/net/wireless/mediatek/mt76/mt792x_dma.c    |   18 +-
 drivers/net/wireless/mediatek/mt76/mt792x_mac.c    |    2 +-
 drivers/net/wireless/mediatek/mt76/mt792x_regs.h   |    6 +
 drivers/net/wireless/mediatek/mt76/mt792x_usb.c    |   51 +-
 .../net/wireless/mediatek/mt76/mt7996/debugfs.c    |   36 +-
 drivers/net/wireless/mediatek/mt76/mt7996/dma.c    |  208 +-
 drivers/net/wireless/mediatek/mt76/mt7996/eeprom.c |   64 +-
 drivers/net/wireless/mediatek/mt76/mt7996/init.c   |  110 +-
 drivers/net/wireless/mediatek/mt76/mt7996/mac.c    |  165 +-
 drivers/net/wireless/mediatek/mt76/mt7996/mac.h    |    5 -
 drivers/net/wireless/mediatek/mt76/mt7996/main.c   |  439 +-
 drivers/net/wireless/mediatek/mt76/mt7996/mcu.c    |  829 +++-
 drivers/net/wireless/mediatek/mt76/mt7996/mcu.h    |  112 +-
 drivers/net/wireless/mediatek/mt76/mt7996/mt7996.h |   70 +-
 drivers/net/wireless/mediatek/mt76/mt7996/npu.c    |  469 +-
 drivers/net/wireless/mediatek/mt76/mt7996/regs.h   |   11 +
 drivers/net/wireless/mediatek/mt76/npu.c           |   37 +-
 drivers/net/wireless/mediatek/mt76/scan.c          |   70 +-
 drivers/net/wireless/mediatek/mt76/tx.c            |   34 +-
 drivers/net/wireless/mediatek/mt7601u/mcu.c        |   15 +-
 drivers/net/wireless/mediatek/mt7601u/usb.h        |    1 +
 drivers/net/wireless/microchip/wilc1000/cfg80211.c |   44 +-
 drivers/net/wireless/microchip/wilc1000/hif.c      |    8 +-
 drivers/net/wireless/quantenna/qtnfmac/cfg80211.c  |   38 +-
 drivers/net/wireless/quantenna/qtnfmac/core.c      |    4 +-
 drivers/net/wireless/quantenna/qtnfmac/event.c     |    6 +-
 drivers/net/wireless/ralink/rt2x00/rt2800lib.c     |    4 +-
 drivers/net/wireless/ralink/rt2x00/rt2x00usb.c     |   12 +-
 drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c |    4 -
 drivers/net/wireless/realtek/rtl8xxxu/core.c       |   54 +-
 drivers/net/wireless/realtek/rtlwifi/base.c        |   28 +-
 drivers/net/wireless/realtek/rtlwifi/pci.c         |    3 +-
 .../wireless/realtek/rtlwifi/rtl8192d/fw_common.c  |   12 +-
 drivers/net/wireless/realtek/rtlwifi/usb.c         |    4 -
 drivers/net/wireless/realtek/rtw88/coex.c          |   47 +-
 drivers/net/wireless/realtek/rtw88/main.c          |    6 +
 drivers/net/wireless/realtek/rtw88/main.h          |    6 +
 drivers/net/wireless/realtek/rtw88/pci.c           |   34 +-
 drivers/net/wireless/realtek/rtw88/rtw8703b.c      |    5 +
 drivers/net/wireless/realtek/rtw88/rtw8723d.c      |    5 +
 drivers/net/wireless/realtek/rtw88/rtw8821a.c      |    7 +-
 drivers/net/wireless/realtek/rtw88/rtw8821c.c      |    7 +-
 drivers/net/wireless/realtek/rtw88/rtw8822b.c      |    5 +
 drivers/net/wireless/realtek/rtw88/rtw8822c.c      |    5 +-
 drivers/net/wireless/realtek/rtw88/rx.c            |    8 +
 drivers/net/wireless/realtek/rtw88/tx.c            |    2 +-
 drivers/net/wireless/realtek/rtw88/usb.c           |    3 +-
 drivers/net/wireless/realtek/rtw89/chan.c          |   72 +-
 drivers/net/wireless/realtek/rtw89/core.c          |  155 +-
 drivers/net/wireless/realtek/rtw89/core.h          |  105 +-
 drivers/net/wireless/realtek/rtw89/debug.c         |   53 +-
 drivers/net/wireless/realtek/rtw89/efuse.c         |   23 +-
 drivers/net/wireless/realtek/rtw89/fw.c            |  161 +-
 drivers/net/wireless/realtek/rtw89/fw.h            |  134 +-
 drivers/net/wireless/realtek/rtw89/mac.c           |   69 +-
 drivers/net/wireless/realtek/rtw89/mac.h           |   34 +-
 drivers/net/wireless/realtek/rtw89/mac80211.c      |   11 +
 drivers/net/wireless/realtek/rtw89/mac_be.c        |    2 +
 drivers/net/wireless/realtek/rtw89/pci.h           |    7 +
 drivers/net/wireless/realtek/rtw89/pci_be.c        |  104 +-
 drivers/net/wireless/realtek/rtw89/phy.c           |   71 +-
 drivers/net/wireless/realtek/rtw89/phy.h           |    5 +
 drivers/net/wireless/realtek/rtw89/phy_be.c        |    2 +-
 drivers/net/wireless/realtek/rtw89/ps.c            |    2 +
 drivers/net/wireless/realtek/rtw89/reg.h           |  285 +-
 drivers/net/wireless/realtek/rtw89/rtw8851b.c      |   49 +-
 drivers/net/wireless/realtek/rtw89/rtw8851bu.c     |    1 +
 drivers/net/wireless/realtek/rtw89/rtw8852a.c      |   68 +-
 .../net/wireless/realtek/rtw89/rtw8852a_table.c    |   51 -
 .../net/wireless/realtek/rtw89/rtw8852a_table.h    |    1 -
 drivers/net/wireless/realtek/rtw89/rtw8852au.c     |    1 +
 drivers/net/wireless/realtek/rtw89/rtw8852b.c      |   41 +-
 drivers/net/wireless/realtek/rtw89/rtw8852bt.c     |   15 +-
 drivers/net/wireless/realtek/rtw89/rtw8852bu.c     |    1 +
 drivers/net/wireless/realtek/rtw89/rtw8852c.c      |   17 +-
 drivers/net/wireless/realtek/rtw89/rtw8852cu.c     |    7 +
 drivers/net/wireless/realtek/rtw89/rtw8922a.c      |   18 +-
 drivers/net/wireless/realtek/rtw89/rtw8922d.c      | 3093 +++++++++++++
 drivers/net/wireless/realtek/rtw89/rtw8922d.h      |   83 +
 drivers/net/wireless/realtek/rtw89/rtw8922d_rfk.c  |  372 ++
 drivers/net/wireless/realtek/rtw89/rtw8922d_rfk.h  |   22 +
 drivers/net/wireless/realtek/rtw89/rtw8922de.c     |  119 +
 drivers/net/wireless/realtek/rtw89/ser.c           |    4 +-
 drivers/net/wireless/realtek/rtw89/usb.c           |  107 +-
 drivers/net/wireless/realtek/rtw89/usb.h           |   15 +
 drivers/net/wireless/realtek/rtw89/util.h          |   17 +
 drivers/net/wireless/realtek/rtw89/wow.c           |    2 +
 drivers/net/wireless/realtek/rtw89/wow.h           |    7 -
 drivers/net/wireless/rsi/rsi_91x_mac80211.c        |   17 +-
 drivers/net/wireless/rsi/rsi_91x_usb.c             |    2 +
 drivers/net/wireless/rsi/rsi_common.h              |    1 +
 drivers/net/wireless/silabs/wfx/data_rx.c          |    8 +-
 drivers/net/wireless/virtual/mac80211_hwsim.c      |  240 +-
 drivers/net/wireless/virtual/mac80211_hwsim.h      |    2 +
 drivers/net/wireless/virtual/virt_wifi.c           |   12 +-
 drivers/nfc/microread/i2c.c                        |    1 -
 drivers/nfc/nfcmrvl/fw_dnld.c                      |    2 +-
 drivers/nfc/nfcmrvl/main.c                         |   47 +-
 drivers/nfc/nfcmrvl/nfcmrvl.h                      |    4 +-
 drivers/nfc/nfcmrvl/uart.c                         |   23 +-
 drivers/nfc/nfcmrvl/usb.c                          |   22 +-
 drivers/nfc/nxp-nci/firmware.c                     |    2 +-
 drivers/nfc/pn533/usb.c                            |   38 +-
 drivers/nfc/pn544/i2c.c                            |    2 +-
 drivers/nfc/port100.c                              |   31 +-
 drivers/nfc/s3fwrn5/firmware.c                     |    2 +-
 drivers/nfc/s3fwrn5/i2c.c                          |   54 +-
 drivers/nfc/s3fwrn5/phy_common.c                   |   11 +-
 drivers/nfc/s3fwrn5/phy_common.h                   |    5 +-
 drivers/nfc/s3fwrn5/uart.c                         |   43 +-
 drivers/phy/broadcom/Kconfig                       |    4 +-
 drivers/phy/qualcomm/phy-qcom-sgmii-eth.c          |   62 +-
 drivers/ptp/ptp_ocp.c                              |  365 +-
 drivers/ptp/ptp_vmw.c                              |   23 +-
 drivers/scsi/bnx2fc/Kconfig                        |    1 -
 drivers/scsi/bnx2i/Kconfig                         |    1 -
 drivers/scsi/cxgbi/cxgb3i/Kconfig                  |    2 +-
 drivers/scsi/cxgbi/cxgb4i/Kconfig                  |    2 +-
 drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c  |   33 +-
 drivers/vhost/vsock.c                              |   13 +
 fs/dlm/Kconfig                                     |    2 +-
 fs/gfs2/Kconfig                                    |    2 +-
 include/linux/atmdev.h                             |    6 +-
 include/linux/brcmphy.h                            |    3 +
 include/linux/dpll.h                               |   10 +
 include/linux/dsa/loop.h                           |   42 -
 include/linux/ethtool.h                            |   21 +-
 include/linux/filter.h                             |   15 +-
 include/linux/icmpv6.h                             |   29 +-
 include/linux/ieee80211-eht.h                      |    4 +-
 include/linux/ieee80211-ht.h                       |    3 +
 include/linux/ieee80211-nan.h                      |   44 +-
 include/linux/ieee80211-uhr.h                      |  275 +-
 include/linux/ieee80211.h                          |  100 +-
 include/linux/if_pppox.h                           |   13 +-
 include/linux/if_team.h                            |   66 +-
 include/linux/indirect_call_wrapper.h              |    2 +-
 include/linux/mdio-gpio.h                          |    9 -
 include/linux/mdio.h                               |    2 -
 include/linux/micrel_phy.h                         |    1 +
 include/linux/microchipphy.h                       |    5 +
 include/linux/mlx5/device.h                        |   10 +
 include/linux/mlx5/driver.h                        |    4 +-
 include/linux/mlx5/fs.h                            |   10 +-
 include/linux/mlx5/lag.h                           |   21 +
 include/linux/mlx5/mlx5_ifc.h                      |   64 +-
 include/linux/mmc/sdio_ids.h                       |    1 +
 include/linux/mroute_base.h                        |    9 +-
 include/linux/net.h                                |   26 +
 include/linux/netdevice.h                          |   29 +-
 include/linux/netfilter/nf_conntrack_amanda.h      |   15 +-
 include/linux/netfilter/nf_conntrack_ftp.h         |   17 +-
 include/linux/netfilter/nf_conntrack_irc.h         |   15 +-
 include/linux/netfilter/nf_conntrack_snmp.h        |   11 +-
 include/linux/netfilter/nf_conntrack_tftp.h        |    9 +-
 include/linux/netfilter_ipv6.h                     |  102 +-
 include/linux/of_gpio.h                            |   38 -
 include/linux/phy.h                                |   19 +-
 include/linux/platform_data/dsa.h                  |   40 -
 include/linux/platform_data/mdio-gpio.h            |   14 -
 include/linux/ppp_channel.h                        |    6 +-
 include/linux/ptr_ring.h                           |    8 +-
 include/linux/rculist_bl.h                         |   49 +-
 include/linux/skbuff.h                             |   70 +-
 include/linux/socket.h                             |    2 +-
 include/linux/stmmac.h                             |  124 +-
 include/linux/tcp.h                                |   14 +-
 include/linux/udp.h                                |   10 +-
 include/net/af_vsock.h                             |    9 +
 include/net/bluetooth/hci.h                        |   16 +-
 include/net/bonding.h                              |   13 +-
 include/net/cfg80211.h                             |  328 +-
 include/net/codel_impl.h                           |   45 +-
 include/net/devlink.h                              |   20 +-
 include/net/dropreason-core.h                      |   66 +-
 include/net/dropreason-qdisc.h                     |  114 +
 include/net/dropreason.h                           |    6 +
 include/net/dsa.h                                  |   16 +
 include/net/hotdata.h                              |    5 +-
 include/net/inet6_connection_sock.h                |    4 +-
 include/net/inet6_hashtables.h                     |    2 +
 include/net/inet_common.h                          |    3 +-
 include/net/inet_connection_sock.h                 |    3 +-
 include/net/inet_hashtables.h                      |    1 -
 include/net/ip.h                                   |   10 +-
 include/net/ip6_checksum.h                         |    2 -
 include/net/ip6_fib.h                              |   35 +-
 include/net/ip6_route.h                            |   41 +-
 include/net/ip6_tunnel.h                           |    2 +-
 include/net/ip_vs.h                                |  404 +-
 include/net/ipv6.h                                 |   20 +-
 include/net/ipv6_stubs.h                           |  102 -
 include/net/mac80211.h                             |  176 +-
 include/net/mana/gdma.h                            |   20 +-
 include/net/mana/mana.h                            |   18 +-
 include/net/mctp.h                                 |    1 +
 include/net/ndisc.h                                |   31 +-
 include/net/netdev_queues.h                        |   23 +-
 include/net/netdev_rx_queue.h                      |   27 +-
 include/net/netfilter/ipv4/nf_conntrack_ipv4.h     |    3 -
 include/net/netfilter/nf_conntrack_l4proto.h       |    7 -
 include/net/netfilter/nf_tables.h                  |   36 +-
 include/net/netfilter/nf_tables_ipv4.h             |   17 +-
 include/net/netfilter/nf_tables_ipv6.h             |   16 +-
 include/net/netfilter/nf_tables_offload.h          |   10 +
 include/net/netfilter/nft_fib.h                    |    2 -
 include/net/netfilter/nft_meta.h                   |    3 -
 include/net/netlink.h                              |   19 +
 include/net/netmem.h                               |   38 +-
 include/net/netns/ipv4.h                           |    9 +-
 include/net/netns/ipv6.h                           |    2 +-
 include/net/netns/mib.h                            |    5 -
 include/net/netns/vsock.h                          |    2 +
 include/net/page_pool/memory_provider.h            |    8 +-
 include/net/page_pool/types.h                      |   11 +-
 include/net/ping.h                                 |    5 +-
 include/net/rps-types.h                            |   24 +
 include/net/rps.h                                  |   49 +-
 include/net/sch_generic.h                          |   61 +-
 include/net/sock.h                                 |   34 +-
 include/net/switchdev.h                            |    1 +
 include/net/tc_wrapper.h                           |   47 +-
 include/net/tcp.h                                  |  120 +-
 include/net/transp_v6.h                            |    3 -
 include/net/tso.h                                  |  100 +
 include/net/udp.h                                  |   89 +-
 include/net/udp_tunnel.h                           |    3 +-
 include/net/udplite.h                              |   88 -
 include/net/xsk_buff_pool.h                        |    7 -
 include/trace/events/devlink.h                     |   36 +-
 include/trace/events/mptcp.h                       |    2 +-
 include/trace/events/qdisc.h                       |   51 +
 include/uapi/linux/devlink.h                       |   15 +
 include/uapi/linux/dpll.h                          |    5 +-
 include/uapi/linux/ethtool.h                       |    2 +-
 include/uapi/linux/ethtool_netlink_generated.h     |    3 +
 include/uapi/linux/if_link.h                       |   47 +
 include/uapi/linux/if_pppox.h                      |   14 +-
 include/uapi/linux/inet_diag.h                     |    9 +
 include/uapi/linux/mii.h                           |    3 +-
 include/uapi/linux/netdev.h                        |   11 +
 include/uapi/linux/netfilter/nf_tables.h           |    6 +-
 include/uapi/linux/nfc.h                           |    6 +-
 include/uapi/linux/nl80211.h                       |  272 +-
 include/uapi/linux/openvswitch.h                   |   76 +-
 include/uapi/linux/ovpn.h                          |    2 +
 include/uapi/linux/seg6_iptunnel.h                 |    1 +
 include/uapi/linux/udp.h                           |    2 +
 io_uring/zcrx.c                                    |   12 +-
 net/atm/pppoatm.c                                  |    2 +-
 net/bluetooth/hci_conn.c                           |    4 +-
 net/bluetooth/hci_core.c                           |    4 +-
 net/bluetooth/hci_event.c                          |   21 +-
 net/bluetooth/hci_sync.c                           |    2 +-
 net/bluetooth/l2cap_core.c                         |   15 +-
 net/bluetooth/sco.c                                |    3 +-
 net/bridge/Kconfig                                 |    1 -
 net/bridge/br_arp_nd_proxy.c                       |    3 +-
 net/bridge/br_device.c                             |    1 +
 net/bridge/br_netfilter_hooks.c                    |   12 +-
 net/bridge/br_netfilter_ipv6.c                     |    7 +-
 net/bridge/br_netlink.c                            |   24 +-
 net/bridge/br_private.h                            |   12 +
 net/bridge/br_stp_if.c                             |   19 +-
 net/bridge/br_switchdev.c                          |   15 +
 net/bridge/br_vlan.c                               |    7 +-
 net/bridge/netfilter/nft_meta_bridge.c             |   20 -
 net/bridge/netfilter/nft_reject_bridge.c           |    1 -
 net/caif/cfsrvl.c                                  |   14 +-
 net/can/bcm.c                                      |    5 +-
 net/can/isotp.c                                    |    3 +-
 net/can/j1939/socket.c                             |    3 +-
 net/can/raw.c                                      |   42 +-
 net/core/dev.c                                     |  289 +-
 net/core/dev.h                                     |   21 +-
 net/core/devmem.c                                  |    6 +-
 net/core/failover.c                                |   14 +-
 net/core/fib_notifier.c                            |    1 +
 net/core/filter.c                                  |  163 +-
 net/core/hotdata.c                                 |    1 -
 net/core/link_watch.c                              |    2 +-
 net/core/lwt_bpf.c                                 |   10 +-
 net/core/neighbour.c                               |    1 -
 net/core/net-sysfs.c                               |   87 +-
 net/core/net-sysfs.h                               |    1 +
 net/core/net_namespace.c                           |    2 +-
 net/core/netdev-genl-gen.c                         |   20 +
 net/core/netdev-genl-gen.h                         |    2 +
 net/core/netdev-genl.c                             |  269 +-
 net/core/netdev_queues.c                           |  113 +-
 net/core/netdev_rx_queue.c                         |  182 +-
 net/core/scm.c                                     |   12 +-
 net/core/skbuff.c                                  |   59 +-
 net/core/sock.c                                    |   84 +-
 net/core/sock_diag.c                               |    3 +-
 net/core/sysctl_net_core.c                         |  117 +-
 net/core/tso.c                                     |  269 ++
 net/devlink/Makefile                               |    2 +-
 net/devlink/core.c                                 |   91 +-
 net/devlink/dev.c                                  |    8 +-
 net/devlink/devl_internal.h                        |   39 +-
 net/devlink/netlink.c                              |   54 +-
 net/devlink/netlink_gen.c                          |  377 +-
 net/devlink/netlink_gen.h                          |    8 +-
 net/devlink/port.c                                 |   21 +-
 net/devlink/resource.c                             |  318 +-
 net/devlink/sh_dev.c                               |  161 +
 net/dns_resolver/dns_key.c                         |   16 +-
 net/dns_resolver/dns_query.c                       |   14 +-
 net/dns_resolver/internal.h                        |   14 +-
 net/dsa/tag_mxl862xx.c                             |    3 +
 net/dsa/tag_rtl8_4.c                               |   21 +-
 net/ethtool/bitset.c                               |    3 +-
 net/ethtool/bitset.h                               |    3 +
 net/ethtool/cabletest.c                            |    3 +-
 net/ethtool/channels.c                             |   30 +-
 net/ethtool/coalesce.c                             |   17 +-
 net/ethtool/common.c                               |  185 +-
 net/ethtool/debug.c                                |    4 +-
 net/ethtool/eee.c                                  |    4 +-
 net/ethtool/eeprom.c                               |   15 +-
 net/ethtool/features.c                             |    4 +-
 net/ethtool/fec.c                                  |    4 +-
 net/ethtool/ioctl.c                                |   31 +-
 net/ethtool/linkinfo.c                             |    2 +-
 net/ethtool/linkmodes.c                            |    4 +-
 net/ethtool/linkstate.c                            |    5 +-
 net/ethtool/module.c                               |    4 +-
 net/ethtool/mse.c                                  |    2 +-
 net/ethtool/netlink.c                              |    6 +-
 net/ethtool/netlink.h                              |    1 +
 net/ethtool/pause.c                                |    7 +-
 net/ethtool/phc_vclocks.c                          |    2 +-
 net/ethtool/phy.c                                  |    6 +-
 net/ethtool/plca.c                                 |    2 +-
 net/ethtool/privflags.c                            |    4 +-
 net/ethtool/pse-pd.c                               |    7 +-
 net/ethtool/rings.c                                |    2 +-
 net/ethtool/rss.c                                  |   30 +-
 net/ethtool/stats.c                                |    5 +-
 net/ethtool/strset.c                               |    7 +-
 net/ethtool/tsconfig.c                             |    6 +-
 net/ethtool/tsinfo.c                               |    8 +-
 net/ethtool/wol.c                                  |    4 +-
 net/hsr/hsr_device.c                               |    6 +-
 net/hsr/hsr_forward.c                              |    2 +-
 net/hsr/hsr_framereg.c                             |    4 +-
 net/hsr/hsr_main.c                                 |    2 +-
 net/hsr/hsr_main.h                                 |    2 +-
 net/hsr/hsr_slave.c                                |    6 +-
 net/ieee802154/socket.c                            |    6 +-
 net/ipv4/Kconfig                                   |    9 +-
 net/ipv4/Makefile                                  |    2 +-
 net/ipv4/af_inet.c                                 |   34 +-
 net/ipv4/bpf_tcp_ca.c                              |    5 +
 net/ipv4/devinet.c                                 |   55 +-
 net/ipv4/fib_semantics.c                           |   16 +-
 net/ipv4/fou_core.c                                |    3 +-
 net/ipv4/gre_demux.c                               |    8 +-
 net/ipv4/icmp.c                                    |   18 +-
 net/ipv4/inet_connection_sock.c                    |    4 -
 net/ipv4/inet_diag.c                               |   13 +-
 net/ipv4/inet_hashtables.c                         |   84 +-
 net/ipv4/inetpeer.c                                |    7 +-
 net/ipv4/ip_gre.c                                  |    1 +
 net/ipv4/ip_input.c                                |   39 +
 net/ipv4/ip_sockglue.c                             |    4 +-
 net/ipv4/ip_tunnel_core.c                          |    6 +-
 net/ipv4/ipmr.c                                    |  265 +-
 net/ipv4/ipmr_base.c                               |   18 +-
 net/ipv4/metrics.c                                 |    1 -
 net/ipv4/netfilter.c                               |    3 +-
 net/ipv4/netfilter/nft_dup_ipv4.c                  |    1 -
 net/ipv4/netfilter/nft_fib_ipv4.c                  |    2 -
 net/ipv4/netfilter/nft_reject_ipv4.c               |    1 -
 net/ipv4/nexthop.c                                 |   28 +-
 net/ipv4/ping.c                                    |   28 +-
 net/ipv4/proc.c                                    |   16 -
 net/ipv4/raw.c                                     |    9 +-
 net/ipv4/route.c                                   |    4 +-
 net/ipv4/syncookies.c                              |    6 +-
 net/ipv4/sysctl_net_ipv4.c                         |    7 +
 net/ipv4/tcp.c                                     |  151 +-
 net/ipv4/tcp_bbr.c                                 |    9 +-
 net/ipv4/tcp_bpf.c                                 |   17 +-
 net/ipv4/tcp_cubic.c                               |   31 +-
 net/ipv4/tcp_dctcp.c                               |   12 +-
 net/ipv4/tcp_dctcp.h                               |    1 +
 net/ipv4/tcp_diag.c                                |    4 +-
 net/ipv4/tcp_fastopen.c                            |    2 +-
 net/ipv4/tcp_input.c                               |   79 +-
 net/ipv4/tcp_ipv4.c                                |  109 +-
 net/ipv4/tcp_minisocks.c                           |    5 +-
 net/ipv4/tcp_output.c                              |   83 +-
 net/ipv4/tcp_plb.c                                 |    1 +
 net/ipv4/tcp_timer.c                               |    1 -
 net/ipv4/tcp_vegas.c                               |   10 +-
 net/ipv4/tcp_vegas.h                               |    1 +
 net/ipv4/tcp_veno.c                                |    8 +-
 net/ipv4/tcp_yeah.c                                |    1 +
 net/ipv4/udp.c                                     |  494 +--
 net/ipv4/udp_bpf.c                                 |   18 +-
 net/ipv4/udp_diag.c                                |  128 +-
 net/ipv4/udp_impl.h                                |   28 -
 net/ipv4/udp_offload.c                             |    7 +-
 net/ipv4/udplite.c                                 |  135 -
 net/ipv6/Kconfig                                   |    6 +-
 net/ipv6/Makefile                                  |    2 +-
 net/ipv6/addrconf.c                                |   31 +-
 net/ipv6/addrconf_core.c                           |   91 -
 net/ipv6/af_inet6.c                                |  109 +-
 net/ipv6/datagram.c                                |    9 +-
 net/ipv6/fib6_notifier.c                           |    1 +
 net/ipv6/fib6_rules.c                              |    3 +
 net/ipv6/fou6.c                                    |    3 +-
 net/ipv6/icmp.c                                    |    6 -
 net/ipv6/ila/ila_common.c                          |    1 +
 net/ipv6/inet6_connection_sock.c                   |   19 +-
 net/ipv6/inet6_hashtables.c                        |   51 +-
 net/ipv6/ip6_checksum.c                            |   49 +-
 net/ipv6/ip6_fib.c                                 |   13 +-
 net/ipv6/ip6_gre.c                                 |    1 +
 net/ipv6/ip6_icmp.c                                |   46 +-
 net/ipv6/ip6_input.c                               |   40 +
 net/ipv6/ip6_offload.c                             |    4 +-
 net/ipv6/ip6_output.c                              |   29 +
 net/ipv6/ip6_tunnel.c                              |    9 +-
 net/ipv6/ip6_udp_tunnel.c                          |    3 +-
 net/ipv6/ip6mr.c                                   |    4 +-
 net/ipv6/ipv6_sockglue.c                           |   17 +-
 net/ipv6/ndisc.c                                   |    1 +
 net/ipv6/netfilter.c                               |   51 +-
 net/ipv6/netfilter/ip6t_eui64.c                    |    7 +-
 net/ipv6/netfilter/nft_dup_ipv6.c                  |    1 -
 net/ipv6/netfilter/nft_fib_ipv6.c                  |   81 +-
 net/ipv6/netfilter/nft_reject_ipv6.c               |    1 -
 net/ipv6/output_core.c                             |   23 -
 net/ipv6/ping.c                                    |    3 +-
 net/ipv6/proc.c                                    |   16 -
 net/ipv6/raw.c                                     |   11 +-
 net/ipv6/reassembly.c                              |    6 +
 net/ipv6/route.c                                   |   12 +-
 net/ipv6/seg6_iptunnel.c                           |  104 +-
 net/ipv6/sit.c                                     |   13 +-
 net/ipv6/tcp_ipv6.c                                |   75 +-
 net/ipv6/udp.c                                     |  346 +-
 net/ipv6/udp_impl.h                                |   32 -
 net/ipv6/udp_offload.c                             |    3 +-
 net/ipv6/udplite.c                                 |  139 -
 net/iucv/af_iucv.c                                 |   12 +-
 net/iucv/iucv.c                                    |    6 +
 net/l2tp/Kconfig                                   |    1 -
 net/l2tp/l2tp_eth.c                                |    5 +-
 net/l2tp/l2tp_ip.c                                 |    4 +-
 net/l2tp/l2tp_ip6.c                                |    6 +-
 net/l2tp/l2tp_ppp.c                                |   15 +-
 net/mac80211/Makefile                              |    3 +-
 net/mac80211/agg-rx.c                              |   49 +-
 net/mac80211/agg-tx.c                              |   42 +-
 net/mac80211/cfg.c                                 |  366 +-
 net/mac80211/chan.c                                |  421 +-
 net/mac80211/debugfs.c                             |    1 +
 net/mac80211/driver-ops.h                          |   21 +
 net/mac80211/eht.c                                 |   21 +-
 net/mac80211/he.c                                  |   40 +-
 net/mac80211/ht.c                                  |   62 +-
 net/mac80211/ibss.c                                |   24 +-
 net/mac80211/ieee80211_i.h                         |   72 +-
 net/mac80211/iface.c                               |  156 +-
 net/mac80211/link.c                                |   45 +-
 net/mac80211/main.c                                |   32 +-
 net/mac80211/mesh.c                                |   14 +-
 net/mac80211/mesh_hwmp.c                           |   20 +-
 net/mac80211/mesh_plink.c                          |   26 +-
 net/mac80211/mesh_sync.c                           |    2 +-
 net/mac80211/michael.h                             |   22 -
 net/mac80211/mlme.c                                |  220 +-
 net/mac80211/nan.c                                 |  710 +++
 net/mac80211/rc80211_minstrel_ht.c                 |   15 +-
 net/mac80211/rx.c                                  |  200 +-
 net/mac80211/s1g.c                                 |   36 +-
 net/mac80211/scan.c                                |    2 +-
 net/mac80211/spectmgmt.c                           |   31 +-
 net/mac80211/sta_info.c                            |   33 +-
 net/mac80211/sta_info.h                            |    6 +-
 net/mac80211/tdls.c                                |   29 +-
 net/mac80211/trace.h                               |  130 +-
 net/mac80211/tx.c                                  |  129 +-
 net/mac80211/util.c                                |  152 +-
 net/mac80211/vht.c                                 |   57 +-
 net/mac80211/wpa.c                                 |   56 +-
 net/mctp/route.c                                   |  112 +-
 net/mctp/test/route-test.c                         |  184 +-
 net/mctp/test/utils.c                              |   27 +
 net/mctp/test/utils.h                              |    1 +
 net/mpls/af_mpls.c                                 |    6 +-
 net/mptcp/options.c                                |    6 +-
 net/mptcp/protocol.c                               |  116 +-
 net/mptcp/protocol.h                               |   40 +-
 net/mptcp/subflow.c                                |    5 +-
 net/netfilter/Kconfig                              |   19 -
 net/netfilter/core.c                               |    6 +-
 net/netfilter/ipset/ip_set_bitmap_ipmac.c          |    5 +-
 net/netfilter/ipset/ip_set_core.c                  |    2 +-
 net/netfilter/ipset/ip_set_hash_ipmac.c            |    9 +-
 net/netfilter/ipset/ip_set_hash_mac.c              |    5 +-
 net/netfilter/ipvs/ip_vs_conn.c                    | 1055 +++--
 net/netfilter/ipvs/ip_vs_core.c                    |  181 +-
 net/netfilter/ipvs/ip_vs_ctl.c                     | 1228 ++++--
 net/netfilter/ipvs/ip_vs_est.c                     |   18 +-
 net/netfilter/ipvs/ip_vs_pe_sip.c                  |    4 +-
 net/netfilter/ipvs/ip_vs_sync.c                    |   23 +
 net/netfilter/ipvs/ip_vs_xmit.c                    |   12 +-
 net/netfilter/nf_conntrack_amanda.c                |   10 +-
 net/netfilter/nf_conntrack_core.c                  |    8 -
 net/netfilter/nf_conntrack_ftp.c                   |   10 +-
 net/netfilter/nf_conntrack_h323_asn1.c             |   45 +-
 net/netfilter/nf_conntrack_irc.c                   |   10 +-
 net/netfilter/nf_conntrack_netlink.c               |    4 +-
 net/netfilter/nf_conntrack_proto.c                 |    3 -
 net/netfilter/nf_conntrack_proto_udp.c             |  108 -
 net/netfilter/nf_conntrack_sip.c                   |    3 +-
 net/netfilter/nf_conntrack_snmp.c                  |    7 +-
 net/netfilter/nf_conntrack_standalone.c            |    2 -
 net/netfilter/nf_conntrack_tftp.c                  |    7 +-
 net/netfilter/nf_dup_netdev.c                      |    5 +-
 net/netfilter/nf_flow_table_offload.c              |    1 +
 net/netfilter/nf_log_syslog.c                      |   24 +-
 net/netfilter/nf_nat_core.c                        |    6 -
 net/netfilter/nf_nat_masquerade.c                  |   21 +-
 net/netfilter/nf_nat_proto.c                       |   20 -
 net/netfilter/nf_queue.c                           |    1 +
 net/netfilter/nf_tables_api.c                      |   98 +-
 net/netfilter/nf_tables_core.c                     |    2 +-
 net/netfilter/nfnetlink.c                          |    4 +-
 net/netfilter/nfnetlink_acct.c                     |    2 +-
 net/netfilter/nfnetlink_cthelper.c                 |    2 +-
 net/netfilter/nfnetlink_cttimeout.c                |    1 -
 net/netfilter/nfnetlink_hook.c                     |    2 +-
 net/netfilter/nfnetlink_log.c                      |   42 +-
 net/netfilter/nfnetlink_osf.c                      |    2 +-
 net/netfilter/nfnetlink_queue.c                    |   73 +-
 net/netfilter/nft_bitwise.c                        |  110 +-
 net/netfilter/nft_byteorder.c                      |   15 +-
 net/netfilter/nft_chain_filter.c                   |    1 +
 net/netfilter/nft_cmp.c                            |    5 +-
 net/netfilter/nft_compat.c                         |   12 +-
 net/netfilter/nft_connlimit.c                      |    3 +-
 net/netfilter/nft_counter.c                        |    1 -
 net/netfilter/nft_ct.c                             |   53 +-
 net/netfilter/nft_dup_netdev.c                     |    1 -
 net/netfilter/nft_dynset.c                         |    4 +-
 net/netfilter/nft_exthdr.c                         |   43 +-
 net/netfilter/nft_fib.c                            |   44 +-
 net/netfilter/nft_fib_inet.c                       |    1 -
 net/netfilter/nft_fib_netdev.c                     |    1 -
 net/netfilter/nft_flow_offload.c                   |    1 -
 net/netfilter/nft_fwd_netdev.c                     |   12 +-
 net/netfilter/nft_hash.c                           |   40 +-
 net/netfilter/nft_immediate.c                      |   18 +-
 net/netfilter/nft_inner.c                          |    2 +-
 net/netfilter/nft_last.c                           |    1 -
 net/netfilter/nft_limit.c                          |    4 +-
 net/netfilter/nft_log.c                            |    3 +-
 net/netfilter/nft_lookup.c                         |   16 +-
 net/netfilter/nft_masq.c                           |    3 -
 net/netfilter/nft_meta.c                           |  126 +-
 net/netfilter/nft_nat.c                            |    2 -
 net/netfilter/nft_numgen.c                         |   24 +-
 net/netfilter/nft_objref.c                         |    4 +-
 net/netfilter/nft_osf.c                            |   29 +-
 net/netfilter/nft_payload.c                        |   55 +-
 net/netfilter/nft_queue.c                          |    4 +-
 net/netfilter/nft_quota.c                          |    3 +-
 net/netfilter/nft_range.c                          |    3 +-
 net/netfilter/nft_redir.c                          |    3 -
 net/netfilter/nft_reject_inet.c                    |    1 -
 net/netfilter/nft_reject_netdev.c                  |    1 -
 net/netfilter/nft_rt.c                             |    3 +-
 net/netfilter/nft_set_pipapo.c                     |    4 +-
 net/netfilter/nft_set_pipapo.h                     |    3 -
 net/netfilter/nft_set_pipapo_avx2.c                |   32 +-
 net/netfilter/nft_set_rbtree.c                     |   23 +-
 net/netfilter/nft_socket.c                         |   28 +-
 net/netfilter/nft_synproxy.c                       |    5 +-
 net/netfilter/nft_tproxy.c                         |    1 -
 net/netfilter/nft_tunnel.c                         |   32 +-
 net/netfilter/nft_xfrm.c                           |   33 +-
 net/netfilter/utils.c                              |    1 -
 net/netfilter/x_tables.c                           |   12 +-
 net/netfilter/xt_connbytes.c                       |    3 +-
 net/netfilter/xt_connlimit.c                       |    3 +-
 net/netfilter/xt_dccp.c                            |    3 +
 net/netfilter/xt_hl.c                              |   27 +
 net/netfilter/xt_mac.c                             |    4 +-
 net/netfilter/xt_owner.c                           |   28 +-
 net/netfilter/xt_physdev.c                         |   22 +
 net/netfilter/xt_socket.c                          |   23 +-
 net/netfilter/xt_time.c                            |    3 +-
 net/netlink/af_netlink.c                           |    4 +-
 net/netlink/genetlink.c                            |   20 +-
 net/netlink/policy.c                               |    4 +-
 net/nfc/digital_technology.c                       |    6 +
 net/nfc/llcp_core.c                                |    2 +
 net/openvswitch/actions.c                          |    3 +-
 net/openvswitch/flow_table.c                       |    2 +-
 net/packet/af_packet.c                             |   15 +-
 net/phonet/datagram.c                              |    4 +-
 net/phonet/pep.c                                   |    2 +-
 net/psp/psp_main.c                                 |    2 +-
 net/psp/psp_sock.c                                 |    1 -
 net/qrtr/af_qrtr.c                                 |    4 +-
 net/qrtr/ns.c                                      |   79 +-
 net/rds/af_rds.c                                   |   10 +-
 net/rds/ib.c                                       |   24 +-
 net/rds/ib.h                                       |    1 +
 net/rds/ib_rdma.c                                  |    2 +-
 net/rds/send.c                                     |    2 +-
 net/rose/rose_in.c                                 |   10 +-
 net/rxrpc/Kconfig                                  |    2 +-
 net/rxrpc/output.c                                 |    2 -
 net/sched/act_ct.c                                 |    8 +-
 net/sched/cls_flower.c                             |   12 +-
 net/sched/cls_fw.c                                 |    6 +-
 net/sched/cls_u32.c                                |    5 +-
 net/sched/sch_api.c                                |    5 +-
 net/sched/sch_cake.c                               |   26 +-
 net/sched/sch_codel.c                              |   27 +-
 net/sched/sch_dualpi2.c                            |   18 +-
 net/sched/sch_fq.c                                 |   10 +-
 net/sched/sch_fq_codel.c                           |    4 +-
 net/sched/sch_fq_pie.c                             |    4 +-
 net/sched/sch_frag.c                               |    4 +-
 net/sched/sch_generic.c                            |   51 +-
 net/sched/sch_gred.c                               |    4 +-
 net/sched/sch_htb.c                                |    4 +-
 net/sched/sch_mq.c                                 |    2 +-
 net/sched/sch_mqprio.c                             |    2 +-
 net/sched/sch_pie.c                                |    4 +-
 net/sched/sch_red.c                                |    4 +-
 net/sched/sch_sfb.c                                |    4 +-
 net/sched/sch_sfq.c                                |    8 +-
 net/sched/sch_taprio.c                             |    2 +-
 net/sctp/Kconfig                                   |    1 -
 net/sctp/inqueue.c                                 |    1 +
 net/sctp/ipv6.c                                    |    2 +
 net/sctp/protocol.c                                |    2 +
 net/sctp/sm_make_chunk.c                           |    4 +-
 net/sctp/socket.c                                  |   12 +-
 net/socket.c                                       |  105 +-
 net/strparser/strparser.c                          |    8 +
 net/switchdev/switchdev.c                          |    2 +-
 net/tipc/Kconfig                                   |    1 -
 net/tipc/node.c                                    |    2 +-
 net/tipc/udp_media.c                               |    9 +-
 net/tls/Kconfig                                    |    1 -
 net/tls/tls.h                                      |    2 +-
 net/tls/tls_device_fallback.c                      |    3 -
 net/tls/tls_sw.c                                   |    3 +-
 net/unix/af_unix.c                                 |    4 +-
 net/unix/unix_bpf.c                                |    2 +-
 net/vmw_vsock/af_vsock.c                           |   60 +-
 net/vmw_vsock/hyperv_transport.c                   |    2 +-
 net/vmw_vsock/virtio_transport.c                   |    7 +
 net/vmw_vsock/virtio_transport_common.c            |    2 -
 net/vmw_vsock/vsock_bpf.c                          |    2 +-
 net/wireless/Makefile                              |    2 +-
 net/wireless/chan.c                                |  145 +-
 net/wireless/core.c                                |  131 +-
 net/wireless/core.h                                |   14 +
 net/wireless/ibss.c                                |    4 +-
 net/{mac80211/michael.c => wireless/michael-mic.c} |    6 +-
 net/wireless/mlme.c                                |   64 +-
 net/wireless/nl80211.c                             | 1215 +++++-
 net/wireless/nl80211.h                             |    5 +-
 net/wireless/of.c                                  |   13 +-
 net/wireless/pmsr.c                                |    5 +-
 net/wireless/radiotap.c                            |   10 +-
 net/wireless/rdev-ops.h                            |   94 +-
 net/wireless/reg.c                                 |   40 +-
 net/wireless/reg.h                                 |   13 +-
 net/wireless/sme.c                                 |    4 +-
 net/wireless/sysfs.c                               |   36 +-
 net/wireless/trace.c                               |    1 +
 net/wireless/trace.h                               |  290 +-
 net/wireless/util.c                                |   32 +-
 net/wireless/wext-compat.c                         |   12 +-
 net/wireless/wext-core.c                           |    3 +-
 net/wireless/wext-priv.c                           |    3 +-
 net/wireless/wext-proc.c                           |    3 +-
 net/xdp/xsk.c                                      |   90 +-
 net/xdp/xsk.h                                      |    7 -
 net/xfrm/espintcp.c                                |    7 +-
 net/xfrm/xfrm_algo.c                               |   20 -
 net/xfrm/xfrm_nat_keepalive.c                      |    4 +-
 net/xfrm/xfrm_output.c                             |    3 +-
 net/xfrm/xfrm_policy.c                             |    2 +-
 security/smack/smack_lsm.c                         |    4 +-
 tools/include/uapi/linux/netdev.h                  |   11 +
 tools/net/ynl/Makefile                             |    4 +-
 tools/net/ynl/pyynl/cli.py                         |   14 +-
 tools/net/ynl/pyynl/lib/__init__.py                |    5 +-
 tools/net/ynl/pyynl/lib/ynl.py                     |  289 +-
 tools/net/ynl/samples/Makefile                     |   36 -
 tools/net/ynl/samples/devlink.c                    |   61 -
 tools/net/ynl/samples/ethtool.c                    |   65 -
 tools/net/ynl/samples/netdev.c                     |  128 -
 tools/net/ynl/samples/ovs.c                        |   60 -
 tools/net/ynl/samples/rt-addr.c                    |   80 -
 tools/net/ynl/samples/rt-link.c                    |  184 -
 tools/net/ynl/samples/rt-route.c                   |   80 -
 tools/net/ynl/samples/tc-filter-add.c              |  335 --
 tools/net/ynl/samples/tc.c                         |   80 -
 tools/net/ynl/{samples => tests}/.gitignore        |    4 +-
 tools/net/ynl/tests/Makefile                       |   97 +-
 tools/net/ynl/tests/config                         |    8 +
 tools/net/ynl/tests/devlink.c                      |  101 +
 tools/net/ynl/tests/devlink.sh                     |    5 +
 tools/net/ynl/tests/ethtool.c                      |   92 +
 tools/net/ynl/{pyynl => tests}/ethtool.py          |   79 +-
 tools/net/ynl/tests/ethtool.sh                     |    5 +
 tools/net/ynl/tests/netdev.c                       |  231 +
 tools/net/ynl/tests/ovs.c                          |  108 +
 tools/net/ynl/tests/rt-addr.c                      |  111 +
 tools/net/ynl/tests/rt-addr.sh                     |    5 +
 tools/net/ynl/tests/rt-link.c                      |  206 +
 tools/net/ynl/tests/rt-route.c                     |  113 +
 tools/net/ynl/tests/rt-route.sh                    |    5 +
 tools/net/ynl/tests/tc.c                           |  409 ++
 tools/net/ynl/tests/test_ynl_ethtool.sh            |    2 +-
 tools/net/ynl/tests/wireguard.c                    |  106 +
 tools/net/ynl/tests/ynl_nsim_lib.sh                |   35 +
 tools/testing/selftests/Makefile                   |    1 +
 .../selftests/bpf/prog_tests/sock_ops_get_sk.c     |   76 +
 .../selftests/bpf/prog_tests/test_dst_clear.c      |   55 +
 .../testing/selftests/bpf/prog_tests/xdp_bonding.c |   96 +-
 tools/testing/selftests/bpf/progs/bpf_cc_cubic.c   |    8 +-
 tools/testing/selftests/bpf/progs/bpf_cubic.c      |   29 +-
 .../testing/selftests/bpf/progs/sock_ops_get_sk.c  |  117 +
 tools/testing/selftests/bpf/progs/tcp_ca_kfunc.c   |   16 +-
 tools/testing/selftests/bpf/progs/test_dst_clear.c |   57 +
 tools/testing/selftests/drivers/net/.gitignore     |    1 -
 tools/testing/selftests/drivers/net/Makefile       |    2 +-
 tools/testing/selftests/drivers/net/README.rst     |  165 +-
 .../testing/selftests/drivers/net/bonding/Makefile |    1 +
 .../net/bonding/bond_stacked_header_parse.sh       |   72 +
 tools/testing/selftests/drivers/net/bonding/config |    1 +
 tools/testing/selftests/drivers/net/config         |    2 +
 tools/testing/selftests/drivers/net/gro.py         |  210 +-
 tools/testing/selftests/drivers/net/hw/Makefile    |    7 +
 tools/testing/selftests/drivers/net/hw/config      |    5 +
 .../selftests/drivers/net/hw/ethtool_rmon.sh       |   82 +-
 .../selftests/drivers/net/hw/ethtool_std_stats.sh  |  206 +
 tools/testing/selftests/drivers/net/hw/gro_hw.py   |  294 ++
 tools/testing/selftests/drivers/net/hw/iou-zcrx.py |   58 +-
 .../selftests/drivers/net/hw/lib/py/__init__.py    |   18 +-
 .../selftests/drivers/net/hw/nk_forward.bpf.c      |   49 +
 tools/testing/selftests/drivers/net/hw/nk_netns.py |   29 +
 .../testing/selftests/drivers/net/hw/nk_qlease.py  |  265 ++
 tools/testing/selftests/drivers/net/hw/ntuple.py   |  162 +
 tools/testing/selftests/drivers/net/hw/rss_ctx.py  |   49 +-
 tools/testing/selftests/drivers/net/hw/rss_drv.py  |  233 +-
 tools/testing/selftests/drivers/net/hw/tso.py      |    7 +-
 tools/testing/selftests/drivers/net/hw/uso.py      |  103 +
 .../selftests/drivers/net/hw/xdp_metadata.py       |  146 +
 .../selftests/drivers/net/lib/py/__init__.py       |   17 +-
 tools/testing/selftests/drivers/net/lib/py/env.py  |  220 +-
 .../selftests/drivers/net/lib/sh/lib_netcons.sh    |    6 +-
 tools/testing/selftests/drivers/net/macsec.py      |  343 ++
 .../drivers/net/netconsole/netcons_basic.sh        |    6 +-
 .../selftests/drivers/net/netdevsim/Makefile       |    1 -
 .../selftests/drivers/net/netdevsim/devlink.sh     |   79 +-
 .../drivers/net/netdevsim/macsec-offload.sh        |  117 -
 tools/testing/selftests/drivers/net/team/Makefile  |    4 +
 tools/testing/selftests/drivers/net/team/config    |    4 +
 .../drivers/net/team/decoupled_enablement.sh       |  249 ++
 .../testing/selftests/drivers/net/team/options.sh  |   99 +-
 tools/testing/selftests/drivers/net/team/settings  |    1 +
 .../testing/selftests/drivers/net/team/team_lib.sh |  174 +
 .../drivers/net/team/teamd_activebackup.sh         |  246 ++
 .../drivers/net/team/transmit_failover.sh          |  158 +
 tools/testing/selftests/drivers/net/xdp.py         |  131 +-
 tools/testing/selftests/net/Makefile               |    6 +
 tools/testing/selftests/net/af_unix/so_peek_off.c  |   46 +
 tools/testing/selftests/net/bridge_stp_mode.sh     |  288 ++
 tools/testing/selftests/net/config                 |    2 +
 tools/testing/selftests/net/fib_tests.sh           |   19 +-
 tools/testing/selftests/net/forwarding/.gitignore  |    1 +
 tools/testing/selftests/net/forwarding/Makefile    |    4 +
 .../selftests/net/forwarding/gre_multipath.sh      |    2 +-
 .../selftests/net/forwarding/gre_multipath_nh.sh   |    2 +-
 .../net/forwarding/gre_multipath_nh_res.sh         |    2 +-
 tools/testing/selftests/net/forwarding/ipip_lib.sh |    2 +-
 tools/testing/selftests/net/forwarding/ipmr.c      |  455 ++
 tools/testing/selftests/net/forwarding/lib.sh      |  177 +-
 .../selftests/net/forwarding/local_termination.sh  |   37 +-
 tools/testing/selftests/net/fq_band_pktlimit.sh    |   16 +-
 .../testing/selftests/net/io_uring_zerocopy_tx.sh  |    9 +
 tools/testing/selftests/net/ip6_tunnel.sh          |   44 +
 tools/testing/selftests/net/ipsec.c                |    8 +-
 tools/testing/selftests/net/lib.sh                 |   21 +-
 tools/testing/selftests/net/lib/.gitignore         |    1 +
 tools/testing/selftests/net/lib/Makefile           |    1 +
 .../selftests/{drivers/net => net/lib}/gro.c       |  449 +-
 tools/testing/selftests/net/lib/py/__init__.py     |   14 +-
 tools/testing/selftests/net/lib/py/bpf.py          |   68 +
 tools/testing/selftests/net/lib/py/ksft.py         |   90 +-
 tools/testing/selftests/net/lib/py/utils.py        |   75 +-
 tools/testing/selftests/net/lib/py/ynl.py          |   18 +-
 tools/testing/selftests/net/lib/xdp_metadata.bpf.c |  163 +
 .../selftests/net/macvlan_mcast_shared_mac.sh      |   93 +
 tools/testing/selftests/net/mptcp/mptcp_join.sh    |    4 +-
 .../selftests/net/netfilter/nft_tproxy_udp.sh      |   14 +-
 tools/testing/selftests/net/nk_qlease.py           | 2109 +++++++++
 tools/testing/selftests/net/nl_netdev.py           |   32 +-
 tools/testing/selftests/net/nl_nlctrl.py           |  131 +
 .../testing/selftests/net/openvswitch/ovs-dpctl.py |    2 +-
 tools/testing/selftests/net/ovpn/Makefile          |   31 +-
 tools/testing/selftests/net/ovpn/common.sh         |  101 +-
 tools/testing/selftests/net/ovpn/data64.key        |    6 +-
 .../selftests/net/ovpn/json/peer0-float.json       |    9 +
 .../selftests/net/ovpn/json/peer0-symm-float.json  |    1 +
 .../selftests/net/ovpn/json/peer0-symm.json        |    1 +
 tools/testing/selftests/net/ovpn/json/peer0.json   |    6 +
 .../selftests/net/ovpn/json/peer1-float.json       |    1 +
 .../selftests/net/ovpn/json/peer1-symm-float.json  |    1 +
 .../selftests/net/ovpn/json/peer1-symm.json        |    1 +
 tools/testing/selftests/net/ovpn/json/peer1.json   |    1 +
 .../selftests/net/ovpn/json/peer2-float.json       |    1 +
 .../selftests/net/ovpn/json/peer2-symm-float.json  |    1 +
 .../selftests/net/ovpn/json/peer2-symm.json        |    1 +
 tools/testing/selftests/net/ovpn/json/peer2.json   |    1 +
 .../selftests/net/ovpn/json/peer3-float.json       |    1 +
 .../selftests/net/ovpn/json/peer3-symm-float.json  |    1 +
 .../selftests/net/ovpn/json/peer3-symm.json        |    1 +
 tools/testing/selftests/net/ovpn/json/peer3.json   |    1 +
 .../selftests/net/ovpn/json/peer4-float.json       |    1 +
 .../selftests/net/ovpn/json/peer4-symm-float.json  |    1 +
 .../selftests/net/ovpn/json/peer4-symm.json        |    1 +
 tools/testing/selftests/net/ovpn/json/peer4.json   |    1 +
 .../selftests/net/ovpn/json/peer5-float.json       |    1 +
 .../selftests/net/ovpn/json/peer5-symm-float.json  |    1 +
 .../selftests/net/ovpn/json/peer5-symm.json        |    1 +
 tools/testing/selftests/net/ovpn/json/peer5.json   |    1 +
 .../selftests/net/ovpn/json/peer6-float.json       |    1 +
 .../selftests/net/ovpn/json/peer6-symm-float.json  |    1 +
 .../selftests/net/ovpn/json/peer6-symm.json        |    1 +
 tools/testing/selftests/net/ovpn/json/peer6.json   |    1 +
 tools/testing/selftests/net/ovpn/ovpn-cli.c        |  152 +-
 tools/testing/selftests/net/ovpn/tcp_peers.txt     |   11 +-
 .../selftests/net/ovpn/test-close-socket.sh        |    2 +-
 tools/testing/selftests/net/ovpn/test-mark.sh      |   96 +
 .../selftests/net/ovpn/test-symmetric-id-float.sh  |   11 +
 .../selftests/net/ovpn/test-symmetric-id-tcp.sh    |   11 +
 .../selftests/net/ovpn/test-symmetric-id.sh        |   10 +
 tools/testing/selftests/net/ovpn/test.sh           |   76 +-
 tools/testing/selftests/net/ovpn/udp_peers.txt     |   12 +-
 .../packetdrill/tcp_disorder_fin_in_FIN_WAIT.pkt   |   33 +
 .../net/packetdrill/tcp_rcv_big_endseq.pkt         |    2 +-
 .../net/packetdrill/tcp_rcv_neg_window.pkt         |   34 +
 .../net/packetdrill/tcp_rcv_wnd_shrink_allowed.pkt |   40 +
 .../net/packetdrill/tcp_rcv_wnd_shrink_nomem.pkt   |  132 +
 tools/testing/selftests/net/ppp/Makefile           |   15 +
 tools/testing/selftests/net/ppp/config             |    9 +
 tools/testing/selftests/net/ppp/ppp_async.sh       |   43 +
 tools/testing/selftests/net/ppp/ppp_common.sh      |   45 +
 .../testing/selftests/net/ppp/pppoe-server-options |    2 +
 tools/testing/selftests/net/ppp/pppoe.sh           |   65 +
 tools/testing/selftests/net/rds/Makefile           |    1 +
 tools/testing/selftests/net/rds/README.txt         |    5 +-
 tools/testing/selftests/net/rds/config             |    5 +
 tools/testing/selftests/net/rds/config.sh          |   37 +-
 tools/testing/selftests/net/rds/run.sh             |    7 +-
 tools/testing/selftests/net/rds/settings           |    1 +
 tools/testing/selftests/net/rds/test.py            |  108 +-
 tools/testing/selftests/net/reuseport_bpf.c        |   11 +
 tools/testing/selftests/net/reuseport_bpf_cpu.c    |   10 +
 tools/testing/selftests/net/reuseport_bpf_numa.c   |   10 +
 tools/testing/selftests/net/reuseport_dualstack.c  |   11 +
 .../selftests/net/srv6_hencap_red_l3vpn_test.sh    |  109 +-
 tools/testing/selftests/net/xfrm_state.sh          |  613 +++
 .../tc-testing/tc-tests/infra/qdiscs.json          |    2 +-
 .../selftests/tc-testing/tc-tests/qdiscs/ets.json  |   23 +
 tools/testing/selftests/tc-testing/tdc.py          |    3 +
 tools/testing/selftests/tc-testing/tdc_config.py   |    1 +
 tools/testing/selftests/tc-testing/tdc_helper.py   |    4 +-
 tools/testing/selftests/vsock/vmtest.sh            |   45 +-
 1697 files changed, 73655 insertions(+), 26834 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/microchip,pic64hpsc-mdio.yaml
 create mode 100644 Documentation/devicetree/bindings/net/nuvoton,ma35d1-dwmac.yaml
 create mode 100644 Documentation/devicetree/bindings/net/spacemit,k3-dwmac.yaml
 create mode 100644 Documentation/networking/devlink/devlink-shared.rst
 delete mode 100644 crypto/michael_mic.c
 create mode 100644 drivers/dpll/zl3073x/chan.c
 create mode 100644 drivers/dpll/zl3073x/chan.h
 delete mode 100644 drivers/net/bonding/bonding_priv.h
 create mode 100644 drivers/net/dsa/mv88e6xxx/tcam.c
 create mode 100644 drivers/net/dsa/mv88e6xxx/tcam.h
 create mode 100644 drivers/net/dsa/mv88e6xxx/tcflower.c
 create mode 100644 drivers/net/dsa/mv88e6xxx/tcflower.h
 delete mode 100644 drivers/net/ethernet/alteon/Kconfig
 delete mode 100644 drivers/net/ethernet/alteon/Makefile
 delete mode 100644 drivers/net/ethernet/alteon/acenic.c
 delete mode 100644 drivers/net/ethernet/alteon/acenic.h
 create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_link.c
 create mode 100644 drivers/net/ethernet/broadcom/bnge/bnge_link.h
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_gso.c
 create mode 100644 drivers/net/ethernet/broadcom/bnxt/bnxt_gso.h
 create mode 100644 drivers/net/ethernet/huawei/hinic3/hinic3_ethtool.c
 create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/cn20k/npc.c
 create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/cn20k/npc.h
 create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.h
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/sh_devlink.c
 create mode 100644 drivers/net/ethernet/mellanox/mlx5/core/sh_devlink.h
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-nuvoton.c
 create mode 100644 drivers/net/ethernet/stmicro/stmmac/dwmac-spacemit.c
 create mode 100644 drivers/net/ipa/data/ipa_data-v5.2.c
 create mode 100644 drivers/net/mdio/mdio-pic64hpsc.c
 create mode 100644 drivers/net/netdevsim/tc.c
 delete mode 100644 drivers/net/phy/mdio-private.h
 create mode 100644 drivers/net/wireless/ath/ath12k/thermal.c
 create mode 100644 drivers/net/wireless/ath/ath12k/thermal.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8922d.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8922d.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8922d_rfk.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8922d_rfk.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8922de.c
 delete mode 100644 include/linux/dsa/loop.h
 delete mode 100644 include/linux/mdio-gpio.h
 create mode 100644 include/linux/mlx5/lag.h
 delete mode 100644 include/linux/of_gpio.h
 delete mode 100644 include/linux/platform_data/mdio-gpio.h
 create mode 100644 include/net/dropreason-qdisc.h
 delete mode 100644 include/net/ipv6_stubs.h
 create mode 100644 include/net/rps-types.h
 delete mode 100644 include/net/udplite.h
 create mode 100644 net/devlink/sh_dev.c
 delete mode 100644 net/ipv4/udp_impl.h
 delete mode 100644 net/ipv4/udplite.c
 delete mode 100644 net/ipv6/udp_impl.h
 delete mode 100644 net/ipv6/udplite.c
 delete mode 100644 net/mac80211/michael.h
 create mode 100644 net/mac80211/nan.c
 rename net/{mac80211/michael.c => wireless/michael-mic.c} (95%)
 delete mode 100644 tools/net/ynl/samples/Makefile
 delete mode 100644 tools/net/ynl/samples/devlink.c
 delete mode 100644 tools/net/ynl/samples/ethtool.c
 delete mode 100644 tools/net/ynl/samples/netdev.c
 delete mode 100644 tools/net/ynl/samples/ovs.c
 delete mode 100644 tools/net/ynl/samples/rt-addr.c
 delete mode 100644 tools/net/ynl/samples/rt-link.c
 delete mode 100644 tools/net/ynl/samples/rt-route.c
 delete mode 100644 tools/net/ynl/samples/tc-filter-add.c
 delete mode 100644 tools/net/ynl/samples/tc.c
 rename tools/net/ynl/{samples => tests}/.gitignore (87%)
 create mode 100644 tools/net/ynl/tests/devlink.c
 create mode 100755 tools/net/ynl/tests/devlink.sh
 create mode 100644 tools/net/ynl/tests/ethtool.c
 rename tools/net/ynl/{pyynl => tests}/ethtool.py (86%)
 create mode 100755 tools/net/ynl/tests/ethtool.sh
 create mode 100644 tools/net/ynl/tests/netdev.c
 create mode 100644 tools/net/ynl/tests/ovs.c
 create mode 100644 tools/net/ynl/tests/rt-addr.c
 create mode 100755 tools/net/ynl/tests/rt-addr.sh
 create mode 100644 tools/net/ynl/tests/rt-link.c
 create mode 100644 tools/net/ynl/tests/rt-route.c
 create mode 100755 tools/net/ynl/tests/rt-route.sh
 create mode 100644 tools/net/ynl/tests/tc.c
 create mode 100644 tools/net/ynl/tests/wireguard.c
 create mode 100644 tools/net/ynl/tests/ynl_nsim_lib.sh
 create mode 100644 tools/testing/selftests/bpf/prog_tests/sock_ops_get_sk.c
 create mode 100644 tools/testing/selftests/bpf/prog_tests/test_dst_clear.c
 create mode 100644 tools/testing/selftests/bpf/progs/sock_ops_get_sk.c
 create mode 100644 tools/testing/selftests/bpf/progs/test_dst_clear.c
 create mode 100755 tools/testing/selftests/drivers/net/bonding/bond_stacked_header_parse.sh
 create mode 100755 tools/testing/selftests/drivers/net/hw/ethtool_std_stats.sh
 create mode 100755 tools/testing/selftests/drivers/net/hw/gro_hw.py
 create mode 100644 tools/testing/selftests/drivers/net/hw/nk_forward.bpf.c
 create mode 100755 tools/testing/selftests/drivers/net/hw/nk_netns.py
 create mode 100755 tools/testing/selftests/drivers/net/hw/nk_qlease.py
 create mode 100755 tools/testing/selftests/drivers/net/hw/ntuple.py
 create mode 100755 tools/testing/selftests/drivers/net/hw/uso.py
 create mode 100644 tools/testing/selftests/drivers/net/hw/xdp_metadata.py
 create mode 100755 tools/testing/selftests/drivers/net/macsec.py
 delete mode 100755 tools/testing/selftests/drivers/net/netdevsim/macsec-offload.sh
 create mode 100755 tools/testing/selftests/drivers/net/team/decoupled_enablement.sh
 create mode 100644 tools/testing/selftests/drivers/net/team/settings
 create mode 100644 tools/testing/selftests/drivers/net/team/team_lib.sh
 create mode 100755 tools/testing/selftests/drivers/net/team/teamd_activebackup.sh
 create mode 100755 tools/testing/selftests/drivers/net/team/transmit_failover.sh
 create mode 100755 tools/testing/selftests/net/bridge_stp_mode.sh
 create mode 100644 tools/testing/selftests/net/forwarding/ipmr.c
 create mode 100755 tools/testing/selftests/net/ip6_tunnel.sh
 rename tools/testing/selftests/{drivers/net => net/lib}/gro.c (78%)
 create mode 100644 tools/testing/selftests/net/lib/py/bpf.py
 create mode 100644 tools/testing/selftests/net/lib/xdp_metadata.bpf.c
 create mode 100755 tools/testing/selftests/net/macvlan_mcast_shared_mac.sh
 create mode 100755 tools/testing/selftests/net/nk_qlease.py
 create mode 100755 tools/testing/selftests/net/nl_nlctrl.py
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer0-float.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer0-symm-float.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer0-symm.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer0.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer1-float.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer1-symm-float.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer1-symm.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer1.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer2-float.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer2-symm-float.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer2-symm.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer2.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer3-float.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer3-symm-float.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer3-symm.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer3.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer4-float.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer4-symm-float.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer4-symm.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer4.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer5-float.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer5-symm-float.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer5-symm.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer5.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer6-float.json
 create mode 120000 tools/testing/selftests/net/ovpn/json/peer6-symm-float.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer6-symm.json
 create mode 100644 tools/testing/selftests/net/ovpn/json/peer6.json
 create mode 100755 tools/testing/selftests/net/ovpn/test-mark.sh
 create mode 100755 tools/testing/selftests/net/ovpn/test-symmetric-id-float.sh
 create mode 100755 tools/testing/selftests/net/ovpn/test-symmetric-id-tcp.sh
 create mode 100755 tools/testing/selftests/net/ovpn/test-symmetric-id.sh
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_disorder_fin_in_FIN_WAIT.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_rcv_neg_window.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_rcv_wnd_shrink_allowed.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_rcv_wnd_shrink_nomem.pkt
 create mode 100644 tools/testing/selftests/net/ppp/Makefile
 create mode 100644 tools/testing/selftests/net/ppp/config
 create mode 100755 tools/testing/selftests/net/ppp/ppp_async.sh
 create mode 100644 tools/testing/selftests/net/ppp/ppp_common.sh
 create mode 100644 tools/testing/selftests/net/ppp/pppoe-server-options
 create mode 100755 tools/testing/selftests/net/ppp/pppoe.sh
 create mode 100644 tools/testing/selftests/net/rds/config
 create mode 100644 tools/testing/selftests/net/rds/settings
 create mode 100755 tools/testing/selftests/net/xfrm_state.sh

^ permalink raw reply

* Re: [PATCH net-next v7 00/15] net: sleepable ndo_set_rx_mode
From: Stanislav Fomichev @ 2026-04-14 19:24 UTC (permalink / raw)
  To: Jakub Kicinski; +Cc: Stanislav Fomichev, netdev, davem, edumazet, pabeni
In-Reply-To: <20260413190831.1f3c53cb@kernel.org>

On 04/13, Jakub Kicinski wrote:
> On Mon, 13 Apr 2026 10:11:16 -0700 Stanislav Fomichev wrote:
> > This series adds a new ndo_set_rx_mode_async callback that enables
> > drivers to handle address list updates in a sleepable context. The
> > current ndo_set_rx_mode is called under the netif_addr_lock spinlock
> > with BHs disabled, which prevents drivers from sleeping. This is
> > problematic for ops-locked drivers that need to sleep.
> 
> Hi hi, hit this on the new(ish) queue leasing test with bnxt (debug
> kernel):
> 
> | [ 1148.733157] kselftest: Running tests in drivers/net/hw
> [ 1151.485032] ref_tracker: reference already released.
> [ 1151.491522] ref_tracker: allocated in:
> [ 1151.496526]  __dev_set_rx_mode+0x398/0x4f0
> [ 1151.501923]  dev_mc_add+0xe7/0x100
> [ 1151.506537]  igmp6_group_added+0x31c/0x400
> [ 1151.511930]  __ipv6_dev_mc_inc+0x282/0x590
> [ 1151.517320]  __ipv6_sock_mc_join+0x40d/0x7c0
> [ 1151.522908]  do_ipv6_setsockopt+0x3504/0x3700
> [ 1151.528594]  ipv6_setsockopt+0x7e/0xf0
> [ 1151.533596]  do_sock_setsockopt+0x164/0x3b0
> [ 1151.539089]  __sys_setsockopt+0xe4/0x150
> [ 1151.544276]  __x64_sys_setsockopt+0xbd/0x180
> [ 1151.549866]  do_syscall_64+0xf3/0x5e0
> [ 1151.554763]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> [ 1151.561229] ref_tracker: freed in:
> [ 1151.565840]  netdev_rx_mode_work+0x205/0x410
> [ 1151.571429]  process_one_work+0xdf5/0x1410
> [ 1151.576824]  worker_thread+0x4f1/0xd60
> [ 1151.581827]  kthread+0x364/0x460
> [ 1151.586246]  ret_from_fork+0x4a4/0x720
> [ 1151.591251]  ret_from_fork_asm+0x11/0x20
> [ 1151.596704] ------------[ cut here ]------------
> [ 1151.602747] WARNING: lib/ref_tracker.c:322 at ref_tracker_free.cold+0x10a/0x1f9, CPU#7: kworker/7:2/5262
> [ 1151.614292] Modules linked in:
> [ 1151.618626] CPU: 7 UID: 0 PID: 5262 Comm: kworker/7:2 Not tainted 7.0.0-rc7-hmtc-g3cb8f09d448a #1 PREEMPT(full) 
> [ 1151.630928] Hardware name: Giga Computing E163-Z34-AAH1-000/MZ33-DC1-000, BIOS R30_F44 12/24/2025
> [ 1151.641762] Workqueue: events netdev_rx_mode_work
> [ 1151.647920] RIP: 0010:ref_tracker_free.cold+0x10a/0x1f9
> [ 1151.654646] Code: e0 2a 0f b6 04 02 84 c0 74 04 3c 03 7e 78 8b 7b 18 4c 89 04 24 e8 71 b2 e4 01 4c 8b 04 24 4c 89 c6 48 89 ef e8 32 92 05 04 90 <0f> 0b 90 ba ea ff ff ff e9 06 de e4 01 4c 89 ea 48 89 df 4c 89 04
> [ 1151.676612] RSP: 0018:ffa0000035f6fb18 EFLAGS: 00010296
> [ 1151.683343] RAX: 0000000000000000 RBX: ff110001f7ae9460 RCX: 0000000000000001
> [ 1151.692224] RDX: 00000000ffffffff RSI: 1ffffffff1841334 RDI: 0000000000000001
> [ 1151.701102] RBP: ff110001a3c12618 R08: 0000000000000000 R09: 0000000000000000
> [ 1151.709973] R10: 0000000000000007 R11: 0000000000000001 R12: 1ff4000006bedf67
> [ 1151.718835] R13: ff110001f7ae9478 R14: ff110001fd1949fc R15: ffffffff8a80b9a0
> [ 1151.727814] FS:  0000000000000000(0000) GS:ff11001882899000(0000) knlGS:0000000000000000
> [ 1151.737696] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 1151.744947] CR2: 00007f83287c3574 CR3: 00000017e26b0002 CR4: 0000000000771ef0
> [ 1151.753758] PKRU: 55555554
> [ 1151.757588] Call Trace:
> [ 1151.761130]  <TASK>
> [ 1151.764282]  ? ref_tracker_alloc+0x460/0x460
> [ 1151.769872]  ? netdev_rx_mode_work+0x205/0x410
> [ 1151.775659]  ? process_one_work+0xdf5/0x1410
> [ 1151.781249]  ? worker_thread+0x4f1/0xd60
> [ 1151.786450]  ? kthread+0x364/0x460
> [ 1151.791066]  ? ret_from_fork+0x4a4/0x720
> [ 1151.796267]  ? ret_from_fork_asm+0x11/0x20
> [ 1151.801666]  ? mark_held_locks+0x40/0x70
> [ 1151.806870]  netdev_rx_mode_work+0x205/0x410
> [ 1151.812461]  ? trace_workqueue_execute_start+0x9b/0x180
> [ 1151.819124]  ? process_one_work+0xdb4/0x1410
> [ 1151.824712]  process_one_work+0xdf5/0x1410
> [ 1151.830111]  ? pwq_dec_nr_in_flight+0x710/0x710
> [ 1151.835992]  ? lock_acquire.part.0+0xbc/0x260
> [ 1151.841686]  worker_thread+0x4f1/0xd60
> [ 1151.846694]  ? rescuer_thread+0x1320/0x1320
> [ 1151.852188]  kthread+0x364/0x460
> [ 1151.856609]  ? trace_irq_enable.constprop.0+0x9b/0x180
> [ 1151.863180]  ? kthread_affine_node+0x330/0x330
> [ 1151.868965]  ret_from_fork+0x4a4/0x720
> [ 1151.873965]  ? arch_exit_to_user_mode_prepare.isra.0+0xb0/0xb0
> [ 1151.881315]  ? __switch_to+0x540/0xd00
> [ 1151.886320]  ? kthread_affine_node+0x330/0x330
> [ 1151.892108]  ret_from_fork_asm+0x11/0x20
> | [ 1151.905076] hardirqs last  enabled at (7665): [<ffffffff847c61ea>] __up_console_sem+0x5a/0x70
> | [ 1151.915450] hardirqs last disabled at (7676): [<ffffffff847c61cf>] __up_console_sem+0x3f/0x70
> | [ 1151.925823] softirqs last  enabled at (7600): [<ffffffff8462d50e>] handle_softirqs+0x60e/0x920
> | [ 1151.936291] softirqs last disabled at (7595): [<ffffffff8462dca2>] irq_exit_rcu+0xa2/0xf0
> | [ 1151.946275] ---[ end trace 0000000000000000 ]---
> [ 1152.247817] ref_tracker: netdev@ff110001a3c12618 has 1/1 users at\x0a     __dev_set_rx_mode+0x398/0x4f0\x0a     dev_mc_add+0xe7/0x100\x0a     igmp6_group_added+0x31c/0x400\x0a     __ipv6_dev_mc_inc+0x282/0x590\x0a     addrconf_dad_begin+0x13c/0x540\x0a     addrconf_dad_work+0x170/0x930\x0a     process_one_work+0xdf5/0x1410\x0a     worker_thread+0x4f1/0xd60\x0a     kthread+0x364/0x460\x0a     ret_from_fork+0x4a4/0x720\x0a     ret_from_fork_asm+0x11/0x20\x0a
> [ 1152.318767] ------------[ cut here ]------------
> [ 1152.325512] WARNING: lib/ref_tracker.c:246 at ref_tracker_dir_exit+0x466/0x7e0, CPU#27: ip/15056
> [ 1152.336246] Modules linked in:
> [ 1152.340578] CPU: 27 UID: 0 PID: 15056 Comm: ip Tainted: G        W           7.0.0-rc7-hmtc-g3cb8f09d448a #1 PREEMPT(full) 
> [ 1152.353871] Tainted: [W]=WARN
> [ 1152.357997] Hardware name: Giga Computing E163-Z34-AAH1-000/MZ33-DC1-000, BIOS R30_F44 12/24/2025
> [ 1152.368759] RIP: 0010:ref_tracker_dir_exit+0x466/0x7e0
> [ 1152.375326] Code: e8 03 42 80 3c 38 00 0f 85 57 02 00 00 48 8b 03 49 89 de 49 39 dc 0f 85 2e ff ff ff 48 8b 74 24 10 48 89 ef e8 cb aa 20 02 90 <0f> 0b 90 48 8d 5d 44 be 04 00 00 00 48 89 df e8 a6 ee ec fe 48 89
> [ 1152.397212] RSP: 0018:ffa00000380470d0 EFLAGS: 00010286
> [ 1152.403876] RAX: 0000000000000000 RBX: ff110001a3c12668 RCX: 0000000000000001
> [ 1152.412685] RDX: 00000000ffffffff RSI: 1ffffffff1841334 RDI: 0000000000000001
> [ 1152.421496] RBP: ff110001a3c12618 R08: 0000000000000000 R09: 0000000000000000
> [ 1152.430303] R10: 000000000000000b R11: 0000000000000001 R12: ff110001a3c12668
> [ 1152.439103] R13: dead000000000100 R14: ff110001a3c12668 R15: dffffc0000000000
> [ 1152.447911] FS:  00007f05f6331840(0000) GS:ff11001883299000(0000) knlGS:0000000000000000
> [ 1152.457811] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> [ 1152.465057] CR2: 00007f68f567f440 CR3: 00000001a9d12003 CR4: 0000000000771ef0
> [ 1152.473863] PKRU: 55555554
> [ 1152.477694] Call Trace:
> [ 1152.481231]  <TASK>
> [ 1152.484384]  ? rcu_is_watching+0x15/0xd0
> [ 1152.489585]  ? ref_tracker_free+0x870/0x870
> [ 1152.495077]  ? lockdep_hardirqs_on+0x8c/0x130
> [ 1152.500764]  ? __stack_depot_get_stack_record+0x10/0x10
> [ 1152.507427]  ? kfree+0x151/0x610
> [ 1152.511847]  free_netdev+0x402/0x870
> [ 1152.516648]  ? do_raw_spin_unlock+0x59/0x250
> [ 1152.522241]  ? _raw_spin_unlock_irqrestore+0x40/0x80
> [ 1152.528613]  netdev_run_todo+0x83b/0xbf0
> [ 1152.533804]  ? unregister_netdevice_queued+0x80/0x80
> [ 1152.540172]  ? mutex_is_locked+0x1c/0x50
> [ 1152.545373]  ? generic_xdp_install+0x400/0x400
> [ 1152.551158]  ? mutex_is_locked+0x1c/0x50
> [ 1152.556349]  ? rtnl_is_locked+0x15/0x20
> [ 1152.561450]  ? unregister_netdevice_queued+0x16/0x80
> [ 1152.567826]  rtnl_dellink+0x4a5/0xae0
> [ 1152.572737]  ? rtnl_mdb_del+0x580/0x580
> [ 1152.577839]  ? __lock_acquire+0x508/0xc10
> [ 1152.583148]  ? avc_has_perm_noaudit+0xf6/0x300
> [ 1152.588935]  ? sched_init_numa+0x7f7/0xc30
> [ 1152.594331]  ? mark_usage+0x61/0x170
> [ 1152.599142]  ? __lock_acquire+0x508/0xc10
> [ 1152.604443]  ? lock_acquire.part.0+0xbc/0x260
> [ 1152.610130]  ? find_held_lock+0x2b/0x80
> [ 1152.615237]  ? rtnl_mdb_del+0x580/0x580
> [ 1152.620339]  ? __lock_release.isra.0+0x6b/0x1a0
> [ 1152.626215]  ? rtnl_mdb_del+0x580/0x580
> [ 1152.631319]  rtnetlink_rcv_msg+0x6fd/0xbd0
> [ 1152.636718]  ? rtnl_fdb_dump+0x690/0x690
> [ 1152.641917]  ? __lock_acquire+0x508/0xc10
> [ 1152.647218]  ? lock_acquire.part.0+0xbc/0x260
> [ 1152.652905]  ? find_held_lock+0x2b/0x80
> [ 1152.658008]  netlink_rcv_skb+0x14e/0x3a0
> [ 1152.663210]  ? rtnl_fdb_dump+0x690/0x690
> [ 1152.668412]  ? netlink_ack+0xcd0/0xcd0
> [ 1152.673422]  ? netlink_deliver_tap+0xc5/0x330
> [ 1152.679110]  ? netlink_deliver_tap+0x13c/0x330
> [ 1152.684894]  netlink_unicast+0x47c/0x740
> [ 1152.690098]  ? netlink_attachskb+0x800/0x800
> [ 1152.695687]  ? sock_has_perm+0x283/0x3f0
> [ 1152.700879]  netlink_sendmsg+0x75b/0xc90
> [ 1152.706081]  ? netlink_unicast+0x740/0x740
> [ 1152.711476]  ? __lock_release.isra.0+0x6b/0x1a0
> [ 1152.717357]  ? __import_iovec+0x36c/0x620
> [ 1152.722655]  ? __might_fault+0x97/0x140
> [ 1152.727749]  __sock_sendmsg+0xca/0x180
> [ 1152.732747]  ? move_addr_to_kernel+0x36/0xf0
> [ 1152.738328]  ____sys_sendmsg+0x609/0x830
> [ 1152.743529]  ? copy_msghdr_from_user+0x2a0/0x460
> [ 1152.749510]  ? kernel_sendmsg+0x30/0x30
> [ 1152.754611]  ? move_addr_to_kernel+0xf0/0xf0
> [ 1152.760204]  ? kasan_save_stack+0x3d/0x50
> [ 1152.765503]  ? kasan_save_stack+0x2f/0x50
> [ 1152.770799]  ? kasan_record_aux_stack+0x9b/0xc0
> [ 1152.776681]  ? __call_rcu_common.constprop.0+0xb2/0xa10
> [ 1152.783337]  ? kmem_cache_free+0x3d0/0x5f0
> [ 1152.788733]  ? fput_close_sync+0xde/0x1b0
> [ 1152.794032]  ? __x64_sys_close+0x8b/0xf0
> [ 1152.799235]  ___sys_sendmsg+0x14e/0x1d0
> [ 1152.804337]  ? copy_msghdr_from_user+0x460/0x460
> [ 1152.810330]  ? rcu_is_watching+0x15/0xd0
> [ 1152.815532]  ? trace_irq_enable.constprop.0+0x9b/0x180
> [ 1152.822106]  __sys_sendmsg+0x145/0x1f0
> [ 1152.827110]  ? __sys_sendmsg_sock+0x20/0x20
> [ 1152.832608]  ? do_raw_spin_unlock+0x59/0x250
> [ 1152.838196]  ? rcu_is_watching+0x15/0xd0
> [ 1152.843398]  do_syscall_64+0xf3/0x5e0
> [ 1152.848307]  ? trace_hardirqs_off+0xd/0x30
> [ 1152.853703]  ? exc_page_fault+0xda/0xf0
> [ 1152.858805]  entry_SYSCALL_64_after_hwframe+0x4b/0x53
> [ 1152.865267] RIP: 0033:0x7f05f656b22e
> [ 1152.870077] Code: 4d 89 d8 e8 94 bd 00 00 4c 8b 5d f8 41 8b 93 08 03 00 00 59 5e 48 83 f8 fc 74 11 c9 c3 0f 1f 80 00 00 00 00 48 8b 45 10 0f 05 <c9> c3 83 e2 39 83 fa 08 75 e7 e8 03 ff ff ff 0f 1f 00 f3 0f 1e fa
> [ 1152.891961] RSP: 002b:00007fff388be520 EFLAGS: 00000202 ORIG_RAX: 000000000000002e
> [ 1152.901262] RAX: ffffffffffffffda RBX: 0000000000000002 RCX: 00007f05f656b22e
> [ 1152.910070] RDX: 0000000000000000 RSI: 00007fff388be5d0 RDI: 0000000000000003
> [ 1152.918880] RBP: 00007fff388be530 R08: 0000000000000000 R09: 0000000000000000
> [ 1152.927690] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000000000002
> [ 1152.936499] R13: 0000000069dd8ee8 R14: 000056113dabf040 R15: 0000000000000000
> 
> 
> Either decoding failed or I forgot where NIPA-HW puts the output :S
> But I think it's clear enough..

Looks like I need to juggle the tracker a bit, similar to how linkwatch_clean_dev
does it. Nice to see HW NIPA coming together!

^ permalink raw reply

* Re: [PATCH iwl-net v5] ice: fix missing dpll notifications for SW pins
From: Michal Schmidt @ 2026-04-14 19:16 UTC (permalink / raw)
  To: Petr Oros, netdev
  Cc: Tony Nguyen, Przemek Kitszel, Andrew Lunn, David S. Miller,
	Eric Dumazet, Jakub Kicinski, Paolo Abeni, Simon Horman,
	Arkadiusz Kubalewski, intel-wired-lan, linux-kernel
In-Reply-To: <20260409102501.1447628-1-poros@redhat.com>

On 4/9/26 12:25, Petr Oros wrote:
> ---
>   drivers/net/ethernet/intel/ice/ice_dpll.c | 74 +++++++++++++++++++----
>   1 file changed, 63 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/ice/ice_dpll.c b/drivers/net/ethernet/intel/ice/ice_dpll.c
> index 3f8cd5b8298b57..d817f17dcf1951 100644
> --- a/drivers/net/ethernet/intel/ice/ice_dpll.c
> +++ b/drivers/net/ethernet/intel/ice/ice_dpll.c
> @@ -1154,6 +1154,30 @@ ice_dpll_input_state_get(const struct dpll_pin *pin, void *pin_priv,
>   				      extack, ICE_DPLL_PIN_TYPE_INPUT);
>   }
>   
> +/**
> + * ice_dpll_sw_pin_notify_peer - notify the paired SW pin after a state change
> + * @d: pointer to dplls struct
> + * @changed: the SW pin that was explicitly changed (already notified by dpll core)
> + *
> + * SMA and U.FL pins share physical signal paths in pairs (SMA1/U.FL1 and
> + * SMA2/U.FL2).  When one pin's routing changes via the PCA9575 GPIO
> + * expander, the paired pin's state may also change.  Send a change
> + * notification for the peer pin so userspace consumers monitoring the
> + * peer via dpll netlink learn about the update.
> + *
> + * Context: Can be called under pf->dplls.lock, dpll_pin_change_ntf() is safe.
> + */
> +static void ice_dpll_sw_pin_notify_peer(struct ice_dplls *d,
> +					struct ice_dpll_pin *changed)
> +{
> +	struct ice_dpll_pin *peer;
> +
> +	peer = (changed >= d->sma && changed < d->sma + ICE_DPLL_PIN_SW_NUM) ?
> +		&d->ufl[changed->idx] : &d->sma[changed->idx];
> +	if (peer->pin)
> +		dpll_pin_change_ntf(peer->pin);
> +}
> +
>   /**
>    * ice_dpll_sma_direction_set - set direction of SMA pin
>    * @p: pointer to a pin
> @@ -1233,6 +1257,8 @@ static int ice_dpll_sma_direction_set(struct ice_dpll_pin *p,
>   			ret = ice_dpll_pin_state_update(p->pf, target,
>   							type, extack);
>   	}
> +	if (!ret)
> +		ice_dpll_sw_pin_notify_peer(d, p);
>   
>   	return ret;
>   }

ice_dpll_sma_direction_set() runs to process a DPLL_CMD_PIN_SET command 
from userspace. It runs with dpll_lock held - taken in dpll_pin_pre_doit().
ice_dpll_sw_pin_notify_peer() -> dpll_pin_change_ntf() will take 
dpll_lock again and deadlock.

Michal


^ permalink raw reply

* Re: [PATCH RFC bpf-next 1/8] kasan: expose generic kasan helpers
From: Alexei Starovoitov @ 2026-04-14 19:16 UTC (permalink / raw)
  To: Alexis Lothoré
  Cc: Andrey Konovalov, Alexei Starovoitov, Daniel Borkmann,
	Andrii Nakryiko, Martin KaFai Lau, Eduard Zingerman,
	Kumar Kartikeya Dwivedi, Song Liu, Yonghong Song, Jiri Olsa,
	John Fastabend, David S. Miller, David Ahern, Thomas Gleixner,
	Ingo Molnar, Borislav Petkov, Dave Hansen, X86 ML, H. Peter Anvin,
	Shuah Khan, Maxime Coquelin, Alexandre Torgue, Andrey Ryabinin,
	Alexander Potapenko, Dmitry Vyukov, Vincenzo Frascino,
	Andrew Morton, ebpf, Bastien Curutchet, Thomas Petazzoni,
	Xu Kuohai, bpf, LKML, Network Development,
	open list:KERNEL SELFTEST FRAMEWORK, linux-stm32,
	linux-arm-kernel, kasan-dev, linux-mm
In-Reply-To: <DHT3JV7GTOBL.29205LGGNEDSH@bootlin.com>

On Tue, Apr 14, 2026 at 11:41 AM Alexis Lothoré
<alexis.lothore@bootlin.com> wrote:
>
> On Tue Apr 14, 2026 at 4:36 PM CEST, Alexei Starovoitov wrote:
> > On Tue, Apr 14, 2026 at 6:13 AM Alexis Lothoré
> > <alexis.lothore@bootlin.com> wrote:
> >>
> >> Hi Andrey, thanks for the prompt review !
> >>
> >> On Tue Apr 14, 2026 at 12:19 AM CEST, Andrey Konovalov wrote:
> >> > On Mon, Apr 13, 2026 at 8:29 PM Alexis Lothoré (eBPF Foundation)
> >> > <alexis.lothore@bootlin.com> wrote:
> >> >>
> >>
> >> [...]
> >>
> >> >> +#ifdef CONFIG_KASAN_GENERIC
> >> >> +void __asan_load1(void *p);
> >> >> +void __asan_store1(void *p);
> >> >> +void __asan_load2(void *p);
> >> >> +void __asan_store2(void *p);
> >> >> +void __asan_load4(void *p);
> >> >> +void __asan_store4(void *p);
> >> >> +void __asan_load8(void *p);
> >> >> +void __asan_store8(void *p);
> >> >> +void __asan_load16(void *p);
> >> >> +void __asan_store16(void *p);
> >> >> +#endif /* CONFIG_KASAN_GENERIC */
> >> >
> >> > This looks ugly, let's not do this unless it's really required.
> >> >
> >> > You can just use kasan_check_read/write() instead - these are public
> >> > wrappers around the same shadow memory checking functions. And they
> >> > also work with the SW_TAGS mode, in case the BPF would want to use
> >> > that mode at some point. (For HW_TAGS, we only have kasan_check_byte()
> >> > that checks a single byte, but it can be extended in the future if
> >> > required to be used by BPF.)
> >>
> >> ACK, I'll try to use those kasan_check_read and kasan_check_write rather
> >> than __asan_{load,store}X.
> >
> > No. The performance penalty will be too high.
>
> Since we are mentioning it, I did not consider yet any performance
> comparision/benchmarking (and I am not really familiar with usual bpf
> performance validation practices for new bpf features). Is there any
> existing test I should take a look at for this ? Maybe some specific
> benches in tools/testing/selftests/bpf/bench ?

So far everything in bpf/bench/ measures bpf infra like
maps, kprobes, tracepoints, etc.
We don't have benchmarks for bpf programs.
So we don't know how well JITs are generating code
and how much inlining done by the verifier, JITs actually helps.

Puranjay is working on creating a SPECint like set of benchmarks.

For this kasan work we should make the best decisions from
performance point of view, like not wasting unnecessary call
and not saving unnecessary registers. btw in the other patch
I think you can skip saving of r10 and r11.
But we cannot quantify yet that avoiding extra call gives us N%.

You can micro-benchmark, of course, but gotta be careful
interpreting the results. It might be too easy to get into
thinking that JIT must inline __asan_load() for the sake of performance.

^ permalink raw reply

* Re: [PATCH net] net: pse-pd: fix kernel-doc function name for pse_control_find_by_id()
From: patchwork-bot+netdevbpf @ 2026-04-14 19:00 UTC (permalink / raw)
  To: Kory Maincent
  Cc: kuba, netdev, linux-kernel, thomas.petazzoni, o.rempel,
	andrew+netdev, davem, edumazet, pabeni
In-Reply-To: <20260414150948.744618-1-kory.maincent@bootlin.com>

Hello:

This patch was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Tue, 14 Apr 2026 17:09:47 +0200 you wrote:
> The kernel-doc comment header incorrectly referenced the function
> name pse_control_find_net_by_id() instead of the actual function name
> pse_control_find_by_id(). Correct the function name in the documentation
> to match the implementation.
> 
> Fixes: fc0e6db30941a ("net: pse-pd: Add support for reporting events")
> Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
> 
> [...]

Here is the summary with links:
  - [net] net: pse-pd: fix kernel-doc function name for pse_control_find_by_id()
    https://git.kernel.org/netdev/net-next/c/6bb6bafa88b4

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply

* Re: [PATCH net-next 0/4] WireGuard fixes for 7.1-rc1
From: patchwork-bot+netdevbpf @ 2026-04-14 18:50 UTC (permalink / raw)
  To: Jason A. Donenfeld; +Cc: netdev, kuba, pabeni
In-Reply-To: <20260414153944.2742252-1-Jason@zx2c4.com>

Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Tue, 14 Apr 2026 17:39:40 +0200 you wrote:
> Hi Jakub,
> 
> Please find 4 simple patches attached:
> 
> 1) Asbjørn's YNL sample, finally merged. Sorry for the wait on this one.
> 
> 2) A simplification to use kfree_rcu instead of call_rcu, since
>    kfree_rcu now works with kmem caches.
> 
> [...]

Here is the summary with links:
  - [net-next,1/4] wireguard: allowedips: Use kfree_rcu() instead of call_rcu()
    https://git.kernel.org/netdev/net-next/c/e5549aecdd24
  - [net-next,2/4] tools: ynl: add sample for wireguard
    https://git.kernel.org/netdev/net-next/c/121f416756d6
  - [net-next,3/4] wireguard: allowedips: remove redundant space
    https://git.kernel.org/netdev/net-next/c/f364db381c9d
  - [net-next,4/4] wireguard: device: use exit_rtnl callback instead of manual rtnl_lock in pre_exit
    https://git.kernel.org/netdev/net-next/c/60a25ef8dacb

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply

* Re: [PATCH net] net: pse-pd: fix out-of-bounds bitmap access in pse_isr() on 32-bit
From: Oleksij Rempel @ 2026-04-14 18:47 UTC (permalink / raw)
  To: Kory Maincent
  Cc: Jakub Kicinski, netdev, linux-kernel, Carlo Szelinsky,
	thomas.petazzoni, Andrew Lunn, David S. Miller, Eric Dumazet,
	Paolo Abeni
In-Reply-To: <20260414151331.745552-1-kory.maincent@bootlin.com>

Hi Kory,

On Tue, Apr 14, 2026 at 05:13:30PM +0200, Kory Maincent wrote:
> @@ -1340,6 +1341,11 @@ int devm_pse_irq_helper(struct pse_controller_dev *pcdev, int irq,
>  	if (!h->notifs)
>  		return -ENOMEM;
>  
> +	h->notifs_mask = devm_kcalloc(dev, BITS_TO_LONGS(pcdev->nr_lines),
> +				      sizeof(*h->notifs_mask), GFP_KERNEL);

May be better devm_bitmap_zalloc() instead of devm_kcalloc()?

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

^ permalink raw reply

* RE: [PATCH net-next v3 3/5] net: phy: mscc: Drop unnecessary phydev->lock
From: Biju Das @ 2026-04-14 18:45 UTC (permalink / raw)
  To: Russell King, biju.das.au
  Cc: Andrew Lunn, Heiner Kallweit, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Prabhakar Mahadev Lad,
	Horatiu Vultur, Vladimir Oltean, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, Geert Uytterhoeven,
	linux-renesas-soc@vger.kernel.org
In-Reply-To: <ad59y5ZfJDKFo3eU@shell.armlinux.org.uk>

Hi Russell King,

> -----Original Message-----
> From: Russell King <linux@armlinux.org.uk>
> Sent: 14 April 2026 18:48
> Subject: Re: [PATCH net-next v3 3/5] net: phy: mscc: Drop unnecessary phydev->lock
> 
> On Sun, Apr 12, 2026 at 03:00:25PM +0100, Biju wrote:
> > @@ -486,15 +486,9 @@ static int vsc85xx_dt_led_modes_get(struct
> > phy_device *phydev,
> >
> >  static int vsc85xx_edge_rate_cntl_set(struct phy_device *phydev, u8
> > edge_rate)  {
> > -	int rc;
> > -
> > -	mutex_lock(&phydev->lock);
> > -	rc = phy_modify_paged(phydev, MSCC_PHY_PAGE_EXTENDED_2,
> > -			      MSCC_PHY_WOL_MAC_CONTROL, EDGE_RATE_CNTL_MASK,
> > -			      edge_rate << EDGE_RATE_CNTL_POS);
> > -	mutex_unlock(&phydev->lock);
> > -
> > -	return rc;
> > +	return phy_modify_paged(phydev, MSCC_PHY_PAGE_EXTENDED_2,
> > +				MSCC_PHY_WOL_MAC_CONTROL, EDGE_RATE_CNTL_MASK,
> > +				edge_rate << EDGE_RATE_CNTL_POS);
> 
> This one is fine.
> 
> > @@ -503,7 +497,6 @@ static int vsc85xx_mac_if_set(struct phy_device *phydev,
> >  	int rc;
> >  	u16 reg_val;
> >
> > -	mutex_lock(&phydev->lock);
> >  	reg_val = phy_read(phydev, MSCC_PHY_EXT_PHY_CNTL_1);
> >  	reg_val &= ~(MAC_IF_SELECTION_MASK);
> >  	switch (interface) {
> > @@ -522,17 +515,15 @@ static int vsc85xx_mac_if_set(struct phy_device *phydev,
> >  		break;
> >  	default:
> >  		rc = -EINVAL;
> > -		goto out_unlock;
> > +		goto err;
> >  	}
> >  	rc = phy_write(phydev, MSCC_PHY_EXT_PHY_CNTL_1, reg_val);
> 
> I would much rather this was converted to use phy_modify() as well so that we ensure that the update is
> atomic.
> 
> 	rc = phy_modify(phydev, MSCC_PHY_EXT_PHY_CNTL_1,
> 			MAC_IF_SELECTION_MASK, reg_val);

Agreed, will use phy_modify()

Cheers,
Biju

^ permalink raw reply

* RE: [PATCH net-next v3 4/5] net: phy: microchip_t1: Replace phydev->lock with mdio_lock in lan937x_dsp_workaround()
From: Biju Das @ 2026-04-14 18:44 UTC (permalink / raw)
  To: Andrew Lunn, biju.das.au
  Cc: Arun Ramadoss, Heiner Kallweit, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, UNGLinuxDriver@microchip.com,
	Russell King, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, linux-renesas-soc@vger.kernel.org
In-Reply-To: <7924b6fa-8a8a-4a17-bb3d-40a9578a3f8a@lunn.ch>

Hi Andrew,

> -----Original Message-----
> From: Andrew Lunn <andrew@lunn.ch>
> Sent: 14 April 2026 17:09
> Subject: Re: [PATCH net-next v3 4/5] net: phy: microchip_t1: Replace phydev->lock with mdio_lock in
> lan937x_dsp_workaround()
> 
> > -	mutex_lock(&phydev->lock);
> > +	mutex_lock(&phydev->mdio.bus->mdio_lock);
> 
> phy_lock_mdio_bus(), and the phy_unlock_mdio_bus().

OK, will fix this.

Cheers,
Biju

^ permalink raw reply

* RE: [PATCH net-next v3 5/5] net: phy: Move phy_init_hw() from phy_resume() to __phy_resume()
From: Biju Das @ 2026-04-14 18:43 UTC (permalink / raw)
  To: Andrew Lunn, biju.das.au
  Cc: Heiner Kallweit, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Russell King, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org, Geert Uytterhoeven,
	Prabhakar Mahadev Lad, linux-renesas-soc@vger.kernel.org
In-Reply-To: <b3521be0-c5da-45ef-b6bd-64e4a7b97966@lunn.ch>

Hi Andrew,

> -----Original Message-----
> From: Andrew Lunn <andrew@lunn.ch>
> Sent: 14 April 2026 17:03
> Subject: Re: [PATCH net-next v3 5/5] net: phy: Move phy_init_hw() from phy_resume() to __phy_resume()
> 
> On Sun, Apr 12, 2026 at 03:00:27PM +0100, Biju wrote:
> > From: Biju Das <biju.das.jz@bp.renesas.com>
> >
> > Now that redundant locking has been removed from PHY driver callbacks,
> > phy_init_hw() can be called with phydev->lock held.
> >
> > Many MAC drivers and the phylink framework resume the PHY via
> > phy_start(), which invokes __phy_resume() directly without going
> > through phy_resume(). Keeping phy_init_hw() in phy_resume() means it
> > is not called in this path.
> >
> > Move phy_init_hw() into __phy_resume() so that PHY soft reset and
> > re-initialisation happen unconditionally on every resume, regardless
> > of which code path triggers it.
> 
> I would change the order of these patches. First remove the redundant locks. You can then put
> phy_init_hw() into __phy_resume(), rather than first moving it into phy_resume() and then
> __phy_resume().

Agreed.

Cheers,
Biju

^ permalink raw reply

* Re: [PATCH RFC bpf-next 1/8] kasan: expose generic kasan helpers
From: Alexis Lothoré @ 2026-04-14 18:41 UTC (permalink / raw)
  To: Alexei Starovoitov, Alexis Lothoré
  Cc: Andrey Konovalov, Alexei Starovoitov, Daniel Borkmann,
	Andrii Nakryiko, Martin KaFai Lau, Eduard Zingerman,
	Kumar Kartikeya Dwivedi, Song Liu, Yonghong Song, Jiri Olsa,
	John Fastabend, David S. Miller, David Ahern, Thomas Gleixner,
	Ingo Molnar, Borislav Petkov, Dave Hansen, X86 ML, H. Peter Anvin,
	Shuah Khan, Maxime Coquelin, Alexandre Torgue, Andrey Ryabinin,
	Alexander Potapenko, Dmitry Vyukov, Vincenzo Frascino,
	Andrew Morton, ebpf, Bastien Curutchet, Thomas Petazzoni,
	Xu Kuohai, bpf, LKML, Network Development,
	open list:KERNEL SELFTEST FRAMEWORK, linux-stm32,
	linux-arm-kernel, kasan-dev, linux-mm
In-Reply-To: <CAADnVQLJ=fJ7t1i2+_RYqU1gqYqiLP9Zrwo4vdZsgzjK_yzJTQ@mail.gmail.com>

On Tue Apr 14, 2026 at 4:36 PM CEST, Alexei Starovoitov wrote:
> On Tue, Apr 14, 2026 at 6:13 AM Alexis Lothoré
> <alexis.lothore@bootlin.com> wrote:
>>
>> Hi Andrey, thanks for the prompt review !
>>
>> On Tue Apr 14, 2026 at 12:19 AM CEST, Andrey Konovalov wrote:
>> > On Mon, Apr 13, 2026 at 8:29 PM Alexis Lothoré (eBPF Foundation)
>> > <alexis.lothore@bootlin.com> wrote:
>> >>
>>
>> [...]
>>
>> >> +#ifdef CONFIG_KASAN_GENERIC
>> >> +void __asan_load1(void *p);
>> >> +void __asan_store1(void *p);
>> >> +void __asan_load2(void *p);
>> >> +void __asan_store2(void *p);
>> >> +void __asan_load4(void *p);
>> >> +void __asan_store4(void *p);
>> >> +void __asan_load8(void *p);
>> >> +void __asan_store8(void *p);
>> >> +void __asan_load16(void *p);
>> >> +void __asan_store16(void *p);
>> >> +#endif /* CONFIG_KASAN_GENERIC */
>> >
>> > This looks ugly, let's not do this unless it's really required.
>> >
>> > You can just use kasan_check_read/write() instead - these are public
>> > wrappers around the same shadow memory checking functions. And they
>> > also work with the SW_TAGS mode, in case the BPF would want to use
>> > that mode at some point. (For HW_TAGS, we only have kasan_check_byte()
>> > that checks a single byte, but it can be extended in the future if
>> > required to be used by BPF.)
>>
>> ACK, I'll try to use those kasan_check_read and kasan_check_write rather
>> than __asan_{load,store}X.
>
> No. The performance penalty will be too high.

Since we are mentioning it, I did not consider yet any performance
comparision/benchmarking (and I am not really familiar with usual bpf
performance validation practices for new bpf features). Is there any
existing test I should take a look at for this ? Maybe some specific
benches in tools/testing/selftests/bpf/bench ? 

> hw_tags won't work without corresponding JIT work.
> I see no point sacrificing performance for aesthetics.
> __asan_load/storeX is what compilers emit.
> In that sense JIT is a compiler it should emit exactly the same.




-- 
Alexis Lothoré, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com


^ permalink raw reply

* Re: [PATCH] net/sched: sch_dualpi2: fix NULL pointer dereference in dualpi2_change()
From: Simon Horman @ 2026-04-14 18:36 UTC (permalink / raw)
  To: Kito Xu (veritas501)
  Cc: Jamal Hadi Salim, Jiri Pirko, David S . Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Chia-Yu Chang, netdev, linux-kernel
In-Reply-To: <20260414183132.GC772670@horms.kernel.org>

On Tue, Apr 14, 2026 at 07:31:32PM +0100, Simon Horman wrote:
> On Mon, Apr 13, 2026 at 03:57:40PM +0800, Kito Xu (veritas501) wrote:
> > dualpi2_change() uses a trim loop to enforce the new queue limit after a
> > configuration change. The loop calls qdisc_dequeue_internal(sch, true)
> > which only dequeues from the C-queue (sch->q) and the requeue list
> > (sch->gso_skb). It does not dequeue from the L-queue (q->l_queue).
> > 
> > However, the loop continuation condition checks qdisc_qlen(sch), which
> > reflects the total packet count across both queues because
> > dualpi2_enqueue_skb() manually increments sch->q.qlen for L-queue
> > packets (line 418). Similarly, q->memory_used accounts for memory from
> > both queues.
> > 
> > When all packets reside in the L-queue and the C-queue is empty, the
> > loop condition remains true but qdisc_dequeue_internal() returns NULL.
> > The subsequent skb->truesize dereference causes a NULL pointer oops.
> > 
> > An unprivileged user can trigger this from a user namespace:
> > 
> >   1. unshare(CLONE_NEWUSER | CLONE_NEWNET)
> >   2. Create a dummy device and attach dualpi2 qdisc
> >   3. Send ECT(1)-marked packets to fill the L-queue
> >   4. Reduce the qdisc limit via RTM_NEWQDISC
> 
> ...
> 
> > Fix this by adding a NULL check after qdisc_dequeue_internal(). When
> > the C-queue is exhausted but L-queue packets keep qdisc_qlen(sch) above
> > the limit, the loop breaks safely. Remaining excess L-queue packets will
> > be drained by the normal dequeue path.
> > 
> > Fixes: 320d031ad6e4 ("sched: Struct definition and parsing of dualpi2 qdisc")
> > Signed-off-by: Kito Xu (veritas501) <hxzene@gmail.com>
> 
> Reviewed-by: Simon Horman <horms@kernel.org>

Sorry, I now see that a more comprehensive fix for this code path
is available from the original author of the code.

- [PATCH v1 net 1/1] net/sched: sch_dualpi2: fix limit/memlimit enforcement when dequeueing L-queue
  https://lore.kernel.org/all/20260413163711.56191-1-chia-yu.chang@nokia-bell-labs.com/

^ permalink raw reply

* Re: [PATCH] net/sched: sch_dualpi2: fix NULL pointer dereference in dualpi2_change()
From: Simon Horman @ 2026-04-14 18:31 UTC (permalink / raw)
  To: Kito Xu (veritas501)
  Cc: Jamal Hadi Salim, Jiri Pirko, David S . Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Chia-Yu Chang, netdev, linux-kernel
In-Reply-To: <20260413075740.2234828-1-hxzene@gmail.com>

On Mon, Apr 13, 2026 at 03:57:40PM +0800, Kito Xu (veritas501) wrote:
> dualpi2_change() uses a trim loop to enforce the new queue limit after a
> configuration change. The loop calls qdisc_dequeue_internal(sch, true)
> which only dequeues from the C-queue (sch->q) and the requeue list
> (sch->gso_skb). It does not dequeue from the L-queue (q->l_queue).
> 
> However, the loop continuation condition checks qdisc_qlen(sch), which
> reflects the total packet count across both queues because
> dualpi2_enqueue_skb() manually increments sch->q.qlen for L-queue
> packets (line 418). Similarly, q->memory_used accounts for memory from
> both queues.
> 
> When all packets reside in the L-queue and the C-queue is empty, the
> loop condition remains true but qdisc_dequeue_internal() returns NULL.
> The subsequent skb->truesize dereference causes a NULL pointer oops.
> 
> An unprivileged user can trigger this from a user namespace:
> 
>   1. unshare(CLONE_NEWUSER | CLONE_NEWNET)
>   2. Create a dummy device and attach dualpi2 qdisc
>   3. Send ECT(1)-marked packets to fill the L-queue
>   4. Reduce the qdisc limit via RTM_NEWQDISC

...

> Fix this by adding a NULL check after qdisc_dequeue_internal(). When
> the C-queue is exhausted but L-queue packets keep qdisc_qlen(sch) above
> the limit, the loop breaks safely. Remaining excess L-queue packets will
> be drained by the normal dequeue path.
> 
> Fixes: 320d031ad6e4 ("sched: Struct definition and parsing of dualpi2 qdisc")
> Signed-off-by: Kito Xu (veritas501) <hxzene@gmail.com>

Reviewed-by: Simon Horman <horms@kernel.org>

^ permalink raw reply

* Re: [PATCH net] net/sched: taprio: fix use-after-free in advance_sched() on schedule switch
From: Vinicius Costa Gomes @ 2026-04-14 18:26 UTC (permalink / raw)
  To: Jakub Kicinski
  Cc: Jakub Kicinski, vladimir.oltean, jhs, jiri, davem, edumazet,
	pabeni, horms, netdev, linux-kernel, qjx1298677004
In-Reply-To: <20260413230106.3654555-1-kuba@kernel.org>

Jakub Kicinski <kuba@kernel.org> writes:

> This is an AI-generated review of your patch. The human sending this
> email has considered the AI review valid, or at least plausible.
> ---
> net/sched: taprio: fix use-after-free in advance_sched() on schedule switch
>
> This commit updates advance_sched() to select the next entry from the new
> oper schedule immediately after switch_schedules() returns. It relies on the
> pre-calculated end_time of the new schedule's first entry instead of
> overwriting it with the admin schedule's base time.
>
>> diff --git a/net/sched/sch_taprio.c b/net/sched/sch_taprio.c
>> index f721c03514f60..0316f2dee06ac 100644
>> --- a/net/sched/sch_taprio.c
>> +++ b/net/sched/sch_taprio.c
>
> [ ... ]
>
>> @@ -972,11 +972,12 @@ static enum hrtimer_restart advance_sched(struct hrtimer *timer)
>>  	}
>>  
>>  	if (should_change_schedules(admin, oper, end_time)) {
>> -		/* Set things so the next time this runs, the new
>> -		 * schedule runs.
>> -		 */
>> -		end_time = sched_base_time(admin);
>
> Does removing this assignment introduce a regression where the new schedule
> activates prematurely?
>

should_change_schedules() checks if the previous 'end_time' is after the
start of the "new" admin schedule.

> Since the new schedule's first entry has its end_time pre-calculated
> as base_time + interval, if we activate it early (before its actual
> base_time), does it stretch the entry backwards in time?

If the hrtimer triggers early, that might be possible. But one fact is
that this is on the software implementation, and as its accuracy is the
hrtimer accuracy, second guessing what the hrtimer did/is doing here
seems wrong.

>
> Could this cause its gate mask to apply during the time gap, violating the
> strictly configured gate durations?

Yeah, if the hrtimer fires early, we might have some schedule entries
that are longer than they should be. But that is an intrinsic limitation
of the software mode (at least in its current implementation). 

So, in short, not really concerned about this "violation of strictness",
as long as we are not making it worse, to be clear.

>
>>  		switch_schedules(q, &admin, &oper);
>
> Can this sequence cause a use-after-free regression due to the RCU grace
> period starting too early?
>
> Inside switch_schedules(), call_rcu() is invoked on the old oper
> schedule. However, q->current_entry is not updated until later in
> advance_sched() at the first_run label:
>
> first_run:
> 	rcu_assign_pointer(q->current_entry, next);
>
> If a concurrent reader calls rcu_dereference(q->current_entry) between
> switch_schedules() and this assignment, can it acquire a pointer to the
> old schedule after call_rcu() has already started? This would mean the
> grace period will not wait for this new reader.

I had to sleep on this, yeah, this is possible, but the window is very
narrow. And not introduced by this fix. I guess this problem existed
since I added the concept of an "admin" schedule.

Will fix on a separate patch. Need to think more about this.

>
> As a separate pre-existing issue, can switch_schedules() be called
> concurrently by lockless readers?
>
> If advance_sched() calls it under q->current_entry_lock, but a concurrent
> reader like get_packet_txtime() evaluates the switch condition and calls
> switch_schedules() without holding locks, can they race?

At configuration time, txtime-assisted (which calls get_packet_txtime())
mode and the software mode (which "runs" advance_sched()) are blocked to
run at the same time. This should not be possible.

>
> Could this lead to call_rcu() being called twice on the same old oper
> object, potentially corrupting the RCU callback list?
>
>> +		/* After changing schedules, the next entry is the first one
>> +		 * in the new schedule, with a pre-calculated end_time.
>> +		 */
>> +		next = list_first_entry(&oper->entries, struct sched_entry, list);
>> +		end_time = next->end_time;
>>  	}
>>  
>>  	next->end_time = end_time;


Cheers,
-- 
Vinicius

^ permalink raw reply

* TODOs in oa_tc6
From: Stefan Wahren @ 2026-04-14 18:18 UTC (permalink / raw)
  To: Parthiban Veerasooran; +Cc: netdev

Hello Parthiban,

thank you for upstreaming the lan865x driver.

When do you plan to fix these open TODOs in ethernet/oa_tc6?

Best regards

^ permalink raw reply

* RE: [Intel-wired-lan] [PATCH iwl-net v1] i40e: don't advertise IFF_SUPP_NOFCS
From: Mekala, SunithaX D @ 2026-04-14 18:07 UTC (permalink / raw)
  To: Kohei Enju, intel-wired-lan@lists.osuosl.org,
	netdev@vger.kernel.org
  Cc: Nguyen, Anthony L, Kitszel, Przemyslaw, Andrew Lunn,
	David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Shannon Nelson, Jesse Brandeburg, kohei.enju@gmail.com
In-Reply-To: <20260325205054.109822-1-kohei@enjuk.jp>

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Kohei Enju
> Sent: Wednesday, March 25, 2026 1:50 PM
> To: intel-wired-lan@lists.osuosl.org; netdev@vger.kernel.org
> Cc: Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Kitszel, Przemyslaw <przemyslaw.kitszel@intel.com>; Andrew Lunn <andrew+netdev@lunn.ch>; David S. Miller <davem@davemloft.net>; Eric Dumazet <edumazet@google.com>; Jakub Kicinski <kuba@kernel.org>; Paolo Abeni <pabeni@redhat.com>; > Shannon Nelson <sln@onemain.com>; Jesse Brandeburg <jesse.brandeburg@intel.com>; kohei.enju@gmail.com; Kohei Enju <kohei@enjuk.jp>
> Subject: [Intel-wired-lan] [PATCH iwl-net v1] i40e: don't advertise IFF_SUPP_NOFCS
>
> i40e advertises IFF_SUPP_NOFCS, allowing users to use the SO_NOFCS
> socket option. However, this option is silently ignored, as the driver
> does not check skb->no_fcs, and always enables FCS insertion offload.
>
> Fix this by removing the advertisement of IFF_SUPP_NOFCS.
>
> This behavior can be reproduced with a simple AF_PACKET socket:
>
>  import socket
>   s = socket.socket(socket.AF_PACKET, socket.SOCK_RAW)
>   s.setsockopt(socket.SOL_SOCKET, 43, 1) # SO_NOFCS
>   s.bind(("eth0", 0))
>   s.send(b'\xff' * 64)
>
> Previously, send() succeeds but the driver ignores SO_NOFCS.
> With this change, send() fails with -EPROTONOSUPPORT, as expected.
>
> Fixes: 41c445ff0f48 ("i40e: main driver core")
> Signed-off-by: Kohei Enju <kohei@enjuk.jp>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 1 -
>  1 file changed, 1 deletion(-)

Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)

^ permalink raw reply

* Re: [PATCH v10 01/12] x86/bhi: x86/vmscape: Move LFENCE out of clear_bhb_loop()
From: Pawan Gupta @ 2026-04-14 18:05 UTC (permalink / raw)
  To: x86, Jon Kohler, Nikolay Borisov, H. Peter Anvin, Josh Poimboeuf,
	David Kaplan, Sean Christopherson, Borislav Petkov, Dave Hansen,
	Peter Zijlstra, Alexei Starovoitov, Daniel Borkmann,
	Andrii Nakryiko, KP Singh, Jiri Olsa, David S. Miller,
	David Laight, Andy Lutomirski, Thomas Gleixner, Ingo Molnar,
	David Ahern, Martin KaFai Lau, Eduard Zingerman, Song Liu,
	Yonghong Song, John Fastabend, Stanislav Fomichev, Hao Luo,
	Paolo Bonzini, Jonathan Corbet
  Cc: linux-kernel, kvm, Asit Mallick, Tao Zhang, bpf, netdev,
	linux-doc
In-Reply-To: <20260414-vmscape-bhb-v10-1-efa924abae5f@linux.intel.com>

On Tue, Apr 14, 2026 at 12:05:28AM -0700, Pawan Gupta wrote:
> Currently, the BHB clearing sequence is followed by an LFENCE to prevent
> transient execution of subsequent indirect branches prematurely. However,
> the LFENCE barrier could be unnecessary in certain cases. For example, when
> the kernel is using the BHI_DIS_S mitigation, and BHB clearing is only
> needed for userspace. In such cases, the LFENCE is redundant because ring
> transitions would provide the necessary serialization.
> 
> Below is a quick recap of BHI mitigation options:
> 
> On Alder Lake and newer
> 
>     BHI_DIS_S: Hardware control to mitigate BHI in ring0. This has low
>     performance overhead.
> 
>     Long loop: Alternatively, a longer version of the BHB clearing sequence
>     can be used to mitigate BHI. It can also be used to mitigate the BHI
>     variant of VMSCAPE. This is not yet implemented in Linux.
> 
> On older CPUs
> 
>     Short loop: Clears BHB at kernel entry and VMexit. The "Long loop" is
>     effective on older CPUs as well, but should be avoided because of
>     unnecessary overhead.
> 
> On Alder Lake and newer CPUs, eIBRS isolates the indirect targets between
> guest and host. But when affected by the BHI variant of VMSCAPE, a guest's
> branch history may still influence indirect branches in userspace. This
> also means the big hammer IBPB could be replaced with a cheaper option that
> clears the BHB at exit-to-userspace after a VMexit.
> 
> In preparation for adding the support for the BHB sequence (without LFENCE)
> on newer CPUs, move the LFENCE to the caller side after clear_bhb_loop() is
> executed. Allow callers to decide whether they need the LFENCE or not. This
> adds a few extra bytes to the call sites, but it obviates the need for
> multiple variants of clear_bhb_loop().
> 
> Suggested-by: Dave Hansen <dave.hansen@linux.intel.com>
> Tested-by: Jon Kohler <jon@nutanix.com>
> Reviewed-by: Nikolay Borisov <nik.borisov@suse.com>
> Signed-off-by: Pawan Gupta <pawan.kumar.gupta@linux.intel.com>
> ---

Sorry this is missing Boris's Ack, I will fix.

> Acked-by: Borislav Petkov (AMD) <bp@alien8.de>

^ permalink raw reply

* RE: [Intel-wired-lan] [PATCH iwl-net v1] i40e: fix napi_enable/disable skipping ringless q_vectors
From: Mekala, SunithaX D @ 2026-04-14 17:58 UTC (permalink / raw)
  To: Loktionov, Aleksandr, intel-wired-lan@lists.osuosl.org,
	Nguyen, Anthony L, Loktionov, Aleksandr
  Cc: netdev@vger.kernel.org, Jakub Kicinski
In-Reply-To: <20260324130922.562714-1-aleksandr.loktionov@intel.com>

> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@osuosl.org> On Behalf Of Aleksandr Loktionov
> Sent: Tuesday, March 24, 2026 6:09 AM
> To: intel-wired-lan@lists.osuosl.org; Nguyen, Anthony L <anthony.l.nguyen@intel.com>; Loktionov, Aleksandr <aleksandr.loktionov@intel.com>
> Cc: netdev@vger.kernel.org; Jakub Kicinski <kuba@kernel.org>
> Subject: [Intel-wired-lan] [PATCH iwl-net v1] i40e: fix napi_enable/disable skipping ringless q_vectors
>
> After ethtool -L reduces the queue count, i40e_napi_disable_all() sets
> NAPI_STATE_SCHED on all q_vectors, then i40e_vsi_map_rings_to_vectors()
> clears ring pointers on the excess ones.  i40e_napi_enable_all() skips
> those with:
>
>	if (q_vector->rx.ring || q_vector->tx.ring)
>		napi_enable(&q_vector->napi);
>
> leaving them on dev->napi_list with NAPI_STATE_SCHED permanently set.
>
> Writing to /sys/class/net/<iface>/threaded calls napi_stop_kthread()
> on every entry in dev->napi_list.  The function loops on msleep(20)
> waiting for NAPI_STATE_SCHED to clear -- which never happens for the
> stale q_vectors.  The task hangs in D state forever; a concurrent write
> deadlocks on dev->lock held by the first.
>
> Commit 13a8cd191a2b added the guard to prevent a divide-by-zero in
> i40e_napi_poll() when epoll busy-poll iterated all device NAPIs (4.x
> era).  Since 7adc3d57fe2b ("net: Introduce preferred busy-polling",
> v5.11) napi_busy_loop() polls by napi_id keyed to the socket, so
> ringless q_vectors are never selected.  i40e_msix_clean_rings() also
> independently avoids scheduling NAPI for them.  The guard is safe to
> remove.
>
> Add an early return in i40e_napi_poll() for num_ringpairs == 0 so the
> function is self-defending against a NULL tx.ring dereference at the
> WB_ON_ITR check, should the NAPI ever fire through an unexpected path.
>
> Reported-by: Jakub Kicinski <kuba@kernel.org>
> Closes: https://lore.kernel.org/intel-wired-lan/20260316133100.6054a11f@kernel.org/
> Fixes: 13a8cd191a2b ("i40e: Do not enable NAPI on q_vectors that have no rings")
> Cc: stable@vger.kernel.org
> Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> ---
> Test configuration:
>   Kernel   : Linux 6.19.0-rc8+
>   NIC      : Intel Ethernet Controller XXV710 for 25GbE SFP28 [8086:158b]
>   Driver   : i40e (in-tree)
>   Firmware : 9.40 0x8000ed12 1.3429.0
>   CPU      : 2 x Intel Xeon Gold 6238M (88 logical CPUs, x86_64)
>   RAM      : 64 GiB
>
> Reproduction steps (FAIL before fix):
>   # 1. Reduce queues so excess q_vectors lose their ring pointers
>  ethtool -L <iface> combined 1
>
>   # 2. Enable threaded NAPI (completes fast in 6.19, no hang on enable path)
>   echo 1 > /sys/class/net/<iface>/threaded
>
 >  # 3. Two concurrent writes to disable -- fires the msleep deadlock
>   echo 0 > /sys/class/net/<iface>/threaded &
>   echo 0 > /sys/class/net/<iface>/threaded &
>
>   Both background tasks enter uninterruptible sleep (D state) immediately
>   and never return.
>
>   Observed kernel stack (W1, holds dev->lock):
>     msleep+0x2d/0x50
>     napi_set_threaded+0x10b/0x110
>     netif_set_threaded+0xe1/0x140
>     threaded_store+0xd2/0x100
>     kernfs_fop_write_iter+0x138/0x1d0
>
>   Kernel hung_task message (~120 s after trigger):
>     INFO: task bash blocked for more than 122 seconds.
>     INFO: task bash is blocked on a mutex likely owned by task bash.
>
> Validation (PASS with fix):
>   Both background tasks exit within 1 second.
>   D-state process count: 0.
>   Busy-poll (net.core.busy_poll=50) + 50000-packet UDP flood with
>   1 active queue: no NULL dereference, no crash.
>
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 28 ++++++++++++---------
>  drivers/net/ethernet/intel/i40e/i40e_txrx.c | 10 ++++++++
>  2 files changed, 26 insertions(+), 12 deletions(-)

Tested-by: Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)

^ permalink raw reply

* Re: [PATCH v2] vsock/virtio: fix accept queue count leak on transport mismatch
From: Bobby Eshleman @ 2026-04-14 17:57 UTC (permalink / raw)
  To: Dudu Lu; +Cc: netdev, stefanha, sgarzare, mst, jasowang
In-Reply-To: <20260413131409.19022-1-phx0fer@gmail.com>

On Mon, Apr 13, 2026 at 09:14:09PM +0800, Dudu Lu wrote:
> virtio_transport_recv_listen() calls sk_acceptq_added() before
> vsock_assign_transport(). If vsock_assign_transport() fails or
> selects a different transport, the error path returns without
> calling sk_acceptq_removed(), permanently incrementing
> sk_ack_backlog.
> 
> After approximately backlog+1 such failures, sk_acceptq_is_full()
> returns true, causing the listener to reject all new connections.
> 
> Fix by moving sk_acceptq_added() to after the transport validation,
> matching the pattern used by vmci_transport and hyperv_transport.
> 
> Fixes: c0cfa2d8a788 ("vsock: add multi-transports support")
> Signed-off-by: Dudu Lu <phx0fer@gmail.com>
> ---

Just a heads up that version change lists are encouraged.

>  net/vmw_vsock/virtio_transport_common.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c
> index 8a9fb23c6e85..e01d983488e5 100644
> --- a/net/vmw_vsock/virtio_transport_common.c
> +++ b/net/vmw_vsock/virtio_transport_common.c
> @@ -1560,8 +1560,6 @@ virtio_transport_recv_listen(struct sock *sk, struct sk_buff *skb,
>  		return -ENOMEM;
>  	}
>  
> -	sk_acceptq_added(sk);
> -
>  	lock_sock_nested(child, SINGLE_DEPTH_NESTING);
>  
>  	child->sk_state = TCP_ESTABLISHED;
> @@ -1583,6 +1581,7 @@ virtio_transport_recv_listen(struct sock *sk, struct sk_buff *skb,
>  		return ret;
>  	}
>  
> +	sk_acceptq_added(sk);
>  	if (virtio_transport_space_update(child, skb))
>  		child->sk_write_space(child);
>  
> -- 
> 2.39.3 (Apple Git-145)
> 

This makes sense to me.

Reviewed-by: Bobby Eshleman <bobbyeshleman@meta.com>

^ permalink raw reply

* Re: [PATCH net-next v3 3/5] net: phy: mscc: Drop unnecessary phydev->lock
From: Russell King (Oracle) @ 2026-04-14 17:47 UTC (permalink / raw)
  To: Biju
  Cc: Andrew Lunn, Heiner Kallweit, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Biju Das, Lad Prabhakar,
	Horatiu Vultur, Vladimir Oltean, netdev, linux-kernel,
	Geert Uytterhoeven, linux-renesas-soc
In-Reply-To: <20260412140032.122841-4-biju.das.jz@bp.renesas.com>

On Sun, Apr 12, 2026 at 03:00:25PM +0100, Biju wrote:
> @@ -486,15 +486,9 @@ static int vsc85xx_dt_led_modes_get(struct phy_device *phydev,
>  
>  static int vsc85xx_edge_rate_cntl_set(struct phy_device *phydev, u8 edge_rate)
>  {
> -	int rc;
> -
> -	mutex_lock(&phydev->lock);
> -	rc = phy_modify_paged(phydev, MSCC_PHY_PAGE_EXTENDED_2,
> -			      MSCC_PHY_WOL_MAC_CONTROL, EDGE_RATE_CNTL_MASK,
> -			      edge_rate << EDGE_RATE_CNTL_POS);
> -	mutex_unlock(&phydev->lock);
> -
> -	return rc;
> +	return phy_modify_paged(phydev, MSCC_PHY_PAGE_EXTENDED_2,
> +				MSCC_PHY_WOL_MAC_CONTROL, EDGE_RATE_CNTL_MASK,
> +				edge_rate << EDGE_RATE_CNTL_POS);

This one is fine.

> @@ -503,7 +497,6 @@ static int vsc85xx_mac_if_set(struct phy_device *phydev,
>  	int rc;
>  	u16 reg_val;
>  
> -	mutex_lock(&phydev->lock);
>  	reg_val = phy_read(phydev, MSCC_PHY_EXT_PHY_CNTL_1);
>  	reg_val &= ~(MAC_IF_SELECTION_MASK);
>  	switch (interface) {
> @@ -522,17 +515,15 @@ static int vsc85xx_mac_if_set(struct phy_device *phydev,
>  		break;
>  	default:
>  		rc = -EINVAL;
> -		goto out_unlock;
> +		goto err;
>  	}
>  	rc = phy_write(phydev, MSCC_PHY_EXT_PHY_CNTL_1, reg_val);

I would much rather this was converted to use phy_modify() as well so
that we ensure that the update is atomic.

	rc = phy_modify(phydev, MSCC_PHY_EXT_PHY_CNTL_1,
			MAC_IF_SELECTION_MASK, reg_val);

where reg_val is assigned the field value in the switch above.

> @@ -668,19 +659,15 @@ static int vsc8531_pre_init_seq_set(struct phy_device *phydev)
>  	if (rc < 0)
>  		return rc;
>  
> -	mutex_lock(&phydev->lock);
>  	oldpage = phy_select_page(phydev, MSCC_PHY_PAGE_TR);
>  	if (oldpage < 0)
> -		goto out_unlock;
> +		goto restore_oldpage;
>  
>  	for (i = 0; i < ARRAY_SIZE(init_seq); i++)
>  		vsc85xx_tr_write(phydev, init_seq[i].reg, init_seq[i].val);
>  
> -out_unlock:
> -	oldpage = phy_restore_page(phydev, oldpage, oldpage);
> -	mutex_unlock(&phydev->lock);
> -
> -	return oldpage;
> +restore_oldpage:
> +	return phy_restore_page(phydev, oldpage, oldpage);

This is fine.

> @@ -708,19 +695,15 @@ static int vsc85xx_eee_init_seq_set(struct phy_device *phydev)
>  	unsigned int i;
>  	int oldpage;
>  
> -	mutex_lock(&phydev->lock);
>  	oldpage = phy_select_page(phydev, MSCC_PHY_PAGE_TR);
>  	if (oldpage < 0)
> -		goto out_unlock;
> +		goto restore_oldpage;
>  
>  	for (i = 0; i < ARRAY_SIZE(init_eee); i++)
>  		vsc85xx_tr_write(phydev, init_eee[i].reg, init_eee[i].val);
>  
> -out_unlock:
> -	oldpage = phy_restore_page(phydev, oldpage, oldpage);
> -	mutex_unlock(&phydev->lock);
> -
> -	return oldpage;
> +restore_oldpage:
> +	return phy_restore_page(phydev, oldpage, oldpage);

Also fine.

Thanks.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!

^ permalink raw reply

* Re: [PATCH v2 2/6] bus: mhi: host: Add support for non-posted TSC timesync feature
From: Vadim Fedorenko @ 2026-04-14 17:46 UTC (permalink / raw)
  To: Krishna Chaitanya Chundru, Manivannan Sadhasivam, Richard Cochran
  Cc: mhi, linux-arm-msm, linux-kernel, netdev, Vivek Pernamitta
In-Reply-To: <20260411-tsc_timesync-v2-2-6f25f72987b3@oss.qualcomm.com>

On 11/04/2026 09:12, Krishna Chaitanya Chundru wrote:
> From: Vivek Pernamitta <quic_vpernami@quicinc.com>
> 
> Implement non-posted time synchronization as described in section 5.1.1
> of the MHI v1.2 specification. The host disables low-power link states
> to minimize latency, reads the local time, issues a MMIO read to the
> device's TIME register.
> 
> Add support for initializing this feature and export a function to be
> used by the drivers which does the time synchronization.
> 
> MHI reads the device time registers in the MMIO address space pointed to
> by the capability register after disabling all low power modes and keeping
> MHI in M0. Before and after MHI reads, the local time is captured
> and shared for processing.

[...]

> +	/*
> +	 * time critical code to fetch device time, delay between these two steps
> +	 * should be deterministic as possible.
> +	 */
> +	preempt_disable();
> +	local_irq_disable();
> +
> +	time->t_host_pre = ktime_get_real();
> +
> +	/*
> +	 * To ensure the PCIe link is in L0 when ASPM is enabled, perform series
> +	 * of back-to-back reads. This is necessary because the link may be in a
> +	 * low-power state (e.g., L1 or L1ss), and need to be forced it to
> +	 * transition to L0.
> +	 */
> +	for (i = 0; i < MHI_NUM_BACK_TO_BACK_READS; i++) {
> +		ret = mhi_read_reg(mhi_cntrl, mhi_tsync->time_reg,
> +				   TSC_TIMESYNC_TIME_LOW_OFFSET, &time->t_dev_lo);
> +
> +		ret = mhi_read_reg(mhi_cntrl, mhi_tsync->time_reg,
> +				   TSC_TIMESYNC_TIME_HIGH_OFFSET, &time->t_dev_hi);
> +	}
> +
> +	time->t_host_post = ktime_get_real();
> +
> +	local_irq_enable();
> +	preempt_enable();

PTP_SYS_OFFSET_EXTENDED receives the amount of samples to read from user
space, you can use it instead of MHI_NUM_BACK_TO_BACK_READS, and in this
case it's better to grab host-pre and host-post time for a single
register read.

Also, PTP_SYS_OFFSET_EXTENDED was improved and currently supports
multiple clockids as system time, it's good to account for it.

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox