diff options
| author | Florian Westphal <[email protected]> | 2019-02-08 15:39:52 +0000 |
|---|---|---|
| committer | Pablo Neira Ayuso <[email protected]> | 2019-02-11 16:43:17 +0000 |
| commit | 8303b7e8f018724a2cd7752eb29c2801fa8c4067 (patch) | |
| tree | 28fa7db49fc8e1f5b1727808e4ce836f6ab04af3 /net/tipc/node.c | |
| parent | netfilter: nf_nat_snmp_basic: add missing length checks in ASN.1 cbs (diff) | |
| download | kernel-8303b7e8f018724a2cd7752eb29c2801fa8c4067.tar.gz kernel-8303b7e8f018724a2cd7752eb29c2801fa8c4067.zip | |
netfilter: nat: fix spurious connection timeouts
Sander Eikelenboom bisected a NAT related regression down
to the l4proto->manip_pkt indirection removal.
I forgot that ICMP(v6) errors (e.g. PKTTOOBIG) can be set as related
to the existing conntrack entry.
Therefore, when passing the skb to nf_nat_ipv4/6_manip_pkt(), that
ended up calling the wrong l4 manip function, as tuple->dst.protonum
is the original flows l4 protocol (TCP, UDP, etc).
Set the dst protocol field to ICMP(v6), we already have a private copy
of the tuple due to the inversion of src/dst.
Reported-by: Sander Eikelenboom <[email protected]>
Tested-by: Sander Eikelenboom <[email protected]>
Fixes: faec18dbb0405 ("netfilter: nat: remove l4proto->manip_pkt")
Signed-off-by: Florian Westphal <[email protected]>
Signed-off-by: Pablo Neira Ayuso <[email protected]>
Diffstat (limited to 'net/tipc/node.c')
0 files changed, 0 insertions, 0 deletions
