summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2012-03-14 03:02:19 +0400
committerEric W. Biederman <ebiederm@xmission.com>2012-09-18 12:01:34 +0400
commitd20b92ab668cc44fc84bba0001839c5a8013a5cd (patch)
tree6a9f99ed0aa7563fcc990f9ec36ae2704672a961
parentf8f3d4de2d04e1a5b4293b67faee8ebabc64e9fa (diff)
downloadlinux-d20b92ab668cc44fc84bba0001839c5a8013a5cd.tar.xz
userns: Teach trace to use from_kuid
- When tracing capture the kuid. - When displaying the data to user space convert the kuid into the user namespace of the process that opened the report file. Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@redhat.com> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
-rw-r--r--init/Kconfig1
-rw-r--r--kernel/trace/trace.c3
-rw-r--r--kernel/trace/trace.h2
3 files changed, 3 insertions, 3 deletions
diff --git a/init/Kconfig b/init/Kconfig
index 6de46ef12e3f..2a388e569a28 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -927,7 +927,6 @@ config UIDGID_CONVERTED
# Features
depends on IMA = n
depends on EVM = n
- depends on TRACING = n
depends on FS_POSIX_ACL = n
depends on QUOTA = n
depends on QUOTACTL = n
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 5c38c81496ce..c9ace838d509 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2060,7 +2060,8 @@ print_trace_header(struct seq_file *m, struct trace_iterator *iter)
seq_puts(m, "# -----------------\n");
seq_printf(m, "# | task: %.16s-%d "
"(uid:%d nice:%ld policy:%ld rt_prio:%ld)\n",
- data->comm, data->pid, data->uid, data->nice,
+ data->comm, data->pid,
+ from_kuid_munged(seq_user_ns(m), data->uid), data->nice,
data->policy, data->rt_priority);
seq_puts(m, "# -----------------\n");
diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
index 55e1f7f0db12..40a6f30c985f 100644
--- a/kernel/trace/trace.h
+++ b/kernel/trace/trace.h
@@ -147,7 +147,7 @@ struct trace_array_cpu {
unsigned long skipped_entries;
cycle_t preempt_timestamp;
pid_t pid;
- uid_t uid;
+ kuid_t uid;
char comm[TASK_COMM_LEN];
};