diff options
Diffstat (limited to 'fs/proc/array.c')
| -rw-r--r-- | fs/proc/array.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/proc/array.c b/fs/proc/array.c index d88d518d30f6..d84eecacbeaf 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c | |||
| @@ -74,6 +74,7 @@ | |||
| 74 | #include <linux/file.h> | 74 | #include <linux/file.h> |
| 75 | #include <linux/times.h> | 75 | #include <linux/times.h> |
| 76 | #include <linux/cpuset.h> | 76 | #include <linux/cpuset.h> |
| 77 | #include <linux/rcupdate.h> | ||
| 77 | 78 | ||
| 78 | #include <asm/uaccess.h> | 79 | #include <asm/uaccess.h> |
| 79 | #include <asm/pgtable.h> | 80 | #include <asm/pgtable.h> |
| @@ -180,12 +181,14 @@ static inline char * task_state(struct task_struct *p, char *buffer) | |||
| 180 | p->gid, p->egid, p->sgid, p->fsgid); | 181 | p->gid, p->egid, p->sgid, p->fsgid); |
| 181 | read_unlock(&tasklist_lock); | 182 | read_unlock(&tasklist_lock); |
| 182 | task_lock(p); | 183 | task_lock(p); |
| 184 | rcu_read_lock(); | ||
| 183 | if (p->files) | 185 | if (p->files) |
| 184 | fdt = files_fdtable(p->files); | 186 | fdt = files_fdtable(p->files); |
| 185 | buffer += sprintf(buffer, | 187 | buffer += sprintf(buffer, |
| 186 | "FDSize:\t%d\n" | 188 | "FDSize:\t%d\n" |
| 187 | "Groups:\t", | 189 | "Groups:\t", |
| 188 | fdt ? fdt->max_fds : 0); | 190 | fdt ? fdt->max_fds : 0); |
| 191 | rcu_read_unlock(); | ||
| 189 | 192 | ||
| 190 | group_info = p->group_info; | 193 | group_info = p->group_info; |
| 191 | get_group_info(group_info); | 194 | get_group_info(group_info); |
