|
@@ -32,6 +32,8 @@
|
|
|
#include <asm/io.h>
|
|
|
#include <linux/uaccess.h>
|
|
|
|
|
|
+#include <linux/nospec.h>
|
|
|
+
|
|
|
#include <linux/kbd_kern.h>
|
|
|
#include <linux/vt_kern.h>
|
|
|
#include <linux/kbd_diacr.h>
|
|
@@ -700,6 +702,8 @@ int vt_ioctl(struct tty_struct *tty,
|
|
|
if (vsa.console == 0 || vsa.console > MAX_NR_CONSOLES)
|
|
|
ret = -ENXIO;
|
|
|
else {
|
|
|
+ vsa.console = array_index_nospec(vsa.console,
|
|
|
+ MAX_NR_CONSOLES + 1);
|
|
|
vsa.console--;
|
|
|
console_lock();
|
|
|
ret = vc_allocate(vsa.console);
|