Fix up lost patch in compat_sys_select() for new RCU files world order
authorLinus Torvalds <torvalds@g5.osdl.org>
Fri, 9 Sep 2005 22:10:52 +0000 (15:10 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 9 Sep 2005 22:10:52 +0000 (15:10 -0700)
Andrew lost this in patch reject resolution, and never noticed, since
the compat code isn't in use on x86.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/compat.c

index 8c665705c6a07beea9a4ead55a2184524f7ed41f..c2e0813164b458bb9fa93e383be7f967f63aff21 100644 (file)
@@ -1619,6 +1619,7 @@ compat_sys_select(int n, compat_ulong_t __user *inp, compat_ulong_t __user *outp
        char *bits;
        long timeout;
        int size, max_fdset, ret = -EINVAL;
+       struct fdtable *fdt;
 
        timeout = MAX_SCHEDULE_TIMEOUT;
        if (tvp) {
@@ -1644,7 +1645,8 @@ 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 */
-       max_fdset = current->files->max_fdset;
+       fdt = files_fdtable(current->files);
+       max_fdset = fdt->max_fdset;
        if (n > max_fdset)
                n = max_fdset;