net: fix dev_fill_forward_path with pppoe + bridge
authorFelix Fietkau <nbd@nbd.name>
Mon, 9 May 2022 12:26:15 +0000 (14:26 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 25 May 2022 07:59:07 +0000 (09:59 +0200)
commit4f988f405eec1833e20483b5c2a4a6325263a140
treec83747fa4871abd72c51e61ae5ee0476a08c2e2f
parent64e7b7fcf172a6165585e7405d172fd2213f9f9f
net: fix dev_fill_forward_path with pppoe + bridge

[ Upstream commit cf2df74e202d81b09f09d84c2d8903e0e87e9274 ]

When calling dev_fill_forward_path on a pppoe device, the provided destination
address is invalid. In order for the bridge fdb lookup to succeed, the pppoe
code needs to update ctx->daddr to the correct value.
Fix this by storing the address inside struct net_device_path_ctx

Fixes: f6efc675c9dd ("net: ppp: resolve forwarding path for bridge pppoe devices")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ppp/pppoe.c
include/linux/netdevice.h
net/core/dev.c