aboutsummaryrefslogtreecommitdiff
path: root/drivers/char/vt.c
diff options
context:
space:
mode:
authorPaul Fulghum <paulkf@microgate.com>2006-02-14 13:53:00 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2006-02-14 16:09:33 -0800
commitda965822abd18a17d7cffe1d511f48951c82dfb6 (patch)
treeb5a64fd33374661dbc689d3192a5c9134b3672e5 /drivers/char/vt.c
parent16bf134840da3920ded1290973c56ec214636f12 (diff)
[PATCH] tty reference count fix
Fix hole where tty structure can be released when reference count is non zero. Existing code can sleep without tty_sem protection between deciding to release the tty structure (setting local variables tty_closing and otty_closing) and setting TTY_CLOSING to prevent further opens. An open can occur during this interval causing release_dev() to free the tty structure while it is still referenced. This should fix bugzilla.kernel.org [Bug 6041] New: Unable to handle kernel paging request In Bug 6041, tty_open() oopes on accessing the tty structure it has successfully claimed. Bug was on SMP machine with the same tty being opened and closed by multiple processes, and DEBUG_PAGEALLOC enabled. Signed-off-by: Paul Fulghum <paulkf@microgate.com> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Cc: Jesper Juhl <jesper.juhl@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/char/vt.c')
0 files changed, 0 insertions, 0 deletions