Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S941729AbcJSOVM (ORCPT ); Wed, 19 Oct 2016 10:21:12 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:60851 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S941712AbcJSOVI (ORCPT ); Wed, 19 Oct 2016 10:21:08 -0400 Date: Wed, 19 Oct 2016 12:40:56 +0200 From: Peter Zijlstra To: Arnaldo Carvalho de Melo Cc: Daniel Micay , kernel-hardening@lists.openwall.com, Mark Rutland , Ingo Molnar , Alexander Shishkin , "linux-doc@vger.kernel.org" , LKML , Jeff Vander Stoep Subject: Re: [kernel-hardening] [PATCH 1/2] security, perf: allow further restriction of perf_event_open Message-ID: <20161019104056.GK3102@twins.programming.kicks-ass.net> References: <1469630746-32279-1-git-send-email-jeffv@google.com> <20161017134413.GK29095@leverpostej> <1476825301.4032.7.camel@gmail.com> <20161019100126.GI3102@twins.programming.kicks-ass.net> <20161019102602.GA25522@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161019102602.GA25522@kernel.org> User-Agent: Mutt/1.5.23.1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1867 Lines: 41 On Wed, Oct 19, 2016 at 07:26:02AM -0300, Arnaldo Carvalho de Melo wrote: > Em Wed, Oct 19, 2016 at 12:01:26PM +0200, Peter Zijlstra escreveu: > > On Tue, Oct 18, 2016 at 05:15:01PM -0400, Daniel Micay wrote: > > > It's also worth noting that fine-grained control via a scoped mechanism > > > would likely only be used to implement *more restrictions* on Android, > > > not to make the feature less aggressive. > > > > It's desirable for perf events to be disabled by default for non-root > > > across the board on Android. > > > Right, but this is Android. The knob seems to now also live in Debian > > (and derived) distros. And there it is utter crap. > > > It completely defeats having perf for a fairly large segment of > > corporate developers who do not get to have root on their own machines > > (which is stupid policy but whatever). > > > It similarly defeats development of self profiling JITs and whatnot. > > > A capability would allow people to run perf (or another sanctioned > > binary), even though in general they cannot do sys_perf_event_open(). > > But self profiling JITs would be useful for non-developers, on Android > (anywhere, really), and for that it would require being able to at > least, well, self profile, using sys_perf_event_open() by a normal > process, limited to profiling itself, no? > > This not being possible, self profiling will use some other means, its > like sys_perf_event_open() never existed for them. Right, so with capabilities, we could grant the binary the capability to use sys_perf_event_open(). That would still leave developers of said JIT in a tight spot, because there'd be no way to set the capability on their freshly compiled binary. They'd have to be granted the capability to the user, using pam_cap. Which would involve corp. IT doing something sensible, ergo, this'll never happen :-(.