From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6CA19C433F5 for ; Fri, 30 Sep 2022 23:03:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BF15B8D0001; Fri, 30 Sep 2022 19:03:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B9F896B0074; Fri, 30 Sep 2022 19:03:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A4DBB8D0001; Fri, 30 Sep 2022 19:03:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 8DCC56B0073 for ; Fri, 30 Sep 2022 19:03:02 -0400 (EDT) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 6AFF7401BD for ; Fri, 30 Sep 2022 23:03:02 +0000 (UTC) X-FDA: 79970279004.29.72DB98D Received: from mail-io1-f48.google.com (mail-io1-f48.google.com [209.85.166.48]) by imf07.hostedemail.com (Postfix) with ESMTP id 2853040003 for ; Fri, 30 Sep 2022 23:03:01 +0000 (UTC) Received: by mail-io1-f48.google.com with SMTP id r134so4389065iod.8 for ; Fri, 30 Sep 2022 16:03:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=SqBsvh6C88KVHki7t4Nj5RWCZOuW9N4jEM2i1kXUX1A=; b=QV19rN7u49LBgxsERfExNXC4Qifjr+PujO83hWUsqQwWJAXOvZDMqMjRVEDwq/nUYr 8y2bG+TTsCRkpKYIxMWp8TqRP9q0NhNbhHKapcl7ZvaDlrJTayOSthJN8uY5l9d557x9 i/hEw2f9ra0wkORLPbcYwdezMlEVBHVdwUCkjEiJh7tiOGHh48T0sJ9EquqQ1m5DhnQ8 1ycYF/JTKxFOBImu3XQsT+D0d2yQO0F6wmMGdzGRtRwL5UBCP7gM0lmrYUwAPIWwx3t0 Yr8+kmTHepP1iIeY3YZxS+B1BGhJde4gU45irp5VKxeWy7uNtfVblAI+gIl/XxNQRTov W/xg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=SqBsvh6C88KVHki7t4Nj5RWCZOuW9N4jEM2i1kXUX1A=; b=hmeelPURYUnXW+OH8XDYmfjffixjvfu8yHIuIeVxle4ck0DiMUFQRkK/3RTSNH/BdV 9hshwAFzobdro55We9gNed5XEGCwDQVGshqts4S8TdH8GD6A7wrBpDDhQby6vL+lCq00 XgdjI0TgBlQx0chit7ZdeK6ticr6fwsQfAoLLR/K5ptfaM2dPt3EBRXqhH1LhAft/DYs R3WU+cX1kW+3/541jDyAOjJ5vi7UnINgSfvdHyLNvMFiJJyCjQs/luHeZH/hJnHmIjNW 4u5EDB9g5wgw3hMaikrmysbCunblXfq6DsuO3wMSgfo8DNc2HfFPanCrjxztZPc3F1Iz drZA== X-Gm-Message-State: ACrzQf2h36d2Y62sXwlFk67I81E49WiqNr69u3Ka9WEKSSmS5Ek2Dm6b 0lOUD101nOljFBErhykulJEDxuGqFGnxljgAlTdA7nHM1p8= X-Google-Smtp-Source: AMsMyM6/1Zo86oY4qRLob+fDqU88N1JO4RXTZoZZODrBjD9wJqjFTLtKUMBKFRj4TR8qKrKyDwQEelk6KAJ1qvm8qrk= X-Received: by 2002:a6b:5d02:0:b0:6a3:46d5:a08d with SMTP id r2-20020a6b5d02000000b006a346d5a08dmr4696832iob.2.1664578981372; Fri, 30 Sep 2022 16:03:01 -0700 (PDT) MIME-Version: 1.0 References: <20220929222936.14584-1-rick.p.edgecombe@intel.com> <20220929222936.14584-23-rick.p.edgecombe@intel.com> <9fed0342-2d02-aaf2-ed66-20ff08bdfd0b@intel.com> In-Reply-To: From: Jann Horn Date: Sat, 1 Oct 2022 01:02:25 +0200 Message-ID: Subject: Re: [PATCH v2 22/39] mm: Don't allow write GUPs to shadow stack memory To: Dave Hansen Cc: Rick Edgecombe , x86@kernel.org, "H . Peter Anvin" , Thomas Gleixner , Ingo Molnar , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-api@vger.kernel.org, Arnd Bergmann , Andy Lutomirski , Balbir Singh , Borislav Petkov , Cyrill Gorcunov , Dave Hansen , Eugene Syromiatnikov , Florian Weimer , "H . J . Lu" , Jonathan Corbet , Kees Cook , Mike Kravetz , Nadav Amit , Oleg Nesterov , Pavel Machek , Peter Zijlstra , Randy Dunlap , "Ravi V . Shankar" , Weijiang Yang , "Kirill A . Shutemov" , joao.moreira@intel.com, John Allen , kcc@google.com, eranian@google.com, rppt@kernel.org, jamorris@linux.microsoft.com, dethoma@microsoft.com Content-Type: text/plain; charset="UTF-8" ARC-Authentication-Results: i=1; imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=QV19rN7u; spf=pass (imf07.hostedemail.com: domain of jannh@google.com designates 209.85.166.48 as permitted sender) smtp.mailfrom=jannh@google.com; dmarc=pass (policy=reject) header.from=google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1664578982; a=rsa-sha256; cv=none; b=3wwInHhwPLKVVMEuCJiTF6Db8f9PCQ517iVb3dK3VsaoT6iSNVXgiwRp5paD/DiE0FunmS 2AvUBoHKYuPORrLav1KV3OMhT1Fe2xYdcK9X2G13llwSSdRI4KF1xOVsbdPyElMkUIXGju b0vY9KGrqrBQeLbO+sJTlRMUfacVY7I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1664578982; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=SqBsvh6C88KVHki7t4Nj5RWCZOuW9N4jEM2i1kXUX1A=; b=iTTYBbllr5QqS8Jqp72R9fortzO+OuMvhp9ihD79N+LRL25nO5LeJso6AmeT+RbAx6okAF XgdGJy+n1iEnu8BsKNQ3DajxEfrsZx66ybd52SgDDDFbvcBhPhINPK6Q398ftAnd/yMwpm KcbOBXfVNAMp5L1tRTqInuIAjZS+j5E= Authentication-Results: imf07.hostedemail.com; dkim=pass header.d=google.com header.s=20210112 header.b=QV19rN7u; spf=pass (imf07.hostedemail.com: domain of jannh@google.com designates 209.85.166.48 as permitted sender) smtp.mailfrom=jannh@google.com; dmarc=pass (policy=reject) header.from=google.com X-Stat-Signature: 9kues855x1suyroujmiikgrdjex7yram X-Rspamd-Queue-Id: 2853040003 X-Rspam-User: X-Rspamd-Server: rspam11 X-HE-Tag: 1664578981-936735 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Sat, Oct 1, 2022 at 1:00 AM Jann Horn wrote: > So I think this change is actually a no-op - the only thing it does is > to return 0 if write==1, !_PAGE_RW, and _PAGE_DIRTY. But the check > below will always return 0 if !_PAGE_RW, unless I'm misreading it? Er, to be precise, it will always return 0 if write==1 and !_PAGE_RW.