• Eric W. Biederman's avatar
    net ip6 flowlabel: Make owner a union of struct pid * and kuid_t · 4f82f457
    Eric W. Biederman authored
    Correct a long standing omission and use struct pid in the owner
    field of struct ip6_flowlabel when the share type is IPV6_FL_S_PROCESS.
    This guarantees we don't have issues when pid wraparound occurs.
    
    Use a kuid_t in the owner field of struct ip6_flowlabel when the
    share type is IPV6_FL_S_USER to add user namespace support.
    
    In /proc/net/ip6_flowlabel capture the current pid namespace when
    opening the file and release the pid namespace when the file is
    closed ensuring we print the pid owner value that is meaning to
    the reader of the file.  Similarly use from_kuid_munged to print
    uid values that are meaningful to the reader of the file.
    
    This requires exporting pid_nr_ns so that ipv6 can continue to built
    as a module.  Yoiks what silliness
    Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
    Acked-by: default avatarSerge Hallyn <serge.hallyn@canonical.com>
    Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    4f82f457
pid.c 14.1 KB