aboutsummaryrefslogtreecommitdiffstats
path: root/net/lapb/lapb_timer.c
diff options
context:
space:
mode:
authorBjoern Brandenburg <bbb@mpi-sws.org>2014-09-12 07:31:08 -0400
committerNamhoon Kim <namhoonk@cs.unc.edu>2014-11-03 21:59:04 -0500
commit4841253863ef57e0b91d169b0080ce079d54fe6f (patch)
treee086695ed0f01f996821e001918d53ed3da276d4 /net/lapb/lapb_timer.c
parent563999251e34d52bfbc47889cabd763714d020e1 (diff)
P-RES: fix rare deadlock via hrtimer_start()
There's a rare condition under which the current call to hrtimer_start() in pres_update_timer() may result in deadlock. pres_update_timer() // holds runqueue lock and state->lock -> hrtimer_start() -> raise_softirq_irqoff() -> wakeup_softirqd() -> wake_up_process() -> acquires runqueue lock() To avoid this, we need to call __hrtimer_start_range_ns() with the 'wakeup' flag set to zero. While at it, also drop the state->lock before calling into hrtimer(), to avoid making the scheduler critical section longer than necessary.
Diffstat (limited to 'net/lapb/lapb_timer.c')
0 files changed, 0 insertions, 0 deletions