summaryrefslogtreecommitdiffstats
path: root/drivers/char/vt_ioctl.c
diff options
context:
space:
mode:
authorJiri Slaby <jirislaby@gmail.com>2009-06-22 18:42:18 +0100
committerLinus Torvalds <torvalds@linux-foundation.org>2009-06-22 11:32:24 -0700
commita115902f67ef51fbbe83e214fb761aaa9734c1ce (patch)
treea12a81468795e40fe0012331cc4e95d13f5177e0 /drivers/char/vt_ioctl.c
parent69ae59d7d8df14413cf0a97b3e372d7dc8352563 (diff)
downloadlinux-a115902f67ef51fbbe83e214fb761aaa9734c1ce.tar.gz
linux-a115902f67ef51fbbe83e214fb761aaa9734c1ce.tar.bz2
linux-a115902f67ef51fbbe83e214fb761aaa9734c1ce.zip
vt_ioctl: fix lock imbalance
Don't return from switch/case directly in vt_ioctl. Set ret and break instead so that we unlock BKL. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Alan Cox <alan@linux.intel.com> Cc: stable@kernel.org Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/char/vt_ioctl.c')
-rw-r--r--drivers/char/vt_ioctl.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c
index e6ce632a393e..7539bed0f7e0 100644
--- a/drivers/char/vt_ioctl.c
+++ b/drivers/char/vt_ioctl.c
@@ -396,7 +396,8 @@ int vt_ioctl(struct tty_struct *tty, struct file * file,
kbd = kbd_table + console;
switch (cmd) {
case TIOCLINUX:
- return tioclinux(tty, arg);
+ ret = tioclinux(tty, arg);
+ break;
case KIOCSOUND:
if (!perm)
goto eperm;