net: gro: fix misuse of CB in udp socket lookup
authorRichard Gobert <richardbgobert@gmail.com>
Thu, 27 Jul 2023 15:33:56 +0000 (17:33 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sat, 29 Jul 2023 16:10:27 +0000 (17:10 +0100)
commit7938cd15436873f649f31cb867bac2d88ca564d0
tree3b6f4a830c4b3cd683ce7f3239e0475c0e71f23e
parente346e231b42bcae6822a6326acfb7b741e9e6026
net: gro: fix misuse of CB in udp socket lookup

This patch fixes a misuse of IP{6}CB(skb) in GRO, while calling to
`udp6_lib_lookup2` when handling udp tunnels. `udp6_lib_lookup2` fetch the
device from CB. The fix changes it to fetch the device from `skb->dev`.
l3mdev case requires special attention since it has a master and a slave
device.

Fixes: a6024562ffd7 ("udp: Add GRO functions to UDP socket")
Reported-by: Gal Pressman <gal@nvidia.com>
Signed-off-by: Richard Gobert <richardbgobert@gmail.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/gro.h
net/ipv4/udp.c
net/ipv4/udp_offload.c
net/ipv6/udp.c
net/ipv6/udp_offload.c