fs: prevent out-of-bounds array speculation when closing a file descriptor

commit 609d544414 upstream.

Google-Bug-Id: 114199369
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Theodore Ts'o 2023-03-06 13:54:50 -05:00 коммит произвёл Greg Kroah-Hartman
Родитель 2ddbd0f967
Коммит f8cd8754a0
1 изменённых файлов: 1 добавлений и 0 удалений

Просмотреть файл

@ -646,6 +646,7 @@ static struct file *pick_file(struct files_struct *files, unsigned fd)
file = ERR_PTR(-EINVAL);
goto out_unlock;
}
fd = array_index_nospec(fd, fdt->max_fds);
file = fdt->fd[fd];
if (!file) {
file = ERR_PTR(-EBADF);