lkml.org 
[lkml]   [2012]   [Aug]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [REVIEW][PATCH 11/15] userns: Teach trace to use from_kuid
    Steven Rostedt <rostedt@goodmis.org> writes:

    > On Sat, 2012-08-25 at 17:04 -0700, Eric W. Biederman wrote:
    >> - 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.
    >>
    >
    >> index 5c38c81..c9ace83 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,
    >
    > This is a global id. That is, it stored whatever process triggered the
    > report, not the one reading it. Thus, two different readers could get a
    > different uid for the same task that triggered the latency?

    Yes the stored value is a kuid_t the global kernel internal form.

    We report the value as a uid_t in the user namespace of the reader. So
    if two different processes in different user namespaces read the file
    they can see different values.

    Now I don't expect in practice we will allow anyone who isn't
    the global root user to even think of looking at debugfs, but in
    case we do we might as well handle this as best as we can.

    Eric


    \
     
     \ /
      Last update: 2012-08-26 03:21    [W:3.097 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site