[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <00acb107-8ff6-9c98-e6c3-f6718d5ce9f4@ti.com>
Date: Tue, 3 Aug 2021 20:11:56 +0300
From: Grygorii Strashko <grygorii.strashko@...com>
To: Vladimir Oltean <vladimir.oltean@....com>,
<netdev@...r.kernel.org>, Jakub Kicinski <kuba@...nel.org>,
"David S. Miller" <davem@...emloft.net>
CC: Florian Fainelli <f.fainelli@...il.com>,
Andrew Lunn <andrew@...n.ch>,
Vivien Didelot <vivien.didelot@...il.com>,
Jiri Pirko <jiri@...nulli.us>,
Ido Schimmel <idosch@...sch.org>,
Roopa Prabhu <roopa@...dia.com>,
Nikolay Aleksandrov <nikolay@...dia.com>,
Stephen Hemminger <stephen@...workplumber.org>,
<bridge@...ts.linux-foundation.org>,
Arnd Bergmann <arnd@...nel.org>
Subject: Re: [PATCH net-next 0/2] Convert switchdev_bridge_port_{,un}offload
to notifiers
On 03/08/2021 17:36, Vladimir Oltean wrote:
> The introduction of the explicit switchdev bridge port offloading API
> has introduced dependency regressions between switchdev drivers and the
> bridge, with some drivers where switchdev support was optional before
> being now compiled as a module when the bridge is a module, or worse.
>
> This patch makes the switchdev bridge port offload/unoffload events
> visible on the blocking notifier call chain, so that the bridge can
> indirectly do something when those events happen, without the driver
> explicitly calling a symbol exported by the bridge driver.
>
> Vladimir Oltean (2):
> net: make switchdev_bridge_port_{,unoffload} loosely coupled with the
> bridge
> Revert "net: build all switchdev drivers as modules when the bridge is
> a module"
>
> drivers/net/ethernet/microchip/sparx5/Kconfig | 1 -
> drivers/net/ethernet/ti/Kconfig | 2 -
> drivers/net/ethernet/ti/am65-cpsw-nuss.c | 2 +-
> drivers/net/ethernet/ti/cpsw_new.c | 2 +-
> include/linux/if_bridge.h | 35 -------------
> include/net/switchdev.h | 46 +++++++++++++++++
> net/bridge/br.c | 51 ++++++++++++++++++-
> net/bridge/br_private.h | 30 +++++++++++
> net/bridge/br_switchdev.c | 36 ++++---------
> net/switchdev/switchdev.c | 48 +++++++++++++++++
> 10 files changed, 185 insertions(+), 68 deletions(-)
>
I've tested builds, but was not able to test bridge itself on TI am57x platform.
1) See warning
[ 3.958496] ------------[ cut here ]------------
[ 3.963165] WARNING: CPU: 0 PID: 1 at lib/refcount.c:25 fib_create_info+0xae8/0xbd4
[ 3.970855] refcount_t: addition on 0; use-after-free.
[ 3.976043] Modules linked in: autofs4
[ 3.979827] CPU: 0 PID: 1 Comm: systemd Not tainted 5.14.0-rc4-next-20210802-00002-g5003e4ac441d-dirty #5
[ 3.989440] Hardware name: Generic DRA72X (Flattened Device Tree)
[ 3.995574] [<c0111098>] (unwind_backtrace) from [<c010b834>] (show_stack+0x10/0x14)
[ 4.003356] [<c010b834>] (show_stack) from [<c09da808>] (dump_stack_lvl+0x40/0x4c)
[ 4.010986] [<c09da808>] (dump_stack_lvl) from [<c0137b44>] (__warn+0xd8/0x100)
[ 4.018341] [<c0137b44>] (__warn) from [<c09d6368>] (warn_slowpath_fmt+0x94/0xbc)
[ 4.025848] [<c09d6368>] (warn_slowpath_fmt) from [<c08f68d4>] (fib_create_info+0xae8/0xbd4)
[ 4.034332] [<c08f68d4>] (fib_create_info) from [<c08f99c4>] (fib_table_insert+0x5c/0x604¢·AËÕìÍ_¡
2) see warnings and "ip link add name br0 type bridge" just stuck
[ 158.032135] unregister_netdevice: waiting for lo to become free. Usage count = 3
It might not be related to this series.
--
Best regards,
grygorii
Powered by blists - more mailing lists