Received: by 10.192.165.148 with SMTP id m20csp1242282imm; Wed, 25 Apr 2018 15:12:10 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/cJj9oNsgjAAA7g61oNZtkzisMHm+rw6oc7uTkDttlKK22H6lAGvdIdRHGvpA/IUFM5Gf4 X-Received: by 2002:a17:902:784c:: with SMTP id e12-v6mr31023473pln.60.1524694330280; Wed, 25 Apr 2018 15:12:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524694330; cv=none; d=google.com; s=arc-20160816; b=MjsxTJw2mR9GOLbSFmNQiRWZZpQp2xAPFLJpbccIl3FqH75DiNEAFH6e++zvykX93F YbyWQkViR+ZLcjGQ41f2O5Ox867dc/ijqZaI6t4ugCYdaWbS3CLK/SmwDXokEHAXLhVC OilZ/FXGJRr6jy1PsqIpmwR6L4mcrJgmgZ7Jv+Zg1805lJpHPOFuNi9GF5d5uSC3EeIq KOaEygtm7izRL5kamXcL4xqVMXJ1Io3V2vGwX42TQlv4RCGG3UVbO5sMVI3mObw3qGNq +gePTwByU5b3bPr/da6PWk4jeRysdlyXELOuN158xzI3RgBkpCHBWi7R9xNg6JYJja+r UhMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=CUwZwm06OMv1BOe34p3BZiGl9BSxyA6UWhoZmJY1yBs=; b=GQeKJuxf5HE/VKULX0RWZJMdTmKsJAbMhssJr5v+Yoq/8yhlRKLVPvAWa+aZlhKxfB DYBQRfAuCzaQ2TK3HV4lkV8QAf2hE80LkQXDs52Nv1XvVJCpQZ1N055BfX+8Fvc/BPX5 qeJL1TjNnD3e4SEKaEWXtNnIz5iaMDmTtO85pl/cZf0HbUgmGjYmciAp9io7Yuyq8WzS wc+mCjnxg3tkfBaxvzydBjRT/ZzsPHo07o8GCECugObweZEo0EGNYznB+EVVyH1dch1s s/sJNCEfLi1qBt36vqwdSqhEbzhWh/caHvylLeBluXpjU+ADsM5lpLLGnRRKePBO3VaO ykFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=glzn4zoB; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id w6-v6si13504089pll.50.2018.04.25.15.11.55; Wed, 25 Apr 2018 15:12:10 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=glzn4zoB; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753650AbeDYWKq (ORCPT + 99 others); Wed, 25 Apr 2018 18:10:46 -0400 Received: from mail-wm0-f54.google.com ([74.125.82.54]:40474 "EHLO mail-wm0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752866AbeDYWKo (ORCPT ); Wed, 25 Apr 2018 18:10:44 -0400 Received: by mail-wm0-f54.google.com with SMTP id j5so9454105wme.5 for ; Wed, 25 Apr 2018 15:10:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=CUwZwm06OMv1BOe34p3BZiGl9BSxyA6UWhoZmJY1yBs=; b=glzn4zoBD07wEPUsv0UBcFz8XVYySQimuivPlzC6kHT/H8Irqe7+g2y0rkTZnDTbWA 7SAADTmwbURL4khNmX+T1NJeDHUWrAmy6Z07MKp6ngzEFNN6acFCVMJ5cXpkFl0FbXpY SF1x+3Wu0TDTMp8wc9kbXJsOwb3i29WhOhRWTzc3ygnvy/mqAszljORV9oTdtgGEs0ot MZx9uMAB/g90bkUj6jgsIHxmVDNCMMOSWdC8icp6WNpDx8D1X0bdvPJHJeXVyoXehXuZ Of4jYcuz5kmyknGsVyUTkLZWH+ASD5sHBNUJL3ut3d6YDu72v0ZY4X1EhtDj9OOXeXNO V3Qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=CUwZwm06OMv1BOe34p3BZiGl9BSxyA6UWhoZmJY1yBs=; b=Hp/t7icQiUyaa0PenXdAxW8wWxho46Kj5N8SfBQozpRxnGxQRDBD5RhcAY2W2r+gCm 9MDMjp/B59c3fBdVGi01l+mpArbhNJEbdoowePPzBSkvrdrlXLFSvpdLhvdnu/vAQcyV 3IXIPNJ//IjEF/eMdMI2icQEqTtXaSukY9fy/I6roqvHPqWZg4pCz0qXkAVXOTOvW6ar JmqT4grDDYkJuplAVmfcjez2czoYRygH8QeTK/PSpdpXTTSm8o3u2JkZdvzk3kV+CQ3Y rE9IEIEh9QdLYavS1Cj2IPPsKjayOV325jrbfFTA9Qt3CjoXN8ips5z3GTaMaSU3Et6k uF7w== X-Gm-Message-State: ALQs6tCquBUOswXrd2WbBqA70kufB5h80riJvXF+yNYlf+Ni2zIzA/VC /Wtgnw72P/q66+rMJLeHg3ieCK5tArrjMUlKl8/xfw== X-Received: by 10.28.111.136 with SMTP id c8mr14494925wmi.9.1524694243326; Wed, 25 Apr 2018 15:10:43 -0700 (PDT) MIME-Version: 1.0 Received: by 10.28.156.139 with HTTP; Wed, 25 Apr 2018 15:10:42 -0700 (PDT) In-Reply-To: <20180326172727.025EBF16@viggo.jf.intel.com> References: <20180326172721.D5B2CBB4@viggo.jf.intel.com> <20180326172727.025EBF16@viggo.jf.intel.com> From: Shakeel Butt Date: Wed, 25 Apr 2018 22:10:42 +0000 Message-ID: Subject: Re: [PATCH 4/9] x86, pkeys: override pkey when moving away from PROT_EXEC To: Dave Hansen Cc: LKML , Linux MM , stable@kernel.org, linuxram@us.ibm.com, Thomas Gleixner , Dave Hansen , mpe@ellerman.id.au, Ingo Molnar , Andrew Morton , shuah@kernel.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Mar 26, 2018 at 5:27 PM, Dave Hansen wrote: > > From: Dave Hansen > > I got a bug report that the following code (roughly) was > causing a SIGSEGV: > > mprotect(ptr, size, PROT_EXEC); > mprotect(ptr, size, PROT_NONE); > mprotect(ptr, size, PROT_READ); > *ptr = 100; > > The problem is hit when the mprotect(PROT_EXEC) > is implicitly assigned a protection key to the VMA, and made > that key ACCESS_DENY|WRITE_DENY. The PROT_NONE mprotect() > failed to remove the protection key, and the PROT_NONE-> > PROT_READ left the PTE usable, but the pkey still in place > and left the memory inaccessible. > > To fix this, we ensure that we always "override" the pkee > at mprotect() if the VMA does not have execute-only > permissions, but the VMA has the execute-only pkey. > > We had a check for PROT_READ/WRITE, but it did not work > for PROT_NONE. This entirely removes the PROT_* checks, > which ensures that PROT_NONE now works. > > Reported-by: Shakeel Butt > > Signed-off-by: Dave Hansen > Fixes: 62b5f7d013f ("mm/core, x86/mm/pkeys: Add execute-only protection keys support") Hi Dave, are you planning to send the next version of this patch or going with this one?