Actually we do increment refcnt, for every socket found in ehash.
Carefully read again __inet_lookup_established()
This code is generic for ESTABLISH and TIME-WAIT sockets
If you found a code that performed the lookup without taking the refcnt,
please point me at it, this would be a
On Mon, 2015-07-20 at 19:14 +, subas...@codeaurora.org wrote:
//Initialize time wait socket and setup timer
inet_twsk_alloc() tw_refcnt = 0
__inet_twsk_hashdance() tw_refcnt = 3
inet_twsk_schedule() tw_refcnt = 4
inet_twsk_put() tw_refcnt = 3
//Receive packet 1 in timewait state
//Initialize time wait socket and setup timer
inet_twsk_alloc() tw_refcnt = 0
__inet_twsk_hashdance() tw_refcnt = 3
inet_twsk_schedule() tw_refcnt = 4
inet_twsk_put() tw_refcnt = 3
//Receive packet 1 in timewait state
tcp_timewait_state_process() - inet_twsk_schedule tw_refcnt = 3 (no
On Sun, 2015-07-19 at 03:31 +, subas...@codeaurora.org wrote:
I am seeing an issue with the reference count of time wait sockets which
leads to freeing of active timer object. This occurs in some data stress
test setups, so I am unable to determine the exact step when it occured.
However,
I am seeing an issue with the reference count of time wait sockets which
leads to freeing of active timer object. This occurs in some data stress
test setups, so I am unable to determine the exact step when it occured.
However, I logged the refcount and was able to find out the code path
which