Quoting Dwight Engen (dwight.engen@xxxxxxxxxx): > On Thu, 1 Aug 2013 10:06:43 -0500 > Ben Myers <bpm@xxxxxxx> wrote: > > > Dave, > > > > On Thu, Aug 01, 2013 at 09:28:52AM +1000, Dave Chinner wrote: > > > On Wed, Jul 31, 2013 at 08:25:23AM -0500, Ben Myers wrote: > > > > Hey, > > > > > > > > On Wed, Jul 31, 2013 at 10:21:19AM +1000, Dave Chinner wrote: > > > > > On Tue, Jul 30, 2013 at 06:40:21PM -0500, Ben Myers wrote: > > > > > > On Mon, Jul 29, 2013 at 11:07:09PM -0400, Dwight Engen wrote: > > > > > > > >From e6a9ee0cfa0ed40484f66bc1726dc19de36038b8 Mon Sep 17 > > > > > > > >00:00:00 2001 > > > > > > > From: Dwight Engen <dwight.engen@xxxxxxxxxx> > > > > > > > Date: Tue, 2 Jul 2013 09:52:54 -0400 > > > > > > > Subject: [PATCH 7/7] enable building user namespace with xfs > > > > > > > > > > > > > > Signed-off-by: Dwight Engen <dwight.engen@xxxxxxxxxx> > > > > > > > > > > > > Was there a patch running around to limit bulkstat to > > > > > > init_user_ns? Any other items that needed to be addressed > > > > > > before applying this patch? > > > > > > > > > > Bulkstat has a capable(CAP_SYS_ADMIN) check and therefore can > > > > > only be executed in the init name space. Similarly, all the > > > > > open-by-handle interfaces have the same capable() checks so > > > > > they can only be executed int he init name space, too. > > > > > > > > Gah. I was under the impression that you could have a process > > > > with CAP_SYS_ADMIN in a namespace other than init_user_ns. > > > > > > Ben, until about a week and a half ago I was also working under that > > > same understanding as you. > > > > Well huh. According to Dwight you can have a process with > > CAP_SYS_ADMIN in a namespace other than init_user_ns. Kinda cool, > > IMO. > > Yeah, see commit 3486740a and cap_capable(). Took me a bit to grok > that for loop, but I think the semantics are that if you are in a non > init_user_ns, you can start from current_user_ns() looking for a cap To be precise, you're not looking for a cap in the parent ns. You're checking whether the subject is the creator of one of the object's namespace's parents. > and walk back the heirarchy (userns's can be nested) but it won't ever > check in init_user_ns, and so by definition you have no capabilities > in init_user_ns. You also have no caps in any of your parent namespaces. The loop is checking over the *object*'s parents to see if the subject owns them. I'ts not looping over the *subject*'s parents, as they do not grant any privilege. Only the subject's bottom-most credentials grant privilege. > ie. if you are in a userns, you might be nsown_capable(CAP_SYS_ADMIN) > but you cannot ever be capable(CAP_SYS_ADMIN). Thats my understanding > anyway :) Yup. -serge _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs