[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220316130851.nrevmuktxuzkgxd3@skbuf>
Date: Wed, 16 Mar 2022 15:08:51 +0200
From: Vladimir Oltean <olteanv@...il.com>
To: Tobias Waldekranz <tobias@...dekranz.com>
Cc: davem@...emloft.net, kuba@...nel.org, Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Florian Fainelli <f.fainelli@...il.com>,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 net-next] net: dsa: Never offload FDB entries on
standalone ports
On Wed, Mar 16, 2022 at 12:30:33AM +0100, Tobias Waldekranz wrote:
> If a port joins a bridge that it can't offload, it will fallback to
> standalone mode and software bridging. In this case, we never want to
> offload any FDB entries to hardware either.
>
> Previously, for host addresses, we would eventually end up in
> dsa_port_bridge_host_fdb_add, which would unconditionally dereference
> dp->bridge and cause a segfault.
>
> Fixes: c26933639b54 ("net: dsa: request drivers to perform FDB isolation")
> Signed-off-by: Tobias Waldekranz <tobias@...dekranz.com>
> ---
Reviewed-by: Vladimir Oltean <olteanv@...il.com>
> net/dsa/slave.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/net/dsa/slave.c b/net/dsa/slave.c
> index f9cecda791d5..d24b6bf845c1 100644
> --- a/net/dsa/slave.c
> +++ b/net/dsa/slave.c
> @@ -2847,6 +2847,9 @@ static int dsa_slave_fdb_event(struct net_device *dev,
> if (ctx && ctx != dp)
> return 0;
>
> + if (!dp->bridge)
> + return 0;
> +
> if (switchdev_fdb_is_dynamically_learned(fdb_info)) {
> if (dsa_port_offloads_bridge_port(dp, orig_dev))
> return 0;
> --
> 2.25.1
>
Powered by blists - more mailing lists