aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/dsa/b53
diff options
context:
space:
mode:
authorGravatar Willem de Bruijn <willemb@google.com> 2021-09-05 11:21:09 -0400
committerGravatar David S. Miller <davem@davemloft.net> 2021-09-05 18:59:32 +0100
commit8a0ed250f911da31a2aef52101bc707846a800ff (patch)
tree9cf1b9826e6d72091f06c730a5a93876c2365e10 /drivers/net/dsa/b53
parentbonding: complain about missing route only once for A/B ARP probes (diff)
downloadlinux-8a0ed250f911da31a2aef52101bc707846a800ff.tar.gz
linux-8a0ed250f911da31a2aef52101bc707846a800ff.tar.bz2
linux-8a0ed250f911da31a2aef52101bc707846a800ff.zip
ip_gre: validate csum_start only on pull
The GRE tunnel device can pull existing outer headers in ipge_xmit. This is a rare path, apparently unique to this device. The below commit ensured that pulling does not move skb->data beyond csum_start. But it has a false positive if ip_summed is not CHECKSUM_PARTIAL and thus csum_start is irrelevant. Refine to exclude this. At the same time simplify and strengthen the test. Simplify, by moving the check next to the offending pull, making it more self documenting and removing an unnecessary branch from other code paths. Strengthen, by also ensuring that the transport header is correct and therefore the inner headers will be after skb_reset_inner_headers. The transport header is set to csum_start in skb_partial_csum_set. Link: https://lore.kernel.org/netdev/YS+h%2FtqCJJiQei+W@shredder/ Fixes: 1d011c4803c7 ("ip_gre: add validation for csum_start") Reported-by: Ido Schimmel <idosch@idosch.org> Suggested-by: Alexander Duyck <alexander.duyck@gmail.com> Signed-off-by: Willem de Bruijn <willemb@google.com> Reviewed-by: Alexander Duyck <alexanderduyck@fb.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa/b53')
0 files changed, 0 insertions, 0 deletions