diff options
author | Theodore Ts'o <tytso@mit.edu> | 2013-03-04 11:59:12 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2013-03-14 11:26:25 -0700 |
commit | 3479cfd6f589c4d49494c046fabdbfdcb5c4c8e6 (patch) | |
tree | 28644e1c35330e629c5499dca25bc38096aae991 /kernel | |
parent | 04825f04ac5042a966865ecc8fd6359fe59fa883 (diff) |
random: fix locking dependency with the tasklist_lock
commit b980955236922ae6106774511c5c05003d3ad225 upstream.
Commit 6133705494bb introduced a circular lock dependency because
posix_cpu_timers_exit() is called by release_task(), which is holding
a writer lock on tasklist_lock, and this can cause a deadlock since
kill_fasync() gets called with nonblocking_pool.lock taken.
There's no reason why kill_fasync() needs to be taken while the random
pool is locked, so move it out to fix this locking dependency.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Reported-by: Russ Dill <Russ.Dill@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions