From: Jakub Kicinski <kuba@kernel.org>
To: michael.dege@renesas.com
Cc: Jakub Kicinski <kuba@kernel.org>,
yoshihiro.shimoda.uh@renesas.com, andrew+netdev@lunn.ch,
davem@davemloft.net, edumazet@google.com, pabeni@redhat.com,
niklas.soderlund@ragnatech.se, paul@pbarker.dev,
netdev@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH net-next v4 10/13] net: renesas: rswitch: clean up is_rdev rswitch_device checking
Date: Tue, 12 May 2026 18:35:56 -0700 [thread overview]
Message-ID: <20260513013556.1408455-1-kuba@kernel.org> (raw)
In-Reply-To: <20260511-rswitch_add_vlans-v4-10-a5a225f8faae@renesas.com>
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: renesas: rswitch: clean up is_rdev rswitch_device checking
Add null pointer checking for ndev and remove unnecessay
rswitch_port_check() wrapper function.
> Add null pointer checking for ndev and remove unnecessay
> rswitch_port_check() wrapper function.
This isn't a bug, but there's a typo (unnecessay) in the commit message.
> diff --git a/drivers/net/ethernet/renesas/rswitch_l2.c b/drivers/net/ethernet/renesas/rswitch_l2.c
> index 3cc0ce8762f3c..dd8aecbcb2a8b 100644
> --- a/drivers/net/ethernet/renesas/rswitch_l2.c
> +++ b/drivers/net/ethernet/renesas/rswitch_l2.c
[ ... ]
> @@ -278,11 +273,11 @@ static int rswitch_switchdev_blocking_event(struct notifier_block *nb,
> return -EOPNOTSUPP;
This wasn't introduced by this patch, but does returning -EOPNOTSUPP directly
here abort the global switchdev blocking notifier chain?
In a 32-bit signed integer representation, -EOPNOTSUPP (-95) has the 15th bit
set (0xFFFFFFA1), which inadvertently matches NOTIFY_STOP_MASK (0x8000).
Because this happens without verifying if the target device belongs to the
driver via is_rdev(ndev), it seems like this will silently break switchdev
object offloading (like VLANs, MDBs, MRP) for all other NICs system-wide as
long as this module is loaded.
Additionally, notifier_to_errno() strips the stop mask, transforming -95
to -32863. Since this is negative, it returns 0, which could trick the
switchdev core into thinking the event was unhandled rather than explicitly
unsupported.
Even though subsequent patches in this series (like "net: renesas: rswitch: add
vlan aware switching") refactor this block, they still return -EOPNOTSUPP for
non-VLAN objects by wrapping it in notifier_from_errno(-EOPNOTSUPP).
Because notifier_from_errno(-EOPNOTSUPP) produces NOTIFY_STOP_MASK | 96,
doesn't the system-wide chain breakage persist?
> case SWITCHDEV_PORT_ATTR_SET:
> ret = switchdev_handle_port_attr_set(ndev, ptr,
> - rswitch_port_check,
> + is_rdev,
> rswitch_port_attr_set);
> break;
> default:
> - if (!rswitch_port_check(ndev))
> + if (!is_rdev(ndev))
> return NOTIFY_DONE;
> ret = -EOPNOTSUPP;
> }
next prev parent reply other threads:[~2026-05-13 1:35 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-11 8:52 [net-next PATCH v4 00/13] net: renesas: rswitch: R-Car S4 add VLAN aware switching Michael Dege
2026-05-11 8:52 ` [PATCH net-next v4 01/13] net: renesas: rswitch: improve port change mode functions Michael Dege
2026-05-11 8:52 ` [PATCH net-next v4 02/13] net: renesas: rswitch: use device instead of net_device Michael Dege
2026-05-13 1:35 ` Jakub Kicinski
2026-05-11 8:52 ` [PATCH net-next v4 03/13] net: renesas: rswitch: fix FWPC2 register access macros Michael Dege
2026-05-11 8:52 ` [PATCH net-next v4 04/13] net: renesas: rswitch: add register definitions for vlan support Michael Dege
2026-05-11 8:52 ` [PATCH net-next v4 05/13] net: renesas: rswitch: add exception path for packets with unknown dst MAC Michael Dege
2026-05-13 1:35 ` Jakub Kicinski
2026-05-13 1:37 ` Jakub Kicinski
2026-05-11 8:52 ` [PATCH net-next v4 06/13] net: renesas: rswitch: add forwarding rules for gwca Michael Dege
2026-05-11 8:52 ` [PATCH net-next v4 07/13] net: renesas: rswitch: make helper functions available to whole driver Michael Dege
2026-05-13 1:35 ` Jakub Kicinski
2026-05-11 8:52 ` [PATCH net-next v4 08/13] net: renesas: rswitch: add basic vlan init to rswitch_fwd_init Michael Dege
2026-05-11 8:52 ` [PATCH net-next v4 09/13] net: renesas: rswitch: update port HW init Michael Dege
2026-05-13 1:35 ` Jakub Kicinski
2026-05-11 8:52 ` [PATCH net-next v4 10/13] net: renesas: rswitch: clean up is_rdev rswitch_device checking Michael Dege
2026-05-13 1:35 ` Jakub Kicinski [this message]
2026-05-11 8:52 ` [PATCH net-next v4 11/13] net: renesas: rswitch: add passing of rswitch_private into notifiers Michael Dege
2026-05-13 1:35 ` Jakub Kicinski
2026-05-11 8:52 ` [PATCH net-next v4 12/13] net: renesas: rswitch: add handler for FDB notification Michael Dege
2026-05-13 1:35 ` Jakub Kicinski
2026-05-11 8:52 ` [PATCH net-next v4 13/13] net: renesas: rswitch: add vlan aware switching Michael Dege
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260513013556.1408455-1-kuba@kernel.org \
--to=kuba@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=michael.dege@renesas.com \
--cc=netdev@vger.kernel.org \
--cc=niklas.soderlund@ragnatech.se \
--cc=pabeni@redhat.com \
--cc=paul@pbarker.dev \
--cc=yoshihiro.shimoda.uh@renesas.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox