net: bridge: fix corrupted ethernet header on multicast-to-unicast
authorFelix Fietkau <nbd@nbd.name>
Sun, 5 May 2024 18:42:38 +0000 (20:42 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 May 2024 09:50:58 +0000 (11:50 +0200)
commit21d85ee2d3887bcb9a53c207acd0a2f21d84b36f
tree389c1e79f3de261902b0192d9b21cdaf17341dc1
parent4ff334cade9dae50e4be387f71e94fae634aa9b4
net: bridge: fix corrupted ethernet header on multicast-to-unicast

[ Upstream commit 86b29d830ad69eecff25b22dc96c14c6573718e6 ]

The change from skb_copy to pskb_copy unfortunately changed the data
copying to omit the ethernet header, since it was pulled before reaching
this point. Fix this by calling __skb_push/pull around pskb_copy.

Fixes: 59c878cbcdd8 ("net: bridge: fix multicast-to-unicast with fraglist GSO")
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
net/bridge/br_forward.c