aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2012-03-13 19:02:19 -0400
committerEric W. Biederman <ebiederm@xmission.com>2012-09-18 04:01:34 -0400
commitd20b92ab668cc44fc84bba0001839c5a8013a5cd (patch)
tree6a9f99ed0aa7563fcc990f9ec36ae2704672a961 /kernel
parentf8f3d4de2d04e1a5b4293b67faee8ebabc64e9fa (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.c3
-rw-r--r--kernel/trace/trace.h2
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