aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fdtable.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/fdtable.h')
-rw-r--r--include/linux/fdtable.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/linux/fdtable.h b/include/linux/fdtable.h
index 1c65817673db..41615f38bcff 100644
--- a/include/linux/fdtable.h
+++ b/include/linux/fdtable.h
@@ -10,6 +10,7 @@
10#include <linux/compiler.h> 10#include <linux/compiler.h>
11#include <linux/spinlock.h> 11#include <linux/spinlock.h>
12#include <linux/rcupdate.h> 12#include <linux/rcupdate.h>
13#include <linux/nospec.h>
13#include <linux/types.h> 14#include <linux/types.h>
14#include <linux/init.h> 15#include <linux/init.h>
15#include <linux/fs.h> 16#include <linux/fs.h>
@@ -82,8 +83,10 @@ static inline struct file *__fcheck_files(struct files_struct *files, unsigned i
82{ 83{
83 struct fdtable *fdt = rcu_dereference_raw(files->fdt); 84 struct fdtable *fdt = rcu_dereference_raw(files->fdt);
84 85
85 if (fd < fdt->max_fds) 86 if (fd < fdt->max_fds) {
87 fd = array_index_nospec(fd, fdt->max_fds);
86 return rcu_dereference_raw(fdt->fd[fd]); 88 return rcu_dereference_raw(fdt->fd[fd]);
89 }
87 return NULL; 90 return NULL;
88} 91}
89 92