vt_kdsetmode: extend console locking
commit 2287a51ba822384834dafc1c798453375d1107c7 upstream. As per the long-suffering comment. Reported-by: Minh Yuan <yuanmingbuaa@gmail.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Jiri Slaby <jirislaby@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
8a19e00450
commit
f441801520
@ -484,16 +484,19 @@ int vt_ioctl(struct tty_struct *tty,
|
||||
ret = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
/* FIXME: this needs the console lock extending */
|
||||
if (vc->vc_mode == (unsigned char) arg)
|
||||
console_lock();
|
||||
if (vc->vc_mode == (unsigned char) arg) {
|
||||
console_unlock();
|
||||
break;
|
||||
}
|
||||
vc->vc_mode = (unsigned char) arg;
|
||||
if (console != fg_console)
|
||||
if (console != fg_console) {
|
||||
console_unlock();
|
||||
break;
|
||||
}
|
||||
/*
|
||||
* explicitly blank/unblank the screen if switching modes
|
||||
*/
|
||||
console_lock();
|
||||
if (arg == KD_TEXT)
|
||||
do_unblank_screen(1);
|
||||
else
|
||||
|
Loading…
x
Reference in New Issue
Block a user