summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2012-08-11 12:38:26 -0700
committerEric W. Biederman <ebiederm@xmission.com>2012-11-20 04:18:15 -0800
commite9f238c3041e2582a710e75910c8cbf2a98e51b2 (patch)
tree240f7aedaac495dbc17364c6318eedf2ae8ed5c2
parentb2e0d98705e60e45bbb3c0032c48824ad7ae0704 (diff)
downloadlwn-e9f238c3041e2582a710e75910c8cbf2a98e51b2.tar.gz
lwn-e9f238c3041e2582a710e75910c8cbf2a98e51b2.zip
procfs: Print task uids and gids in the userns that opened the proc file
Instead of using current_userns() use the userns of the opener of the file so that if the file is passed between processes the contents of the file do not change. Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com> Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
-rw-r--r--fs/proc/array.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/proc/array.c b/fs/proc/array.c
index c1c207c36cae..554434265613 100644
--- a/fs/proc/array.c
+++ b/fs/proc/array.c
@@ -162,7 +162,7 @@ static inline const char *get_task_state(struct task_struct *tsk)
static inline void task_state(struct seq_file *m, struct pid_namespace *ns,
struct pid *pid, struct task_struct *p)
{
- struct user_namespace *user_ns = current_user_ns();
+ struct user_namespace *user_ns = seq_user_ns(m);
struct group_info *group_info;
int g;
struct fdtable *fdt = NULL;