diff options
author | Praveen Chaudhary <praveen5582@gmail.com> | 2020-01-23 23:33:28 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-02-05 16:03:46 +0300 |
commit | 571277b6ff27e65ca1a42a2f1faf87942c4ba5bb (patch) | |
tree | 2b038d08e8b2f156ded542da16f0c30e80a36a29 /ipc/msg.c | |
parent | c10c5bb8a8b32a18cb3a408b28350b17ec9cda4c (diff) | |
download | linux-571277b6ff27e65ca1a42a2f1faf87942c4ba5bb.tar.xz |
net: Fix skb->csum update in inet_proto_csum_replace16().
[ Upstream commit 189c9b1e94539b11c80636bc13e9cf47529e7bba ]
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: Praveen Chaudhary <pchaudhary@linkedin.com>
Signed-off-by: Zhenggen Xu <zxu@linkedin.com>
Signed-off-by: Andy Stracner <astracner@linkedin.com>
Reviewed-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'ipc/msg.c')
0 files changed, 0 insertions, 0 deletions