diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/tty/vt/vt_ioctl.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/tty/vt/vt_ioctl.c b/drivers/tty/vt/vt_ioctl.c index a78ad10a119b..73cdc0d633dd 100644 --- a/drivers/tty/vt/vt_ioctl.c +++ b/drivers/tty/vt/vt_ioctl.c | |||
| @@ -32,6 +32,8 @@ | |||
| 32 | #include <asm/io.h> | 32 | #include <asm/io.h> |
| 33 | #include <linux/uaccess.h> | 33 | #include <linux/uaccess.h> |
| 34 | 34 | ||
| 35 | #include <linux/nospec.h> | ||
| 36 | |||
| 35 | #include <linux/kbd_kern.h> | 37 | #include <linux/kbd_kern.h> |
| 36 | #include <linux/vt_kern.h> | 38 | #include <linux/vt_kern.h> |
| 37 | #include <linux/kbd_diacr.h> | 39 | #include <linux/kbd_diacr.h> |
| @@ -700,6 +702,8 @@ int vt_ioctl(struct tty_struct *tty, | |||
| 700 | if (vsa.console == 0 || vsa.console > MAX_NR_CONSOLES) | 702 | if (vsa.console == 0 || vsa.console > MAX_NR_CONSOLES) |
| 701 | ret = -ENXIO; | 703 | ret = -ENXIO; |
| 702 | else { | 704 | else { |
| 705 | vsa.console = array_index_nospec(vsa.console, | ||
| 706 | MAX_NR_CONSOLES + 1); | ||
| 703 | vsa.console--; | 707 | vsa.console--; |
| 704 | console_lock(); | 708 | console_lock(); |
| 705 | ret = vc_allocate(vsa.console); | 709 | ret = vc_allocate(vsa.console); |
