From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751407AbbJAW4k (ORCPT ); Thu, 1 Oct 2015 18:56:40 -0400 Received: from www.sr71.net ([198.145.64.142]:45455 "EHLO blackbird.sr71.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750762AbbJAW4i (ORCPT ); Thu, 1 Oct 2015 18:56:38 -0400 Subject: Re: [PATCH 26/26] x86, pkeys: Documentation To: Linus Torvalds References: <20150916174903.E112E464@viggo.jf.intel.com> <20150916174913.AF5FEA6D@viggo.jf.intel.com> <20150920085554.GA21906@gmail.com> <55FF88BA.6080006@sr71.net> <20150924094956.GA30349@gmail.com> <56044A88.7030203@sr71.net> <20151001111718.GA25333@gmail.com> <560DB4A6.6050107@sr71.net> Cc: Kees Cook , Ingo Molnar , "x86@kernel.org" , LKML , Linux-MM , Andrew Morton , Peter Zijlstra , Andy Lutomirski , Borislav Petkov From: Dave Hansen Message-ID: <560DBA24.5010201@sr71.net> Date: Thu, 1 Oct 2015 15:56:36 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/01/2015 03:48 PM, Linus Torvalds wrote: > On Thu, Oct 1, 2015 at 6:33 PM, Dave Hansen wrote: >> >> Here it is in a quite fugly form (well, it's not opt-in). Init crashes >> if I boot with this, though. >> >> I'll see if I can turn it in to a bit more of an opt-in and see what's >> actually going wrong. ... > That said, I don't understand your patch. Why check PROT_WRITE? We've > had :"execute but not write" forever. It's "execute and not *read*" > that is interesting. I was thinking that almost anybody doing a PROT_WRITE|PROT_EXEC really *is* going to write to it so they'll notice pretty fast if we completely deny them access to it. Also, a quick ftrace showed that most mmap() callers that set PROT_EXEC also set PROT_READ. I'm just assuming that folks are setting PROT_READ but aren't _really_ going to read it, so we can safely deny them all access other than exec.