From: Eric Dumazet
Sent: 13 August 2015 23:45
When replacing del_timer() with del_timer_sync(), I introduced
a deadlock condition :
reqsk_queue_unlink() is called from inet_csk_reqsk_queue_drop()
inet_csk_reqsk_queue_drop() can be called from many contexts,
one being the timer handler
On Tue, 2015-08-18 at 11:04 +, David Laight wrote:
From: Eric Dumazet
Sent: 13 August 2015 23:45
When replacing del_timer() with del_timer_sync(), I introduced
a deadlock condition :
reqsk_queue_unlink() is called from inet_csk_reqsk_queue_drop()
inet_csk_reqsk_queue_drop()
On Tue, 2015-08-18 at 13:57 +, David Laight wrote:
s the purpose of del_timer_sync()
I wasn't worried about del_timer_sync().
The problem is the call to timer_pending().
If the timer has just expired, and the timeout function is running
(on another cpu) then timer_pending() will
From: Eric Dumazet
Sent: 18 August 2015 14:37
On Tue, 2015-08-18 at 11:04 +, David Laight wrote:
From: Eric Dumazet
Sent: 13 August 2015 23:45
When replacing del_timer() with del_timer_sync(), I introduced
a deadlock condition :
reqsk_queue_unlink() is called from
From: Eric Dumazet eric.duma...@gmail.com
Date: Thu, 13 Aug 2015 15:44:51 -0700
From: Eric Dumazet eduma...@google.com
When replacing del_timer() with del_timer_sync(), I introduced
a deadlock condition :
reqsk_queue_unlink() is called from inet_csk_reqsk_queue_drop()