From: Daniel Borkmann <borkmann@iogearbox.net>
To: charley.chu@broadcom.com
Cc: netdev@vger.kernel.org
Subject: Fwd: Kernel Oops in __inet_twsk_kill()
Date: Wed, 05 Nov 2014 17:00:52 +0100 [thread overview]
Message-ID: <545A49B4.7090107@iogearbox.net> (raw)
In-Reply-To: <FB8A4655DFD2B34DB16AE06DDDD6C0E231A6F030@SJEXCHMB12.corp.ad.broadcom.com>
[ moving to netdev ]
-------- Original Message --------
Subject: Kernel Oops in __inet_twsk_kill()
Date: Tue, 4 Nov 2014 23:47:18 +0000
From: Charley (Hao Chuan) Chu <charley.chu@broadcom.com>
To: linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>
We have situation on our system. It brings the network interface up and down every
a few seconds. Eventually, it brings down the system - the kernel crashed due to BUG
on in __inet_twsk_kill(). The debug message show following call flow.
1) time-wait socket is created by tcp_time_wait() when the socket gets into "TIME_WAIT" state.
inet_twsk_alloc() - refcnt= 0
inet_twsk_hashdance() - refcnt = 3
inet_twsk_schedule() - refcnt = 4
inet_twsk_put() - refcnt = 3
2) tcp_v4_timewait_ack() is called when sync is received
inet_twsk_put() - refcnt= 2 <== where we thing the problem is
occasionally, second sync is received, so the inet_twsk_put is called twice - refcnt = 1
3) twdr_do_twkill_work() is called when timed out
call __inet_twsk_kill - BUG_ON!!! as refcnt=2 (supposed to be 3).
call inet_twsk_put()
In a normal case, the callflow only has step 1 and step 3. Our understanding is
the time-wait socket has three references - ehash, bhash and timer death row. In
step 2, none of them are touched. Can anyone here explain to us why the inet_twsk_put()
is called in tcp_v4_timewait_ack()?
our system has 3.14 kernel.
Any help would be highly appreciated.
Charley Chu
next prev parent reply other threads:[~2014-11-05 16:22 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-04 23:47 Kernel Oops in __inet_twsk_kill() Charley (Hao Chuan) Chu
2014-11-05 16:00 ` Daniel Borkmann [this message]
2014-11-05 18:00 ` Cong Wang
2014-11-05 19:16 ` Charley (Hao Chuan) Chu
2014-11-05 19:39 ` David Miller
2014-11-05 20:35 ` Charley (Hao Chuan) Chu
2015-07-10 16:36 ` Phani
2015-08-03 2:19 ` charley
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=545A49B4.7090107@iogearbox.net \
--to=borkmann@iogearbox.net \
--cc=charley.chu@broadcom.com \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.