"Michael Kerrisk (man-pages)" [off-list ref] writes:
Hi Eric,
On 25 January 2017 at 14:58, Eric W. Biederman [off-list ref] wrote:
quoted
"Michael Kerrisk (man-pages)" [off-list ref] writes:
quoted
I would like to write code that discovers the namespace setup on a live
system. The NS_GET_PARENT and NS_GET_USERNS ioctl() operations added in
Linux 4.9 provide much of what I want, but there are still a couple of
small pieces missing. Those pieces are added with this patch series.
So it looks like the -EOVERFLOW change broke your example program.
Causing it to abort if -EOVERFLOW is hit. Do we really want to return
-EOVERFLOW? Or do you want to fix your program?
Bother! Yes, I should have kept the example program in sync. (I
overlooked that it was not any more in sync.)
So, I want to make sure I understand correctly, before I aswer your
question. Suppose we have
1. Outer namespace owned by UID 0
2. Inner namespace owned by UID 1000
3. A UID mapping in the inner namespace that maps '0 1000 1'
4. A processs, X, in the outer namespace with UID 0 (and all caps).
That's the case you're meaning, right?
I think so I just noticed you did not handle -EOVERFLOW in
the one NS_GET_OWNER_UID call.
So, UID 0 doesn't have a
mapping into the inner namespace, but does have all capabilities in
that inner namespace, right?
That is correct.
Eric