summaryrefslogtreecommitdiff
path: root/fs/compat.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-09-09 15:42:34 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-09 15:42:34 -0700
commitac5b8b6f22118620cd1133d9943b1f31dc40a913 (patch)
treef38aa7461c85861ae74f72c33d1556686e1909cb /fs/compat.c
parentf0eca9626c6becb6fc56106b2e4287c6c784af3d (diff)
downloadlinux-stable-ac5b8b6f22118620cd1133d9943b1f31dc40a913.tar.gz
linux-stable-ac5b8b6f22118620cd1133d9943b1f31dc40a913.tar.bz2
linux-stable-ac5b8b6f22118620cd1133d9943b1f31dc40a913.zip
Preempt-safe RCU file usage
Fix up fs/compat.c fixes.
Diffstat (limited to 'fs/compat.c')
-rw-r--r--fs/compat.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/compat.c b/fs/compat.c
index c2e0813164b4..ac3fb9ed8eea 100644
--- a/fs/compat.c
+++ b/fs/compat.c
@@ -1645,8 +1645,10 @@ compat_sys_select(int n, compat_ulong_t __user *inp, compat_ulong_t __user *outp
goto out_nofds;
/* max_fdset can increase, so grab it once to avoid race */
+ rcu_read_lock();
fdt = files_fdtable(current->files);
max_fdset = fdt->max_fdset;
+ rcu_read_unlock();
if (n > max_fdset)
n = max_fdset;