From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754282AbbBZTcJ (ORCPT ); Thu, 26 Feb 2015 14:32:09 -0500 Received: from h2.hallyn.com ([78.46.35.8]:40718 "EHLO h2.hallyn.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753862AbbBZTcD (ORCPT ); Thu, 26 Feb 2015 14:32:03 -0500 Date: Thu, 26 Feb 2015 13:32:00 -0600 From: "Serge E. Hallyn" To: Christoph Lameter Cc: "Serge E. Hallyn" , Serge Hallyn , Serge Hallyn , Andy Lutomirski , Aaron Jones , "Ted Ts'o" , linux-security-module@vger.kernel.org, akpm@linuxfoundation.org, "Andrew G. Morgan" , Mimi Zohar , Austin S Hemmelgarn , Markku Savela , Jarkko Sakkinen , linux-kernel@vger.kernel.org, linux-api@vger.kernel.org, Michael Kerrisk , Jonathan Corbet Subject: Re: [PATCH] capabilities: Ambient capability set V1 Message-ID: <20150226193200.GA17709@mail.hallyn.com> References: <20150223181553.GE25477@ubuntumail> <20150224051928.GA14755@mail.hallyn.com> <20150224154715.GA20682@mail.hallyn.com> <20150224164429.GB29685@ubuntumail> <20150225033247.GC29685@ubuntumail> <20150226153524.GC15182@mail.hallyn.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Feb 26, 2015 at 12:28:30PM -0600, Christoph Lameter wrote: > On Thu, 26 Feb 2015, Serge E. Hallyn wrote: > > > > Well doing that breaks su. > > > > Don't what exactly? You're saying that doing > > > > pI' = pI > > pA' = pA (pA is ambient) > > pP' = (X & fP) | (pI & (fI | pA)) > > pE' = pP' & (fE | pA) > > > > stopped su from having CAP_SETGID while > > > > pI' = pI > > pA' = pA (pA is ambient) > > pP' = (X & fP) | (pI & (fI | pA)) > > pE' = pP' & fE > > > > worked? I'll hope you're saying both "fail", in which case > > fE does not exist in cpu_vfs_cap_data. We only get fI and fP. Why in the > world does setcap allow setting fE? It sets a bit in the magic_etc. So fE is either all on or all off. > V1 does not use fE. In my newer attempt, I seemed to have worked > with zeroed field that I assumed was filled in. > > I will just do > > pE' = pP' > > Ok? Andrew Morgan was against that. What if we changed pE' = pP' & (fE | pA) to if (pA) pE' = pP' & fE else pE' = pP'