[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190215013753epcms1p4249f1b2b67f8e706618f62cb7bd76412@epcms1p4>
Date: Fri, 15 Feb 2019 10:37:53 +0900
From: 배석진 <soukjin.bae@...sung.com>
To: Eric Dumazet <eric.dumazet@...il.com>,
배석진 <soukjin.bae@...sung.com>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>
CC: 박종언 <jongeon.park@...sung.com>,
Yuchung Cheng <ycheng@...gle.com>
Subject: RE:(2) (2) [Bug reporting] kernel panic during handle the dst
unreach icmp msg.
> The current code checks if icsk->icsk_backoff is not zero, so it looks like we have to move
> some code like this.
>
> It looks a silly bug to have no packet in write/rtx queues, and a non zero icsk_backoff.
>
>
>
> diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
> index 2079145a3b7c5f498af429c9a8289342e4421fca..cf3c5095c10e8e7e56621beae2f93c93de184489 100644
> --- a/net/ipv4/tcp.c
> +++ b/net/ipv4/tcp.c
> @@ -2528,6 +2528,7 @@ void tcp_write_queue_purge(struct sock *sk)
> sk_mem_reclaim(sk);
> tcp_clear_all_retrans_hints(tcp_sk(sk));
> tcp_sk(sk)->packets_out = 0;
> + inet_csk(sk)->icsk_backoff = 0;
> }
>
> int tcp_disconnect(struct sock *sk, int flags)
> @@ -2576,7 +2577,6 @@ int tcp_disconnect(struct sock *sk, int flags)
> tp->write_seq += tp->max_window + 2;
> if (tp->write_seq == 0)
> tp->write_seq = 1;
> - icsk->icsk_backoff = 0;
> tp->snd_cwnd = 2;
> icsk->icsk_probes_out = 0;
> tp->snd_ssthresh = TCP_INFINITE_SSTHRESH;
>
yes right, queue problems.
I don't know about icsk_backoff :p
this will be work. thanks!
Powered by blists - more mailing lists