From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753433AbbJBSIa (ORCPT ); Fri, 2 Oct 2015 14:08:30 -0400 Received: from www.sr71.net ([198.145.64.142]:53749 "EHLO blackbird.sr71.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751841AbbJBSI3 (ORCPT ); Fri, 2 Oct 2015 14:08:29 -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> <560DBA24.5010201@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: <560EC81B.60809@sr71.net> Date: Fri, 2 Oct 2015 11:08:27 -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 06:38 PM, Linus Torvalds wrote: > On Thu, Oct 1, 2015 at 6:56 PM, Dave Hansen wrote: >> >> 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. > > That's a completely insane assumption. There are tons of reasons to > have code and read-only data in the same segment, and it's very > traditional. Just assuming that you only execute out of something that > has PROT_EXEC | PROT_READ is insane. Yes, it's insane, and I confirmed that ld.so actually reads some stuff out of the first page of the r-x part of the executable. But, it did find a bug in my code where I wouldn't allow instruction fetches to fault in pages in a pkey-protected area, so it wasn't a completely worthless exercise.