Quoting Eric W. Biederman (ebiederm@xxxxxxxxxxxx): > "Serge E. Hallyn" <serge@xxxxxxxxxx> writes: > > > Quoting Eric W. Biederman (ebiederm@xxxxxxxxxxxx): > >> > >> When unsharing a user namespace we reduce our credentials to just what > >> can be done in that user namespace. This is a subset of the credentials > >> we previously had. Teach commit_creds to recognize this is a subset > >> of the credentials we have had before and don't clear the dumpability flag. > >> > >> This allows an unprivileged program to do: > >> unshare(CLONE_NEWUSER); > >> fd = open("/proc/self/uid_map", O_RDWR); > >> > >> Where previously opening the uid_map writable would fail because > >> the the task had been made non-dumpable. > >> > >> Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx> > > > > Acked-by: Serge Hallyn <serge.hallyn@xxxxxxxxxxxxx> > > > >> --- > >> kernel/cred.c | 26 +++++++++++++++++++++++++- > >> 1 files changed, 25 insertions(+), 1 deletions(-) > >> > >> diff --git a/kernel/cred.c b/kernel/cred.c > >> index 48cea3d..993a7ea41 100644 > >> --- a/kernel/cred.c > >> +++ b/kernel/cred.c > >> @@ -455,6 +455,30 @@ error_put: > >> return ret; > >> } > >> > > > > Do you think we need to warn that this can only be used for > > commit_creds? (i.e. if someone tried ot use this in some > > other context, the 'creds are subset of target ns is a child > > of current_ns' assumption would be wrong) > > This function should be a general test valid at any time. > > Except that I forgot the bit of the test that asks is the original cred > the owner of the subset user namespace. Ok, with that change that'll be fine :) > I will respin this patch. Cool, thanks. _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers