dccp: Fix sequence number check for ICMPv4 packets
The payload of ICMP message is a part of the packet sent by ourself, so the sequence number check must use AWL and AWH, not SWL and SWH. For example: Endpoint A Endpoint B DATA-ACK --------> (SEQ=X) <-------- ICMP (Fragmentation Needed) (SEQ=X) Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com> Acked-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
This commit is contained in:
parent
73f18fdbca
commit
d68f0866f7
|
@ -238,7 +238,7 @@ static void dccp_v4_err(struct sk_buff *skb, u32 info)
|
|||
dp = dccp_sk(sk);
|
||||
seq = dccp_hdr_seq(dh);
|
||||
if ((1 << sk->sk_state) & ~(DCCPF_REQUESTING | DCCPF_LISTEN) &&
|
||||
!between48(seq, dp->dccps_swl, dp->dccps_swh)) {
|
||||
!between48(seq, dp->dccps_awl, dp->dccps_awh)) {
|
||||
NET_INC_STATS_BH(net, LINUX_MIB_OUTOFWINDOWICMPS);
|
||||
goto out;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue