diff options
author | Andrea Righi <righi.andrea@gmail.com> | 2009-04-13 14:39:39 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-04-13 15:04:28 -0700 |
commit | 513adb58685615b0b1d47a3f0d40f5352beff189 (patch) | |
tree | 80afe08d17f24bbf3d5ad48d62df2e143d00ae95 /fs/readdir.c | |
parent | b52bb3712a64c404846f30300b339cfd01e316be (diff) | |
download | op-kernel-dev-513adb58685615b0b1d47a3f0d40f5352beff189.zip op-kernel-dev-513adb58685615b0b1d47a3f0d40f5352beff189.tar.gz |
fbdev: fix info->lock deadlock in fbcon_event_notify()
fb_notifier_call_chain() is called with info->lock held, i.e. in
do_fb_ioctl() => FBIOPUT_VSCREENINFO => fb_set_var() and the some
notifier callbacks, like fbcon_event_notify(), try to re-acquire
info->lock again.
Remove the lock/unlock_fb_info() in all the framebuffer notifier
callbacks' and be sure to always call fb_notifier_call_chain() with
info->lock held.
Reported-by: Pavel Roskin <proski@gnu.org>
Reported-by: Eric Miao <eric.y.miao@gmail.com>
Signed-off-by: Andrea Righi <righi.andrea@gmail.com>
Cc: Stefan Richter <stefanr@s5r6.in-berlin.de>
Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs/readdir.c')
0 files changed, 0 insertions, 0 deletions