[DCCP]: Check if already in the CLOSING state in dccp_rcv_closereq

It is possible to receive more than one CLOSEREQ packet if the
CLOSE packet sent in response is somehow lost, change the state
to DCCP_CLOSING only on the first CLOSEREQ packet received.
Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@mandriva.com>
parent 24b8e05d
...@@ -50,6 +50,7 @@ static void dccp_rcv_closereq(struct sock *sk, struct sk_buff *skb) ...@@ -50,6 +50,7 @@ static void dccp_rcv_closereq(struct sock *sk, struct sk_buff *skb)
return; return;
} }
if (sk->sk_state != DCCP_CLOSING)
dccp_set_state(sk, DCCP_CLOSING); dccp_set_state(sk, DCCP_CLOSING);
dccp_send_close(sk, 0); dccp_send_close(sk, 0);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment