diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2012-03-13 19:02:19 -0400 |
---|---|---|
committer | Eric W. Biederman <ebiederm@xmission.com> | 2012-09-18 04:01:34 -0400 |
commit | d20b92ab668cc44fc84bba0001839c5a8013a5cd (patch) | |
tree | 6a9f99ed0aa7563fcc990f9ec36ae2704672a961 /kernel | |
parent | f8f3d4de2d04e1a5b4293b67faee8ebabc64e9fa (diff) |
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>
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/trace/trace.c | 3 | ||||
-rw-r--r-- | kernel/trace/trace.h | 2 |
2 files changed, 3 insertions, 2 deletions
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) | |||
2060 | seq_puts(m, "# -----------------\n"); | 2060 | seq_puts(m, "# -----------------\n"); |
2061 | seq_printf(m, "# | task: %.16s-%d " | 2061 | seq_printf(m, "# | task: %.16s-%d " |
2062 | "(uid:%d nice:%ld policy:%ld rt_prio:%ld)\n", | 2062 | "(uid:%d nice:%ld policy:%ld rt_prio:%ld)\n", |
2063 | data->comm, data->pid, data->uid, data->nice, | 2063 | data->comm, data->pid, |
2064 | from_kuid_munged(seq_user_ns(m), data->uid), data->nice, | ||
2064 | data->policy, data->rt_priority); | 2065 | data->policy, data->rt_priority); |
2065 | seq_puts(m, "# -----------------\n"); | 2066 | seq_puts(m, "# -----------------\n"); |
2066 | 2067 | ||
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 { | |||
147 | unsigned long skipped_entries; | 147 | unsigned long skipped_entries; |
148 | cycle_t preempt_timestamp; | 148 | cycle_t preempt_timestamp; |
149 | pid_t pid; | 149 | pid_t pid; |
150 | uid_t uid; | 150 | kuid_t uid; |
151 | char comm[TASK_COMM_LEN]; | 151 | char comm[TASK_COMM_LEN]; |
152 | }; | 152 | }; |
153 | 153 | ||