net: Fix skb->csum update in inet_proto_csum_replace16().
stable inclusion from linux-4.19.102 commit 7e4d3a8c4885bf7616c34a7eafd225097a0ac856 -------------------------------- [ Upstream commit 189c9b1e ] skb->csum is updated incorrectly, when manipulation for NF_NAT_MANIP_SRC\DST is done on IPV6 packet. Fix: There is no need to update skb->csum in inet_proto_csum_replace16(), because update in two fields a.) IPv6 src/dst address and b.) L4 header checksum cancels each other for skb->csum calculation. Whereas inet_proto_csum_replace4 function needs to update skb->csum, because update in 3 fields a.) IPv4 src/dst address, b.) IPv4 Header checksum and c.) L4 header checksum results in same diff as L4 Header checksum for skb->csum calculation. [ pablo@netfilter.org: a few comestic documentation edits ] Signed-off-by: NPraveen Chaudhary <pchaudhary@linkedin.com> Signed-off-by: NZhenggen Xu <zxu@linkedin.com> Signed-off-by: NAndy Stracner <astracner@linkedin.com> Reviewed-by: NFlorian Westphal <fw@strlen.de> Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org> Signed-off-by: NSasha Levin <sashal@kernel.org> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com> Signed-off-by: NLi Aichun <liaichun@huawei.com> Reviewed-by: Nguodeqing <geffrey.guo@huawei.com> Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
Showing
想要评论请 注册 或 登录