* Re: [PATCH net-next v7 01/10] net: team: Annotate reads and writes for mixed lock accessed values
From: Kuniyuki Iwashima @ 2026-04-10 5:55 UTC (permalink / raw)
To: Marc Harvey
Cc: Jiri Pirko, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, netdev,
linux-kernel, linux-kselftest
In-Reply-To: <20260409-teaming-driver-internal-v7-1-f47e7589685d@google.com>
On Wed, Apr 8, 2026 at 7:59 PM Marc Harvey <marcharvey@google.com> wrote:
>
> The team_port's "index" and the team's "en_port_count" are read in
> the hot transmit path, but are only written to when holding the rtnl
> lock.
>
> Use READ_ONCE() for all lockless reads of these values, and use
> WRITE_ONCE() for all writes.
>
> Reviewed-by: Jiri Pirko <jiri@nvidia.com>
> Signed-off-by: Marc Harvey <marcharvey@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
fwiw, Sashiko's review is orthogonal to this patch;
the comments are for the existing code before this patch.
^ permalink raw reply
* Re: [PATCH net-next v7 02/10] net: team: Remove unused team_mode_op, port_enabled
From: Kuniyuki Iwashima @ 2026-04-10 5:56 UTC (permalink / raw)
To: Marc Harvey
Cc: Jiri Pirko, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, netdev,
linux-kernel, linux-kselftest
In-Reply-To: <20260409-teaming-driver-internal-v7-2-f47e7589685d@google.com>
On Wed, Apr 8, 2026 at 7:59 PM Marc Harvey <marcharvey@google.com> wrote:
>
> This team_mode_op wasn't used by any of the team modes, so remove it.
>
> Reviewed-by: Jiri Pirko <jiri@nvidia.com>
> Signed-off-by: Marc Harvey <marcharvey@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
^ permalink raw reply
* Re: [PATCH net-next v7 03/10] net: team: Rename port_disabled team mode op to port_tx_disabled
From: Kuniyuki Iwashima @ 2026-04-10 5:56 UTC (permalink / raw)
To: Marc Harvey
Cc: Jiri Pirko, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, netdev,
linux-kernel, linux-kselftest
In-Reply-To: <20260409-teaming-driver-internal-v7-3-f47e7589685d@google.com>
On Wed, Apr 8, 2026 at 7:59 PM Marc Harvey <marcharvey@google.com> wrote:
>
> This team mode op is only used by the load balance mode, and it only
> uses it in the tx path.
>
> Reviewed-by: Jiri Pirko <jiri@nvidia.com>
> Signed-off-by: Marc Harvey <marcharvey@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
^ permalink raw reply
* Re: [PATCH net-next v7 04/10] selftests: net: Add tests for failover of team-aggregated ports
From: Kuniyuki Iwashima @ 2026-04-10 6:09 UTC (permalink / raw)
To: Marc Harvey
Cc: Jiri Pirko, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, netdev,
linux-kernel, linux-kselftest
In-Reply-To: <20260409-teaming-driver-internal-v7-4-f47e7589685d@google.com>
On Wed, Apr 8, 2026 at 7:59 PM Marc Harvey <marcharvey@google.com> wrote:
>
> There are currently no kernel tests that verify the effect of setting
> the enabled team driver option. In a followup patch, there will be
> changes to this option, so it will be important to make sure it still
> behaves as it does now.
>
> The test verifies that tcp continues to work across two different team
> devices in separate network namespaces, even when member links are
> manually disabled.
>
> Signed-off-by: Marc Harvey <marcharvey@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
^ permalink raw reply
* (no subject)
From: wit_yuan @ 2026-04-10 6:09 UTC (permalink / raw)
To: jk
Cc: yuanzhaoming901030, yuanzm2, matt, davem, edumazet, kuba, pabeni,
netdev, linux-kernel
In-Reply-To: <ff147a3f0d27ef2aa6026cc86f9113d56a8c61ac.camel@codeconstruct.com.au/T/#rc39d8ae7e5ee7e74556d16fc836cc9f2bf745701>
thanks for you reply, jeremy.
I will change the identity.
I also modify the optimized code.
^ permalink raw reply
* [PATCH next-next v2] net:mctp: fix setting mctp hdr ver reserved field cause data dropped
From: wit_yuan @ 2026-04-10 6:09 UTC (permalink / raw)
To: jk
Cc: yuanzhaoming901030, yuanzm2, matt, davem, edumazet, kuba, pabeni,
netdev, linux-kernel
In-Reply-To: <20260410060957.1336-1-yuanzhaoming901030@126.com>
From: Yuan Zhaoming <yuanzm2@lenovo.com>
from spec dsp0236_1.2.1.pdf page 26, the mctp header contains the
RSVD(4bit) and Hdr version(4 bit).
mctp_pkttype_receive invoke mctp_hdr, and get mh->ver whole byte
compare the MCTP_VER_MIN, MCTP_VER_MAX. the reserver bits may be by
misleading used.
one type hba card will set pcie vdm header Pad Len the same with RSVD
bit, this will not work on mctp kernel solution.
Signed-off-by: Yuan Zhaoming <yuanzm2@lenovo.com>
---
include/net/mctp.h | 1 +
net/mctp/route.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/include/net/mctp.h b/include/net/mctp.h
index f481007a6..1392fafe7 100644
--- a/include/net/mctp.h
+++ b/include/net/mctp.h
@@ -35,6 +35,7 @@ struct mctp_hdr {
#define MCTP_HDR_SEQ_MASK GENMASK(1, 0)
#define MCTP_HDR_TAG_SHIFT 0
#define MCTP_HDR_TAG_MASK GENMASK(2, 0)
+#define MCTP_HDR_VER_MASK GENMASK(3, 0)
#define MCTP_INITIAL_DEFAULT_NET 1
diff --git a/net/mctp/route.c b/net/mctp/route.c
index 56c441e90..aa0e89d67 100644
--- a/net/mctp/route.c
+++ b/net/mctp/route.c
@@ -464,7 +464,7 @@ static int mctp_dst_input(struct mctp_dst *dst, struct sk_buff *skb)
netid = mctp_cb(skb)->net;
skb_pull(skb, sizeof(struct mctp_hdr));
- if (mh->ver != 1)
+ if (((mh->ver & MCTP_HDR_VER_MASK)) < MCTP_VER_MIN || (mh->ver & MCTP_HDR_VER_MASK) > MCTP_VER_MAX)
goto out;
flags = mh->flags_seq_tag & (MCTP_HDR_FLAG_SOM | MCTP_HDR_FLAG_EOM);
@@ -1345,7 +1345,7 @@ static int mctp_pkttype_receive(struct sk_buff *skb, struct net_device *dev,
/* We have enough for a header; decode and route */
mh = mctp_hdr(skb);
- if (mh->ver < MCTP_VER_MIN || mh->ver > MCTP_VER_MAX)
+ if (((mh->ver & MCTP_HDR_VER_MASK)) < MCTP_VER_MIN || (mh->ver & MCTP_HDR_VER_MASK) > MCTP_VER_MAX)
goto err_drop;
/* source must be valid unicast or null; drop reserved ranges and
--
2.43.0
^ permalink raw reply related
* Re: [PATCH net-next 2/9] r8152: Add support for RTL8157 SRAM access and ADV indirect access
From: Birger Koblitz @ 2026-04-10 6:11 UTC (permalink / raw)
To: kernel test robot, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni
Cc: llvm, oe-kbuild-all, netdev, linux-usb, linux-kernel
In-Reply-To: <202604101309.B9mdviRN-lkp@intel.com>
On 10/04/2026 07:17, kernel test robot wrote:
> Hi Birger,
>
> kernel test robot noticed the following build warnings:
>
> [auto build test WARNING on 5c9e55fecf9365890c64f14761a80f9413a3b1d1]
>
> url: https://github.com/intel-lab-lkp/linux/commits/Birger-Koblitz/r8152-Add-support-for-RTL8157-RX-TX-descriptor-format/20260315-014044
> base: 5c9e55fecf9365890c64f14761a80f9413a3b1d1
> patch link: https://lore.kernel.org/r/20260314-rtl8157_next-v1-2-9ba77b428afd%40birger-koblitz.de
> patch subject: [PATCH net-next 2/9] r8152: Add support for RTL8157 SRAM access and ADV indirect access
This refers to the initial version of the patch, possibly v1, but v7 was applied, which did not even
have this particular patch. This is probably a configuration issue of what the robot sees.
Birger
^ permalink raw reply
* (no subject)
From: wit_yuan @ 2026-04-10 6:17 UTC (permalink / raw)
To: jk
Cc: yuanzhaoming901030, yuanzm2, matt, davem, edumazet, kuba, pabeni,
netdev, linux-kernel
In-Reply-To: <ff147a3f0d27ef2aa6026cc86f9113d56a8c61ac.camel@codeconstruct.com.au>
thanks for you reply, jeremy.
I will change the identity.
I also modify the optimized code.
^ permalink raw reply
* [PATCH next-next v2] net:mctp: fix setting mctp hdr ver reserved field cause data dropped
From: wit_yuan @ 2026-04-10 6:17 UTC (permalink / raw)
To: jk
Cc: yuanzhaoming901030, yuanzm2, matt, davem, edumazet, kuba, pabeni,
netdev, linux-kernel
In-Reply-To: <20260410061703.3547-1-yuanzhaoming901030@126.com>
From: Yuan Zhaoming <yuanzm2@lenovo.com>
from spec dsp0236_1.2.1.pdf page 26, the mctp header contains the
RSVD(4bit) and Hdr version(4 bit).
mctp_pkttype_receive invoke mctp_hdr, and get mh->ver whole byte
compare the MCTP_VER_MIN, MCTP_VER_MAX. the reserver bits may be by
misleading used.
one type hba card will set pcie vdm header Pad Len the same with RSVD
bit, this will not work on mctp kernel solution.
Signed-off-by: Yuan Zhaoming <yuanzm2@lenovo.com>
---
include/net/mctp.h | 1 +
net/mctp/route.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/include/net/mctp.h b/include/net/mctp.h
index f481007a6..1392fafe7 100644
--- a/include/net/mctp.h
+++ b/include/net/mctp.h
@@ -35,6 +35,7 @@ struct mctp_hdr {
#define MCTP_HDR_SEQ_MASK GENMASK(1, 0)
#define MCTP_HDR_TAG_SHIFT 0
#define MCTP_HDR_TAG_MASK GENMASK(2, 0)
+#define MCTP_HDR_VER_MASK GENMASK(3, 0)
#define MCTP_INITIAL_DEFAULT_NET 1
diff --git a/net/mctp/route.c b/net/mctp/route.c
index 56c441e90..aa0e89d67 100644
--- a/net/mctp/route.c
+++ b/net/mctp/route.c
@@ -464,7 +464,7 @@ static int mctp_dst_input(struct mctp_dst *dst, struct sk_buff *skb)
netid = mctp_cb(skb)->net;
skb_pull(skb, sizeof(struct mctp_hdr));
- if (mh->ver != 1)
+ if (((mh->ver & MCTP_HDR_VER_MASK)) < MCTP_VER_MIN || (mh->ver & MCTP_HDR_VER_MASK) > MCTP_VER_MAX)
goto out;
flags = mh->flags_seq_tag & (MCTP_HDR_FLAG_SOM | MCTP_HDR_FLAG_EOM);
@@ -1345,7 +1345,7 @@ static int mctp_pkttype_receive(struct sk_buff *skb, struct net_device *dev,
/* We have enough for a header; decode and route */
mh = mctp_hdr(skb);
- if (mh->ver < MCTP_VER_MIN || mh->ver > MCTP_VER_MAX)
+ if (((mh->ver & MCTP_HDR_VER_MASK)) < MCTP_VER_MIN || (mh->ver & MCTP_HDR_VER_MASK) > MCTP_VER_MAX)
goto err_drop;
/* source must be valid unicast or null; drop reserved ranges and
--
2.43.0
^ permalink raw reply related
* Re: [PATCH net-next v7 05/10] selftests: net: Add test for enablement of ports with teamd
From: Kuniyuki Iwashima @ 2026-04-10 6:18 UTC (permalink / raw)
To: Marc Harvey
Cc: Jiri Pirko, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, netdev,
linux-kernel, linux-kselftest
In-Reply-To: <20260409-teaming-driver-internal-v7-5-f47e7589685d@google.com>
On Wed, Apr 8, 2026 at 7:59 PM Marc Harvey <marcharvey@google.com> wrote:
>
> There are no tests that verify enablement and disablement of team driver
> ports with teamd. This should work even with changes to the enablement
> option, so it is important to test.
>
> This test sets up an active-backup network configuration across two
> network namespaces, and tries to send traffic while changing which
> link is the active one.
>
> Also increase the team test timeout to 300 seconds, because gracefully
> killing teamd can take 30 seconds for each instance.
>
> Signed-off-by: Marc Harvey <marcharvey@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
^ permalink raw reply
* Re: [PATCH 3/4] drm/drm_ras: Add DRM RAS netlink error event notification
From: Tauro, Riana @ 2026-04-10 6:20 UTC (permalink / raw)
To: Raag Jadav, aravind.iddamsetty, intel-xe
Cc: rodrigo.vivi, dri-devel, netdev, anshuman.gupta, joonas.lahtinen,
simona.vetter, airlied, pratik.bari, joshua.santosh.ranjan,
ashwin.kumar.kulkarni, shubham.kumar, ravi.kishore.koppuravuri,
anvesh.bakwad, maarten.lankhorst, Zack McKevitt, Lijo Lazar,
Hawking Zhang, David S. Miller, Paolo Abeni, Eric Dumazet,
Jakub Kicinski
In-Reply-To: <adc6hTz-xMopiJsc@black.igk.intel.com>
On 4/9/2026 11:05 AM, Raag Jadav wrote:
> On Wed, Apr 08, 2026 at 07:59:33PM +0530, Tauro, Riana wrote:
>> On 3/25/2026 7:01 PM, Raag Jadav wrote:
>>> On Wed, Mar 11, 2026 at 03:59:17PM +0530, Riana Tauro wrote:
> ...
>
>>>> +Example: Listen to error events
>>>> +
>>>> +.. code-block:: bash
>>>> +
>>>> + sudo ynl --family drm_ras --subscribe error-notify
>>>> + {'msg': {'error-id': 1, 'node-id': 1}, 'name': 'error-event'}
>>> Can we also have error-name and node-name? I'd be pulling my hair off
>>> if I need to remember all the ids.
>> Yeah makes sense. We can add the node_name, error_name.
>> Adding device_name would also be more useful in the event.
>>
>> @Rodrigo/@aravind thoughts?
>>
I tried adding all parameters, but the event response seems overloaded.
I think node-name, error-name is not necessary since this will be mostly
used
by tools and scripts that get the nodes and error-ids prior to subscribing.
Let me know your thoughts
$ sudo ./tools/net/ynl/pyynl/cli.py --family drm_ras --subscribe
error-notify
{'msg': {'device-name': '0000:03:00.0', 'error-id': 1, 'error-name':
'core-compute', 'node-id': 3, 'node-name': 'uncorrectable-errors'},
'name': 'error-event'}
{'msg': {'device-name': '0000:04:00.0', 'error-id': 1, 'error-name':
'core-compute', 'node-id': 1, 'node-name': 'uncorrectable-errors'},
'name': 'error-event'}
Thanks
Riana
>>
>>> On that note, I think it'll be good to have them as part of request
>>> attributes as an alternative to ids (also for existing commands) but
>>> that can done as a follow up.
>>>
>> We cannot use names as alternative because it won't work for multiple cards.
>> example in xe: Suppose there are 2 cards and each has 2 nodes. We cannot
>> query using node_name+error_name.
>> Also most of the netlink implementations use id's as unique identifiers.
>>
>> $ sudo ./cli.py --family drm_ras --dump list-nodes
>> [{'device-name': 'bdf_1', 'node-id': 0, 'node-name': 'correctable-errors',
>> 'node-type': 'error-counter'},
>> {'device-name': 'bdf_1, 'node-id': 1, 'node-name': 'uncorrectable-errors',
>> 'node-type': 'error-counter'},
>> {'device-name': 'bdf_2', 'node-id': 2, 'node-name': 'correctable-errors',
>> 'node-type': 'error-counter'},
>> {'device-name': 'bdf_2', 'node-id': 3, 'node-name': 'uncorrectable-errors',
>> 'node-type': 'error-counter'}]
> This means they don't persist the user needs to figures out all the ids before
> anything can happen. In device node world we have /dev/dri/by-path/<bdf> which
> makes it much easier.
>
> Also, I'm not much informed about the history and it's still unclear to me what
> problem did netlink solve here that cannot be solved by anything else? But we're
> too late for that discussion, and again, not my call.
>
>>> Also, what if I have multiple devices with multiple nodes. Do they need
>>> separate subscription?
>>>
>> No, we subscribe only to the group not the nodes. In this case the group is
>> 'error-notify'
>>
>> $ sudo ./cli.py --family drm_ras --subscribe error-notify
>> {'msg': {'error-id': 1, 'node-id': 1}, 'name': 'error-event'}
>> {'msg': {'error-id': 1, 'node-id': 3}, 'name': 'error-event'}
> Hm, perhaps I need to spend some time wrapping my head around the new concept.
> Let's catch up sometime this week.
>
> Raag
^ permalink raw reply
* Re: [PATCH net-next v7 06/10] net: team: Rename enablement functions and struct members to tx
From: Kuniyuki Iwashima @ 2026-04-10 6:22 UTC (permalink / raw)
To: Marc Harvey
Cc: Jiri Pirko, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, netdev,
linux-kernel, linux-kselftest
In-Reply-To: <20260409-teaming-driver-internal-v7-6-f47e7589685d@google.com>
On Wed, Apr 8, 2026 at 7:59 PM Marc Harvey <marcharvey@google.com> wrote:
>
> Add no functional changes, but rename enablement functions, variables
> etc. that are used in teaming driver transmit decisions.
>
> Since rx and tx enablement are still coupled, some of the variables
> renamed in this patch are still used for the rx path, but that will
> change in a follow-up patch.
>
> Reviewed-by: Jiri Pirko <jiri@nvidia.com>
> Signed-off-by: Marc Harvey <marcharvey@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
^ permalink raw reply
* Re: [PATCH net-next v7 07/10] net: team: Track rx enablement separately from tx enablement
From: Kuniyuki Iwashima @ 2026-04-10 6:31 UTC (permalink / raw)
To: Marc Harvey
Cc: Jiri Pirko, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, netdev,
linux-kernel, linux-kselftest
In-Reply-To: <20260409-teaming-driver-internal-v7-7-f47e7589685d@google.com>
On Wed, Apr 8, 2026 at 7:59 PM Marc Harvey <marcharvey@google.com> wrote:
>
> Separate the rx and tx enablement/disablement into different
> functions so that it is easier to interact with them independently
> later.
>
> Although this patch changes receive and transmit paths, the actual
> behavior of the teaming driver should remain unchanged, since there
> is no option introduced yet to change rx or tx enablement
> independently. Those options will be added in follow-up patches.
>
> Reviewed-by: Jiri Pirko <jiri@nvidia.com>
> Signed-off-by: Marc Harvey <marcharvey@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
^ permalink raw reply
* [PATCH net 1/1] af_unix: Hold receive queue lock in ioctl(SIOCATMARK)
From: Ren Wei @ 2026-04-10 6:31 UTC (permalink / raw)
To: netdev
Cc: kuniyu, davem, edumazet, kuba, pabeni, horms, rao.shoaib,
yifanwucs, tomapufckgml, yuantan098, bird, enjou1224z,
wangjiexun2025, n05ec
In-Reply-To: <cover.1775731983.git.wangjiexun2025@gmail.com>
From: Jiexun Wang <wangjiexun2025@gmail.com>
unix_ioctl() peeks at the receive queue and may check both the head skb
and its successor while deciding whether SIOCATMARK should report the
mark. However, u->iolock does not stabilize receive-queue element
lifetime. Queue teardown paths can purge or splice the queue under
sk->sk_receive_queue.lock and free the skb while unix_ioctl() still
uses it.
Take sk->sk_receive_queue.lock while inspecting the queue so the skb
and next_skb stay alive for the whole decision.
Fixes: 314001f0bf92 ("af_unix: Add OOB support")
Reported-by: Yifan Wu <yifanwucs@gmail.com>
Reported-by: Juefei Pu <tomapufckgml@gmail.com>
Co-developed-by: Yuan Tan <yuantan098@gmail.com>
Signed-off-by: Yuan Tan <yuantan098@gmail.com>
Suggested-by: Xin Liu <bird@lzu.edu.cn>
Tested-by: Ren Wei <enjou1224z@gmail.com>
Signed-off-by: Jiexun Wang <wangjiexun2025@gmail.com>
Signed-off-by: Ren Wei <n05ec@lzu.edu.cn>
---
net/unix/af_unix.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c
index b23c33df8b46..54f12d5cda37 100644
--- a/net/unix/af_unix.c
+++ b/net/unix/af_unix.c
@@ -3301,6 +3301,8 @@ static int unix_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
int answ = 0;
mutex_lock(&u->iolock);
+ /* The receive queue lock keeps skb and next_skb alive. */
+ spin_lock(&sk->sk_receive_queue.lock);
skb = skb_peek(&sk->sk_receive_queue);
if (skb) {
@@ -3315,6 +3317,7 @@ static int unix_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
answ = 1;
}
+ spin_unlock(&sk->sk_receive_queue.lock);
mutex_unlock(&u->iolock);
err = put_user(answ, (int __user *)arg);
--
2.34.1
^ permalink raw reply related
* Re: [PATCH net-next v7 08/10] net: team: Add new rx_enabled team port option
From: Kuniyuki Iwashima @ 2026-04-10 6:33 UTC (permalink / raw)
To: Marc Harvey
Cc: Jiri Pirko, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, netdev,
linux-kernel, linux-kselftest
In-Reply-To: <20260409-teaming-driver-internal-v7-8-f47e7589685d@google.com>
On Wed, Apr 8, 2026 at 7:59 PM Marc Harvey <marcharvey@google.com> wrote:
>
> Allow independent control over rx enablement via the rx_enabled option
> without affecting tx enablement. This affects the normal enabled
> option since a port is only considered enabled if both tx and rx are
> enabled.
>
> If this option is not used, then the enabled option will continue to
> behave exactly as it did before.
>
> Tested in a follow-up patch with a new selftest.
>
> Reviewed-by: Jiri Pirko <jiri@nvidia.com>
> Signed-off-by: Marc Harvey <marcharvey@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
^ permalink raw reply
* (no subject)
From: wit_yuan @ 2026-04-10 6:33 UTC (permalink / raw)
To: netdev
In-Reply-To: <20260410060957.1336-2-yuanzhaoming901030@126.com>
Please ignore this patch. It was sent by mistake due to i'm newbee.
I will send a corrected version shortly.
Sorry for the noise.
^ permalink raw reply
* [PATCH next-next v2] net:mctp: fix setting mctp hdr ver reserved field cause data dropped
From: wit_yuan @ 2026-04-10 6:33 UTC (permalink / raw)
To: netdev; +Cc: Yuan Zhaoming
In-Reply-To: <20260410063334.7531-1-yuanzhaoming901030@126.com>
From: Yuan Zhaoming <yuanzm2@lenovo.com>
from spec dsp0236_1.2.1.pdf page 26, the mctp header contains the
RSVD(4bit) and Hdr version(4 bit).
mctp_pkttype_receive invoke mctp_hdr, and get mh->ver whole byte
compare the MCTP_VER_MIN, MCTP_VER_MAX. the reserver bits may be by
misleading used.
one type hba card will set pcie vdm header Pad Len the same with RSVD
bit, this will not work on mctp kernel solution.
Signed-off-by: Yuan Zhaoming <yuanzm2@lenovo.com>
---
include/net/mctp.h | 1 +
net/mctp/route.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/include/net/mctp.h b/include/net/mctp.h
index f481007a6..1392fafe7 100644
--- a/include/net/mctp.h
+++ b/include/net/mctp.h
@@ -35,6 +35,7 @@ struct mctp_hdr {
#define MCTP_HDR_SEQ_MASK GENMASK(1, 0)
#define MCTP_HDR_TAG_SHIFT 0
#define MCTP_HDR_TAG_MASK GENMASK(2, 0)
+#define MCTP_HDR_VER_MASK GENMASK(3, 0)
#define MCTP_INITIAL_DEFAULT_NET 1
diff --git a/net/mctp/route.c b/net/mctp/route.c
index 56c441e90..aa0e89d67 100644
--- a/net/mctp/route.c
+++ b/net/mctp/route.c
@@ -464,7 +464,7 @@ static int mctp_dst_input(struct mctp_dst *dst, struct sk_buff *skb)
netid = mctp_cb(skb)->net;
skb_pull(skb, sizeof(struct mctp_hdr));
- if (mh->ver != 1)
+ if (((mh->ver & MCTP_HDR_VER_MASK)) < MCTP_VER_MIN || (mh->ver & MCTP_HDR_VER_MASK) > MCTP_VER_MAX)
goto out;
flags = mh->flags_seq_tag & (MCTP_HDR_FLAG_SOM | MCTP_HDR_FLAG_EOM);
@@ -1345,7 +1345,7 @@ static int mctp_pkttype_receive(struct sk_buff *skb, struct net_device *dev,
/* We have enough for a header; decode and route */
mh = mctp_hdr(skb);
- if (mh->ver < MCTP_VER_MIN || mh->ver > MCTP_VER_MAX)
+ if (((mh->ver & MCTP_HDR_VER_MASK)) < MCTP_VER_MIN || (mh->ver & MCTP_HDR_VER_MASK) > MCTP_VER_MAX)
goto err_drop;
/* source must be valid unicast or null; drop reserved ranges and
--
2.43.0
^ permalink raw reply related
* Re: [PATCH net-next v7 09/10] net: team: Add new tx_enabled team port option
From: Kuniyuki Iwashima @ 2026-04-10 6:36 UTC (permalink / raw)
To: Marc Harvey
Cc: Jiri Pirko, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, netdev,
linux-kernel, linux-kselftest
In-Reply-To: <20260409-teaming-driver-internal-v7-9-f47e7589685d@google.com>
On Wed, Apr 8, 2026 at 7:59 PM Marc Harvey <marcharvey@google.com> wrote:
>
> This option allows independent control over tx enablement without
> affecting rx enablement. Like the rx_enabled option, this also
> implicitly affects the enabled option.
>
> If this option is not used, then the enabled option will continue to
> behave as it did before.
>
> Tested in a follow-up patch with a new selftest.
>
> Reviewed-by: Jiri Pirko <jiri@nvidia.com>
> Signed-off-by: Marc Harvey <marcharvey@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
^ permalink raw reply
* Re: [PATCH net-next v7 10/10] selftests: net: Add tests for team driver decoupled tx and rx control
From: Kuniyuki Iwashima @ 2026-04-10 6:40 UTC (permalink / raw)
To: Marc Harvey
Cc: Jiri Pirko, Andrew Lunn, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Shuah Khan, Simon Horman, netdev,
linux-kernel, linux-kselftest
In-Reply-To: <20260409-teaming-driver-internal-v7-10-f47e7589685d@google.com>
On Wed, Apr 8, 2026 at 7:59 PM Marc Harvey <marcharvey@google.com> wrote:
>
> Use ping and tcpdump to verify that independent rx and tx enablement
> of team driver member interfaces works as intended.
>
> Signed-off-by: Marc Harvey <marcharvey@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
^ permalink raw reply
* [GIT PULL] wireless-next-2026-04-10
From: Johannes Berg @ 2026-04-10 6:44 UTC (permalink / raw)
To: netdev; +Cc: linux-wireless
Hi,
Final (obviously) pull request for now, the only thing to
note is the crypto changes, FWIW the change touching crypto
was acked by Herbert and he asked me to take it:
https://lore.kernel.org/r/adYNVB3n358xm_s8@gondor.apana.org.au/
Please pull and let us know if there's any problem.
Thanks,
johannes
The following changes since commit 8ffb33d7709b59ff60560f48960a73bd8a55be95:
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net (2026-04-02 11:03:13 -0700)
are available in the Git repository at:
https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next.git tags/wireless-next-2026-04-10
for you to fetch changes up to fa489a77e3267e05df95db96ba98e141ec07cbd9:
wifi: cfg80211: Explicitly include <linux/export.h> in michael-mic.c (2026-04-09 08:54:43 +0200)
----------------------------------------------------------------
Final updates, notably:
- crypto: move Michael MIC code into wireless (only)
- mac80211:
- multi-link 4-addr support
- NAN data support (but no drivers yet)
- ath10k: DT quirk to make it work on some devices
- ath12k: IPQ5424 support
- rtw89: USB improvements for performance
----------------------------------------------------------------
Alexander Stein (1):
wifi: brcmfmac: silence warning for non-existent, optional firmware
Alexey Velichayshiy (1):
wifi: rtw89: phy: fix uninitialized variable access in rtw89_phy_cfo_set_crystal_cap()
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
Avraham Stern (1):
wifi: mac80211: allow add_key on NAN interfaces
Avula Sri Charan (1):
wifi: ath12k: Skip adding inactive partner vdev info
Baochen Qiang (1):
wifi: ath10k: fix station lookup failure during disconnect
Benjamin Berg (3):
wifi: mac80211: add a TXQ for management frames on NAN devices
wifi: ieee80211: add more NAN definitions
wifi: mac80211: export ieee80211_calculate_rx_timestamp
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
Brendan Jackman (2):
wifi: iwlegacy: Fixup allocation failure log
wifi: iwlegacy: Fix GFP flags in allocation loop
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
Christian Hewitt (1):
wifi: rtw89: retry efuse physical map dump on transient failure
Christos Longros (1):
wifi: rtw89: fix typo "frome" -> "from" in rx_freq_frome_ie
Duoming Zhou (1):
wifi: rtlwifi: pci: fix possible use-after-free caused by unfinished irq_prepare_bcn_tasklet
Eric Biggers (7):
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 Huang (1):
wifi: rtw89: phy: expand PHY page for RTL8922D
Ethan Tidmore (1):
wifi: brcmfmac: Fix error pointer dereference
Fedor Pchelkin (1):
wifi: rtw88: check for PCI upstream bridge existence
Harish Rachakonda (1):
wifi: ath12k: Support channel change stats
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
Jiajia Liu (1):
wifi: mac80211: remove unused variables in minstrel_ht_alloc_sta
Johan Hovold (8):
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
wifi: at76c50x: refactor endpoint lookup
wifi: libertas: refactor endpoint lookup
wifi: libertas_tf: refactor endpoint lookup
Johannes Berg (3):
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
Kuan-Chung Chen (1):
wifi: rtw89: add H2C command to protect TX/RX for unused PHY
Lucid Duck (1):
wifi: rtw89: usb: fix TX flow control by tracking in-flight URBs
Miri Korenblit (11):
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
Nicolas Escande (1):
wifi: mac80211: handle VHT EXT NSS in ieee80211_determine_our_sta_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
Raj Kumar Bhagat (2):
dt-bindings: net: wireless: add ath12k wifi device IPQ5424
wifi: ath12k: add ath12k_hw_version_map entry for IPQ5424
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
Rosen Penev (2):
wifi: brcmfmac: of: defer probe for MAC address
wifi: wilc1000: use kzalloc_flex
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
Shin-Yi Lin (1):
wifi: rtw89: usb: Rx aggregation for RTL8832CU/RTL8851BU
Sowmiya Sree Elavalagan (1):
wifi: ath12k: Enable IPQ5424 WiFi device support
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
Yi Cong (1):
wifi: rtl8xxxu: fix potential use of uninitialized value
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
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
.../bindings/net/wireless/brcm,bcm4329-fmac.yaml | 1 +
.../bindings/net/wireless/qcom,ath10k.yaml | 11 +
.../bindings/net/wireless/qcom,ipq5332-wifi.yaml | 1 +
arch/arm/configs/omap2plus_defconfig | 1 -
arch/arm/configs/spitz_defconfig | 1 -
arch/arm64/configs/defconfig | 1 -
arch/m68k/configs/amiga_defconfig | 1 -
arch/m68k/configs/apollo_defconfig | 1 -
arch/m68k/configs/atari_defconfig | 1 -
arch/m68k/configs/bvme6000_defconfig | 1 -
arch/m68k/configs/hp300_defconfig | 1 -
arch/m68k/configs/mac_defconfig | 1 -
arch/m68k/configs/multi_defconfig | 1 -
arch/m68k/configs/mvme147_defconfig | 1 -
arch/m68k/configs/mvme16x_defconfig | 1 -
arch/m68k/configs/q40_defconfig | 1 -
arch/m68k/configs/sun3_defconfig | 1 -
arch/m68k/configs/sun3x_defconfig | 1 -
arch/mips/configs/bigsur_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/malta_qemu_32r6_defconfig | 1 -
arch/mips/configs/maltaaprp_defconfig | 1 -
arch/mips/configs/maltasmvp_defconfig | 1 -
arch/mips/configs/maltasmvp_eva_defconfig | 1 -
arch/mips/configs/maltaup_defconfig | 1 -
arch/mips/configs/mtx1_defconfig | 1 -
arch/mips/configs/rm200_defconfig | 1 -
arch/mips/configs/sb1250_swarm_defconfig | 1 -
arch/parisc/configs/generic-32bit_defconfig | 1 -
arch/parisc/configs/generic-64bit_defconfig | 1 -
arch/powerpc/configs/g5_defconfig | 1 -
arch/powerpc/configs/linkstation_defconfig | 1 -
arch/powerpc/configs/mvme5100_defconfig | 1 -
arch/powerpc/configs/powernv_defconfig | 1 -
arch/powerpc/configs/ppc64_defconfig | 1 -
arch/powerpc/configs/ppc64e_defconfig | 1 -
arch/powerpc/configs/ppc6xx_defconfig | 1 -
arch/powerpc/configs/ps3_defconfig | 1 -
arch/s390/configs/debug_defconfig | 1 -
arch/s390/configs/defconfig | 1 -
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/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/wmi-tlv.c | 26 +-
drivers/net/wireless/ath/ath11k/Kconfig | 1 -
drivers/net/wireless/ath/ath11k/dp.c | 2 -
drivers/net/wireless/ath/ath11k/dp_rx.c | 60 +-
drivers/net/wireless/ath/ath11k/peer.h | 1 -
drivers/net/wireless/ath/ath12k/Kconfig | 1 -
drivers/net/wireless/ath/ath12k/ahb.c | 36 +-
drivers/net/wireless/ath/ath12k/ahb.h | 1 +
drivers/net/wireless/ath/ath12k/ce.h | 13 +-
drivers/net/wireless/ath/ath12k/core.c | 4 +-
drivers/net/wireless/ath/ath12k/core.h | 13 +-
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_peer.h | 1 -
drivers/net/wireless/ath/ath12k/dp_rx.c | 55 +-
drivers/net/wireless/ath/ath12k/dp_rx.h | 4 -
drivers/net/wireless/ath/ath12k/mac.c | 4 +-
drivers/net/wireless/ath/ath12k/wifi7/ahb.c | 8 +
drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c | 7 +-
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 | 97 +-
drivers/net/wireless/atmel/at76c50x-usb.c | 22 +-
.../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 -
.../wireless/intel/ipw2x00/libipw_crypto_tkip.c | 120 +-
drivers/net/wireless/intel/iwlegacy/3945-mac.c | 7 +-
drivers/net/wireless/marvell/libertas/if_usb.c | 39 +-
drivers/net/wireless/marvell/libertas_tf/if_usb.c | 48 +-
drivers/net/wireless/microchip/wilc1000/hif.c | 8 +-
drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c | 4 -
drivers/net/wireless/realtek/rtl8xxxu/core.c | 40 +-
drivers/net/wireless/realtek/rtlwifi/pci.c | 1 +
.../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 -
include/linux/ieee80211-nan.h | 37 +
include/linux/ieee80211.h | 6 +
include/net/mac80211.h | 157 +-
net/mac80211/Makefile | 3 +-
net/mac80211/agg-tx.c | 3 +-
net/mac80211/cfg.c | 269 +-
net/mac80211/chan.c | 140 +-
net/mac80211/driver-ops.h | 21 +
net/mac80211/he.c | 7 +-
net/mac80211/ht.c | 19 +-
net/mac80211/ibss.c | 2 +-
net/mac80211/ieee80211_i.h | 52 +-
net/mac80211/iface.c | 113 +-
net/mac80211/link.c | 45 +-
net/mac80211/main.c | 4 +-
net/mac80211/mesh_sync.c | 2 +-
net/mac80211/michael.h | 22 -
net/mac80211/mlme.c | 11 +-
net/mac80211/nan.c | 710 +++++
net/mac80211/rc80211_minstrel_ht.c | 15 +-
net/mac80211/rx.c | 61 +-
net/mac80211/scan.c | 2 +-
net/mac80211/sta_info.c | 29 +-
net/mac80211/sta_info.h | 3 +-
net/mac80211/trace.h | 31 +
net/mac80211/tx.c | 52 +-
net/mac80211/util.c | 146 +-
net/mac80211/vht.c | 16 +-
net/mac80211/wpa.c | 1 -
net/wireless/Makefile | 2 +-
net/{mac80211/michael.c => wireless/michael-mic.c} | 6 +-
185 files changed, 7462 insertions(+), 1301 deletions(-)
delete mode 100644 crypto/michael_mic.c
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 net/mac80211/michael.h
create mode 100644 net/mac80211/nan.c
rename net/{mac80211/michael.c => wireless/michael-mic.c} (95%)
^ permalink raw reply
* Re: [PATCH net v3] ipvs: fix MTU check for GSO packets in tunnel mode
From: Julian Anastasov @ 2026-04-10 6:51 UTC (permalink / raw)
To: Pablo Neira Ayuso
Cc: Yingnan Zhang, horms, fw, phil, davem, edumazet, kuba, pabeni,
netdev, lvs-devel, netfilter-devel, coreteam, linux-kernel
In-Reply-To: <adhOOC6hF_vNDl1g@chamomile>
Hello,
On Fri, 10 Apr 2026, Pablo Neira Ayuso wrote:
> On Thu, Apr 02, 2026 at 10:46:16PM +0800, Yingnan Zhang wrote:
> > + } else if (skb->len > mtu &&
> > + !(skb_is_gso(skb) && skb_gso_validate_network_len(skb, mtu))) {
>
> Maybe helper function helps make this more readable?
>
> /* Based on ip_exceeds_mtu(). */
> static bool ip_vs_exceeds_mtu(const struct sk_buff *skb, unsigned int mtu)
> {
> if (skb->len <= mtu)
> return false;
>
> if (skb_is_gso(skb) && skb_gso_validate_network_len(skb, mtu))
> return false;
>
> return true;
> }
Good idea! Yingnan Zhang, please send v4 by adding
this new function before __mtu_check_toobig_v6()...
Regards
--
Julian Anastasov <ja@ssi.bg>
^ permalink raw reply
* Re: [net-next PATCH 06/10] net: dsa: realtek: rtl8365mb: add VLAN support
From: Luiz Angelo Daros de Luca @ 2026-04-10 7:05 UTC (permalink / raw)
To: Linus Walleij
Cc: Andrew Lunn, Vladimir Oltean, David S. Miller, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Simon Horman, Alvin Šipraga,
Yury Norov, Rasmus Villemoes, Russell King, netdev, linux-kernel
In-Reply-To: <CAD++jLmRT+3EJ-f_FNuZwOGU4fBB6pGHhq2OuxBS7O-cEnWt=g@mail.gmail.com>
Hi Linus,
Thanks for the review, I took some time to evaluate the possibility of
reusing rtl8366-core.
> This patch ignores the existing abstractions for generic RTL8366 VLAN
> handling in rtl8366-core.c and realtek.h, which is actually compiled
> and bundled into the same object with the RTL8365MB driver.
While rtl8366-core is currently only used by RTL8366, I understand the
goal of sharing VLAN handling across these drivers. However, RTL8365MB
differs from RTL8366RB in how VLANs and PVIDs are implemented.
1) In RTL8366, VLAN4K, VLANMC and PVID are programmed together, and
the helpers in rtl8366-core assume this 1:1 relationship. In
RTL8365MB, the VLANMC is exclusively used as an indirect way to set
the port VID used in the PVID (port pvid points to vlan MC table index
and vlan MC entry has the VID number). In this patch, the VLANMC is
conditionally allocated only when a port uses it as PVID and
deallocated when no ports use it. VLAN MC membership is not checked by
the HW but I still keep it in sync when it is allocated.
As VLANMC, at least in RTL8365MB, is effectively only used for PVID,
I'll put all vlan MC methods behind public PVID methods in the
following v2. There is no need to expose them for now. For the next
RTL8367D family, VLANMC is gone and there are dedicated registers to
set the PVID VID number for each port.
2) In RTL8365MB, vlan is always enabled, controlling filtering by port
(.port_vlan_filtering), while in RTL8366, it is enabled by vlan_add.
3) The abstraction doesn't set the framefilter in RTL8366 nor does it
clear PVID status. I'm using framefilter as a way to disable PVID,
dropping untagged frames, together with setting PVID VLAN MC index to
0 and keeping an empty (vid=0) vlan config at that index.
Without clearing the PVID state in RTL8366, removing a PVID VLAN
member and re-adding it as a non-PVID member will leave it configured
as PVID.
4) I don't know how IVL would be handled in RTL8366... but that's a
topic for another patch.
> I understand that it is always easier to develop and test something
> for "just this one chip", but I predictably have to be the one to ask
> if this can be done in the shared code.
I agree there is room for sharing logic in the future, both for newer
areas (table access, VLAN, L2) and existing ones (phy_read/write), but
this likely requires rethinking the abstraction and harmonizing the
assumptions on each driver first. It is possible that the hardware
behavior between RTL8366 and RTL8365MB is more similar than what the
current drivers suggest. However, the existing rtl8366-core
abstraction does not model this in a way that can be directly reused
here. Aligning both drivers would likely require reworking that
abstraction rather than adapting the RTL8365MB implementation to fit
it.
This could be explored in the future as a separate effort as it
changes how RTL8366RB driver behave. For now, I would prefer to keep
this implementation local to RTL8365MB and then follow up with a
separate effort to reconcile both drivers and extract shared logic.
Some of that work will likely become clearer while adding RTL8367D
family support.
Regards,
Luiz
^ permalink raw reply
* Re: [PATCH next-next v2] net:mctp: fix setting mctp hdr ver reserved field cause data dropped
From: Jeremy Kerr @ 2026-04-10 7:05 UTC (permalink / raw)
To: wit_yuan; +Cc: yuanzm2, matt, davem, edumazet, kuba, pabeni, netdev,
linux-kernel
In-Reply-To: <20260410061703.3547-2-yuanzhaoming901030@126.com>
Hi,
Looks like a better approach, thanks for the improvements, including the
net-next patch prefix.
I would suggest reading up on the contribution guidelines too:
https://docs.kernel.org/process/maintainer-netdev.html
(in this case, the 24 hour spacing between revisions).
> Subject: [PATCH next-next v2] net:mctp: fix setting mctp hdr ver reserved
> field cause data dropped
Add a space between the 'net:mctp:'. That should be 'net: mctp: [...]'
And perhaps a tweak to the wording, giving:
net: mctp: don't require received header reserved bits to be zero
> From: Yuan Zhaoming <yuanzm2@lenovo.com>
>
> from spec dsp0236_1.2.1.pdf page 26, the mctp header contains the
> RSVD(4bit) and Hdr version(4 bit).
Some wording things there - It would be more clear to reference the spec
by name, rather than by filename, giving something like:
From the MCTP Base specification (DSP0236 v1.2.1), the first byte of
the MCTP header contains a 4 bit reserved field, and 4 bit version.
Then, explain the current issue:
On our current receive path, we require those 4 reserved bits to be
zero, but at least one device is non-conformant, and may set these
reserved bits.
[If you can name the specific device, that will certainly help others
with future debugging. I assume the device is currently public?]
Then, maybe some rationale about the change, and an overview of the
implementation:
DSP0236 states that the reserved bits must be written as zero, and
ignored when read. While the device might not conform to the former,
we should accept these message to conform to the latter.
Relax our check on the MCTP version byte to allow non-zero bits in the
reserved field.
Signed-off-by: ...
> mctp_pkttype_receive invoke mctp_hdr, and get mh->ver whole byte
> compare the MCTP_VER_MIN, MCTP_VER_MAX. the reserver bits may be by
> misleading used.
This is no longer relevant for the new revision.
> @@ -35,6 +35,7 @@ struct mctp_hdr {
> #define MCTP_HDR_SEQ_MASK GENMASK(1, 0)
> #define MCTP_HDR_TAG_SHIFT 0
> #define MCTP_HDR_TAG_MASK GENMASK(2, 0)
> +#define MCTP_HDR_VER_MASK GENMASK(3, 0)
This section of #defines is commented to represent the flags/seq/tag
field. I would prefer to move this definition above that comment.
>
> #define MCTP_INITIAL_DEFAULT_NET 1
>
> diff --git a/net/mctp/route.c b/net/mctp/route.c
> index 56c441e90..aa0e89d67 100644
> --- a/net/mctp/route.c
> +++ b/net/mctp/route.c
> @@ -464,7 +464,7 @@ static int mctp_dst_input(struct mctp_dst *dst, struct sk_buff *skb)
> netid = mctp_cb(skb)->net;
> skb_pull(skb, sizeof(struct mctp_hdr));
>
> - if (mh->ver != 1)
> + if (((mh->ver & MCTP_HDR_VER_MASK)) < MCTP_VER_MIN || (mh->ver & MCTP_HDR_VER_MASK) > MCTP_VER_MAX)
Use a temporary for the version, rather than repeating the mask
operation. This makes the conditional much easier to read:
if (ver < MCTP_VER_MIN || ver > MCTP_VER_MAX)
Cheers,
Jeremy
^ permalink raw reply
* [PATCH net-next] netkit: Don't emit scrub attribute for single device mode
From: Daniel Borkmann @ 2026-04-10 7:23 UTC (permalink / raw)
To: netdev; +Cc: bpf, kuba, dw, pabeni, razor
When userspace reads a single mode netkit device via RTM_GETLINK,
it receives IFLA_NETKIT_SCRUB=NETKIT_SCRUB_DEFAULT attribute from
netkit_fill_info(). If that attribute is echoed back to recreate
the device, the seen_scrub presence check in netkit_new_link()
causes creation to fail with -EOPNOTSUPP. Since it has no meaning
for single devices at this point, just don't dump it.
Fixes: 481038960538 ("netkit: Add single device mode for netkit")
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
---
drivers/net/netkit.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/netkit.c b/drivers/net/netkit.c
index 5619209329d5..7b56a7ad7a49 100644
--- a/drivers/net/netkit.c
+++ b/drivers/net/netkit.c
@@ -1214,7 +1214,8 @@ static int netkit_fill_info(struct sk_buff *skb, const struct net_device *dev)
return -EMSGSIZE;
if (nla_put_u32(skb, IFLA_NETKIT_MODE, nk->mode))
return -EMSGSIZE;
- if (nla_put_u32(skb, IFLA_NETKIT_SCRUB, nk->scrub))
+ if (nk->pair == NETKIT_DEVICE_PAIR &&
+ nla_put_u32(skb, IFLA_NETKIT_SCRUB, nk->scrub))
return -EMSGSIZE;
if (nla_put_u16(skb, IFLA_NETKIT_HEADROOM, dev->needed_headroom))
return -EMSGSIZE;
--
2.43.0
^ permalink raw reply related
* Re: [net,PATCH v2] net: ks8851: Reinstate disabling of BHs around IRQ handler
From: Nicolai Buchwitz @ 2026-04-10 7:29 UTC (permalink / raw)
To: Marek Vasut
Cc: netdev, stable, David S. Miller, Andrew Lunn, Eric Dumazet,
Jakub Kicinski, Paolo Abeni, Ronald Wahl, Yicong Hui,
linux-kernel
In-Reply-To: <1665242a-2298-4e76-9618-effdb88c2ad4@nabladev.com>
On 9.4.2026 17:26, Marek Vasut wrote:
> On 4/9/26 8:52 AM, Nicolai Buchwitz wrote:
>
> Hello Nicolai,
>
>>> @@ -408,7 +426,9 @@ static int ks8851_net_open(struct net_device
>>> *dev)
>>> unsigned long flags;
>>> int ret;
>>>
>>> - ret = request_threaded_irq(dev->irq, NULL, ks8851_irq,
>>> + ret = request_threaded_irq(dev->irq, NULL,
>>> + ks->no_bh_in_irq_handler ?
>>> + ks8851_irq_nobh : ks8851_irq,
>>
>> This works, but wouldn't it be simpler to put the BH disable
>> into the PAR lock/unlock directly?
>>
>> static void ks8851_lock_par(...)
>> {
>> local_bh_disable();
>> spin_lock_irqsave(&ksp->lock, *flags);
>> }
>>
>> static void ks8851_unlock_par(...)
>> {
>> spin_unlock_irqrestore(&ksp->lock, *flags);
>> local_bh_enable();
>> }
>>
>> No flag, no wrapper, no conditional in request_threaded_irq.
>> And it protects all PAR lock/unlock callsites, not just the
>> IRQ handler.
> That is exactly why I wrapped the IRQ handler, because the BH should be
> disabled ONLY around the IRQ handler, not around the other call sites.
Reviewed-by: Nicolai Buchwitz <nb@tipi-net.de>
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox