From mboxrd@z Thu Jan 1 00:00:00 1970 From: Christoph Lameter Subject: Re: [PATCH] capabilities: Ambient capability set V2 Date: Mon, 2 Mar 2015 09:43:17 -0600 (CST) Message-ID: References: <20150301044407.GA14196@mail.hallyn.com> Content-Type: TEXT/PLAIN; charset=US-ASCII Return-path: In-Reply-To: <20150301044407.GA14196@mail.hallyn.com> Sender: linux-security-module-owner@vger.kernel.org To: "Serge E. Hallyn" Cc: Serge Hallyn , Andy Lutomirski , Jonathan Corbet , Aaron Jones , linux-security-module@vger.kernel.org, linux-kernel@vger.kernel.org, akpm@linuxfoundation.org, "Andrew G. Morgan" , Mimi Zohar , Austin S Hemmelgarn , Markku Savela , Jarkko Sakkinen , linux-api@vger.kernel.org, Michael Kerrisk List-Id: linux-api@vger.kernel.org On Sat, 28 Feb 2015, Serge E. Hallyn wrote: > Your example program is not filling in pI though? The setcap sets the inheritance bit. When the binary runs the i bits should be set. > Ah, i see why. In get_file_caps() you are still assigning > > fP = pA > > if the file has no file capabilities. so then you are actually > doing > > pP' = (X & (fP | pA)) | (pI & (fI | pA)) > rather than > pP' = (X & fP) | (pI & (fI | pA)) I thought that fP, fI and pI = {} since the file has no caps so this comes out as pP' = pA > Other than that, the patch is looking good to me. We should > consider emitting an audit record when a task fills in its How do I do that? > pA, and I do still wonder whether we should be requiring > CAP_SETFCAP (unsure how best to think of it). But assuming the > fP = pA was not intended, I think this largely does the right > thing.