Char: vt_ioctl, fix BKL imbalance
Stanse found (again) a BKL imbalance in vt_ioctl.
It's easily triggerable by ioctl(dev_tty_fd, VT_SETACTIVATE, NULL);
Introduced by
commit d3b5cffcf84a8bdc7073dce4745d67c72629af85 Author: Alan Cox <alan@linux.intel.com>
Date: Sat Sep 19 13:13:26 2009 -0700
vt: add an activate and lock
Signed-off-by: Jiri Slaby <jirislaby@gmail.com>
Cc: Alan Cox <alan@linux.intel.com>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c
index 29c651a..6b36ee5 100644
--- a/drivers/char/vt_ioctl.c
+++ b/drivers/char/vt_ioctl.c
@@ -981,8 +981,10 @@
goto eperm;
if (copy_from_user(&vsa, (struct vt_setactivate __user *)arg,
- sizeof(struct vt_setactivate)))
- return -EFAULT;
+ sizeof(struct vt_setactivate))) {
+ ret = -EFAULT;
+ goto out;
+ }
if (vsa.console == 0 || vsa.console > MAX_NR_CONSOLES)
ret = -ENXIO;
else {