Hi David, Jakub, This patch series is based on the recent discussions with Vladimir:
https://lore.kernel.org/netdev/20201001030623.343535-1-f.faine...@gmail.com/ the simplest way forward was to call dsa_untag_bridge_pvid() after eth_type_trans() has been set which guarantees that skb->protocol is set to a correct value and this allows us to utilize __vlan_find_dev_deep_rcu() properly without playing or using the bridge master as a net_device reference. Florian Fainelli (4): net: dsa: Call dsa_untag_bridge_pvid() from dsa_switch_rcv() net: dsa: b53: Set untag_bridge_pvid net: dsa: Obtain VLAN protocol from skb->protocol net: dsa: Utilize __vlan_find_dev_deep_rcu() drivers/net/dsa/b53/b53_common.c | 1 + include/net/dsa.h | 8 ++++++++ net/dsa/dsa.c | 9 +++++++++ net/dsa/dsa_priv.h | 14 ++++---------- net/dsa/tag_brcm.c | 15 ++------------- 5 files changed, 24 insertions(+), 23 deletions(-) -- 2.25.1