Commit 8a819d0a authored by Dongseok Yi's avatar Dongseok Yi Committed by Greg Kroah-Hartman
Browse files

UPSTREAM: udp: ipv4: manipulate network header of NATed UDP GRO fraglist



UDP/IP header of UDP GROed frag_skbs are not updated even after NAT
forwarding. Only the header of head_skb from ip_finish_output_gso ->
skb_gso_segment is updated but following frag_skbs are not updated.

A call path skb_mac_gso_segment -> inet_gso_segment ->
udp4_ufo_fragment -> __udp_gso_segment -> __udp_gso_segment_list
does not try to update UDP/IP header of the segment list but copy
only the MAC header.

Update port, addr and check of each skb of the segment list in
__udp_gso_segment_list. It covers both SNAT and DNAT.

Fixes: 9fd1ff5d (udp: Support UDP fraglist GRO/GSO.)
Signed-off-by: default avatarDongseok Yi <dseok.yi@samsung.com>
Acked-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
Link: https://lore.kernel.org/r/1611962007-80092-1-git-send-email-dseok.yi@samsung.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
(cherry picked from commit c3df39ac)
Bug: 187129171
Signed-off-by: default avatarConnor O'Brien <connoro@google.com>
Change-Id: Id5a185ac264cd91cf89e59d04f14130acf5d85fd
parent 7492a5e6
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment