diff options
author | Jiri Slaby <jirislaby@gmail.com> | 2009-10-02 02:43:59 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-10-02 03:11:12 +0400 |
commit | a09efb07b5025fb75f42e903d31767a3cafede89 (patch) | |
tree | f0da535853722a7e4203bcd7ae5634c73c9660c6 /drivers/char | |
parent | a28b3dc90964ed961b6ed2c320885ab8b3a0a8ff (diff) | |
download | linux-a09efb07b5025fb75f42e903d31767a3cafede89.tar.xz |
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>
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/vt_ioctl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/char/vt_ioctl.c b/drivers/char/vt_ioctl.c index 29c651ab0d78..6b36ee56e6fe 100644 --- a/drivers/char/vt_ioctl.c +++ b/drivers/char/vt_ioctl.c @@ -981,8 +981,10 @@ int vt_ioctl(struct tty_struct *tty, struct file * file, 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 { |