Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp1437931pxb; Tue, 17 Aug 2021 11:41:16 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyPnaYoMqFJ09+9Y5/fF41BuGqUSY8MGlmP9KnrlbziU3+h42bgH0uCTW13yensKbSk1q96 X-Received: by 2002:a17:906:a24c:: with SMTP id bi12mr5597548ejb.530.1629225675993; Tue, 17 Aug 2021 11:41:15 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1629225675; cv=pass; d=google.com; s=arc-20160816; b=U+3/eFu4jR6rhiBvcbeCkUX+5OtDcRyA25wStVJ5AQGYHi9iUTcwmApCd7r7F0EpLK 3lNPM5locqrudCui7naZLyZJj5qaIHsS8tdw3dJts6MmkDJpEL4QR58i0sRFcejHZ83N KSH+BpKIvxPexqGA4ISd10yoTZ2G1hwZVAam1PfUcuZdXvnUV1P0VpM1yj4rAFHpKPvx EHOl0r0To/vJjRXFP1+t4xQAjLidx8zLIRJnCrusqQhnhHYc5JAlgN6RKcVFBtDJ/D8J O7od6mRjBIxVr4DhUJxCPzaC/lqs5HajdQ23RJJz8LJ8/mxdNW7CRaTXx00R6yK8xOsK wiHw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-language:in-reply-to:user-agent:date:message-id:from :references:cc:to:subject:dkim-signature; bh=dxHM1rMM0pXS/6ZcI7UK5+gOfX+7MSRAyODcBZYx3sc=; b=iJ/mcCPA/0MJuINF8hSpZokk1OKffRXB402QjmIL23lNRQFN8e4NtPyraQiW28xosA PCzk8MuyCLd7DG/ufcmi3Kl6fs4PKepsKmbvmckoaUxshVqzs03w4U30+a1orCRGZxVD MbM3K8uMcvsZNX56YSsDjy6W5xT3UzXMEpVhFIqBqn6kkWENFVr5hLZYFbW/KKZP/fQb VS0h7BCwcz632mGoBw38iuPV9hjzhwUpSCNQgaUz4jUuL4tt7XO4IPnVYAvCO6ecpH3L FdlfLUl18Pmw4NFHrq/ByRxCO+WrBFFDLVYi3ms0rvGGDB+Tsx2ltfjrmZI/oMGzq2QB XFLg== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=md4mcuIN; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k3si3051319edh.216.2021.08.17.11.40.52; Tue, 17 Aug 2021 11:41:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=md4mcuIN; arc=pass (i=1 spf=pass spfdomain=intel.com dkim=pass dkdomain=intel.com dmarc=pass fromdomain=intel.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233546AbhHQShJ (ORCPT + 99 others); Tue, 17 Aug 2021 14:37:09 -0400 Received: from mga09.intel.com ([134.134.136.24]:41145 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232769AbhHQShH (ORCPT ); Tue, 17 Aug 2021 14:37:07 -0400 X-IronPort-AV: E=McAfee;i="6200,9189,10079"; a="216166234" X-IronPort-AV: E=Sophos;i="5.84,329,1620716400"; d="scan'208";a="216166234" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Aug 2021 11:36:34 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,329,1620716400"; d="scan'208";a="424019233" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by orsmga003.jf.intel.com with ESMTP; 17 Aug 2021 11:36:33 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10; Tue, 17 Aug 2021 11:36:33 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.10 via Frontend Transport; Tue, 17 Aug 2021 11:36:33 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.176) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.10; Tue, 17 Aug 2021 11:36:32 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QPYiaq3s0pV/LJ7Yqeanv7Bvr7YgyO45UiISOkvCoW92W3g9v6DfeyHo0e6su3IZmRHQAOUlXYOhaW4gGIULW4sOi2sj4xvmtSIe5A/bs9DnGgAY9MvZVkdtNZTp++jkogx0yzAw3qdHOJMVHXBmktvzvIVROhcQaM3zWfp5MH34gn4Rl97koSXybesw3NH09/9c3SJ4vw8tufafVtTcm3fZYGhcsUKt/ZYLpQIabPETAzf0t01DckfTRR2pcflyPIvsdLSgJ+KAij7AgnuQYMgBRbjq31D3vB8dQyCp9a+ZaEfUGBobppeAAE3a65IqNzUcdnf3NyZ4LkDSV46ujg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dxHM1rMM0pXS/6ZcI7UK5+gOfX+7MSRAyODcBZYx3sc=; b=YaTHzC9CRRQWNFw0iuKtCuUUGbmh2uG+nq0dus7YHc8+FyOAm1T451awkr2Q8hIhzthKz4TntDxVmziUHRyZUonz930B2/dWUrSYIr3B+ILOalA3XZLeglybeXPb6lgm69VEKPgZEO//ZW4XvOu/4IOsUuOhqhMqyoawRYYa2X4aeLPbEj8QRucFomduvRNk/RqAADfTf0b+RjH1c6tWkeRJ+NkTDM17u9lx9jw1O/qvRM9H+lXydEw+u3s+4314lpNptrv3lOjQLCxmCIDjLNQWo3LQckQEXfn3htblYQOOUriIxeESuD7sjYj3eTHjolUfUqqE6aUg86lDvxay6g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dxHM1rMM0pXS/6ZcI7UK5+gOfX+7MSRAyODcBZYx3sc=; b=md4mcuIN7qx5UkUGDQ+savMoeVhl1lH5n9VB4vK2ZDrI0QMdD/70B9dHDl5VYwjh7aTu/Ar0a+6KEUegvEulJislRqs3YQp2Xhfw3vkB6CcU9Cu5M1tpE4ILmuNI+prg3Gm+aIewDUGy6rogt1oVweATNaYBW7A34r/k/iKJZBY= Authentication-Results: linux.intel.com; dkim=none (message not signed) header.d=none;linux.intel.com; dmarc=none action=none header.from=intel.com; Received: from DM8PR11MB5736.namprd11.prod.outlook.com (2603:10b6:8:11::11) by DM6PR11MB2603.namprd11.prod.outlook.com (2603:10b6:5:c6::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.18; Tue, 17 Aug 2021 18:36:27 +0000 Received: from DM8PR11MB5736.namprd11.prod.outlook.com ([fe80::2920:8181:ca3f:8666]) by DM8PR11MB5736.namprd11.prod.outlook.com ([fe80::2920:8181:ca3f:8666%3]) with mapi id 15.20.4415.024; Tue, 17 Aug 2021 18:36:27 +0000 Subject: Re: [PATCH v28 16/32] x86/mm: Update maybe_mkwrite() for shadow stack To: Borislav Petkov CC: , "H. Peter Anvin" , Thomas Gleixner , Ingo Molnar , , , , , , Arnd Bergmann , Andy Lutomirski , Balbir Singh , Cyrill Gorcunov , Dave Hansen , "Eugene Syromiatnikov" , Florian Weimer , "H.J. Lu" , Jann Horn , Jonathan Corbet , Kees Cook , Mike Kravetz , Nadav Amit , Oleg Nesterov , Pavel Machek , Peter Zijlstra , Randy Dunlap , "Ravi V. Shankar" , Dave Martin , Weijiang Yang , Pengfei Xu , Haitao Huang , Rick P Edgecombe , "Kirill A . Shutemov" References: <20210722205219.7934-1-yu-cheng.yu@intel.com> <20210722205219.7934-17-yu-cheng.yu@intel.com> From: "Yu, Yu-cheng" Message-ID: <87cbd676-5b60-da55-1f95-c5a6ae61e3fc@intel.com> Date: Tue, 17 Aug 2021 11:36:21 -0700 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.12.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-ClientProxiedBy: MW4PR03CA0119.namprd03.prod.outlook.com (2603:10b6:303:b7::34) To DM8PR11MB5736.namprd11.prod.outlook.com (2603:10b6:8:11::11) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [192.168.0.18] (98.33.34.38) by MW4PR03CA0119.namprd03.prod.outlook.com (2603:10b6:303:b7::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4415.14 via Frontend Transport; Tue, 17 Aug 2021 18:36:24 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: bf159d98-1e4e-457a-e370-08d961adec12 X-MS-TrafficTypeDiagnostic: DM6PR11MB2603: X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:1079; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: tY8TS+FsahifQtR6Q0ctIq1NaWsYdsDEP7LKtm7gV8QvnQC8buT7IUQsdmc8HiNjP7e17OO7fxBngH3I7cGsH6UW6/2odnNpQhx0V/rKWQpzFGxTNSrqmxtXByZLwrzlMvv7g52AmmYPmlCv6dU+XRmyMrr3YhLeLfXM9fSaRUVCcvl7UaQ39zgrdq9SBv4Q5DKYrsp6cHjhjyWqqgH5V6Y3YooqE6DzkPPxUkenz7BIJruJoY7LMkXw4wX7OexwAiPjbl1j0C+37lO36Z3pfnZ1/33BpeZPYlj6T5ezL2v4pWerUB6Cy0Aeyxdp05CA4+xIPz0Bzqqy4HMNztzvXj7LZ2VMpsal2ts2m4qTJVCcJ3uvlShx4fRq3TobJ3lPNoX1BIfWxL1gXlwhrWCKOl5xSM8v8WsD4K7esbVt7/LpRklLQVRuiNzbXUotM9RN2PQzP6BWBgODlSle8RedKyynPvWwfpCGJ5CvXAQdNsf6+Fd4HStIRQCfRb6AQzE5Z6n0ypuOG9ExXEzDe+6M6Qi0dJQNbBMZ9yHkNvGswNbYlunADTZ9z6fpbr2D0Zr6Vy2Q97cEGPEIuMRINlW/dSdWLO/ds9iQBcq97hjPeaEmh45C6u5vBSWEqcig9/bi/yjIaWuNbIqOvAfh77wzfeUt8QYK3ptijE8p2cnU+dCTN/aRCpHkMCpGDxheDtJUp0Jva2k9GCClFmexzhf3YdJP5WW25TkLO1aoFp1wTuI= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM8PR11MB5736.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(396003)(136003)(376002)(366004)(346002)(8936002)(2906002)(38100700002)(316002)(16576012)(5660300002)(7416002)(4326008)(36756003)(31686004)(86362001)(54906003)(6486002)(66556008)(6666004)(26005)(53546011)(31696002)(186003)(6916009)(956004)(4744005)(2616005)(8676002)(66476007)(478600001)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Tk1uNWY4NjlJeE04aTA3bWwyVFhLcFFiWThlZWY4ajk1dkRid1lzYVc4STBt?= =?utf-8?B?M0hFbDBtVG5SNHk1RjZjNjVMb2pqSElHSEpuTVV2WUlJQ2pWemdKM3Mzd1JV?= =?utf-8?B?cXUvSFBXR1RNL3B4dzZJZ0pLM29aOTZKT2ZoMTV3RFhJdXphMHVOTlZEcGdF?= =?utf-8?B?ZlRTcE43NUVGVnVsZHV6eVgwR1pvMnhQKzJhRnRqRzBnSWlHRXBuazZRRGRa?= =?utf-8?B?QmE5SjlpU2hsbnNMTG9tdDRFdjFmVVZNZGVYdEdQR1FzK0JVNlkvWFlqbld3?= =?utf-8?B?RElENUJpSGRFcXo4WmpKa1BOL0QwUzZJTmxWWDY1cnkzSnJ6amh5ZFMwY3pO?= =?utf-8?B?bTFpM05kZmJhNEszdFlTQkRvOEMrM0tmR1Q4YzdkNitvYXhQK29jQlVpR3ky?= =?utf-8?B?VkQ1MU5HRytWZ09heXhnWm4rSFhQeTcwOXJOb0ZZUVVQMlBWYzBxc0FnbVFP?= =?utf-8?B?Y2l5UlQ2Wi9IR24ycjhWalBqZDFBejhydEJtMVJsSGxnbWxjQ21BOUdiR1dQ?= =?utf-8?B?NjliOGlZQ3ZCM2VTekhOQjVWOSt5V041S1NTQnZ4enZYZEJ1aXZIOE1EZzFm?= =?utf-8?B?WWJwdkhTYTJiRzVWRTZJQ3RhNVRuOTBJQU9SeGdsZk9kcm42VktBdEhIWnZF?= =?utf-8?B?dmlFQ3B1cFM5QUtOVjZKL3VIcERDdmx3OGRrZFp2a3g2N3hmMjhlempvaHRS?= =?utf-8?B?QytIZ3RwWnJsMkJpeXhybTA4Qm5vd0VmazZuUDVCa1MzdjJxdXd0Y2JLV1VQ?= =?utf-8?B?cGpqdWIrd3NuUlA0Y2Jtb2JNQjJjTThVREY4ZnF0T3BsWk9LYmRlbTNKQUQv?= =?utf-8?B?Z3RtS2JBU2xmQm1CU1EzZDhEaW1iTGk2YzUvdDJCc2crTW1JZEVhL09NVzB1?= =?utf-8?B?b1hwNFVUNUdMVS9pWmxoczhDL1IzVFU2dFIzeW12YzRJRFZscjhXSGFUYWxl?= =?utf-8?B?UjZ5WTFKTTRzd1lLQ0RwOWRPYUY0ZmxpZE5YMDJmakdsWmtodzFyVUxJTlFO?= =?utf-8?B?cGwwT0kxRHlab0Qyc3B6cFA3SUVWY294REpsVmh5WGhUaUM5TkpyaTJmTkI3?= =?utf-8?B?dE1VYkFNMzZEYzAvN2ZKRE00M2tvOHJlR0cyZWxrM3lTQXBqalNtdWNRekx0?= =?utf-8?B?Rkl3QzhGSW4rNHZ3SHFjRW9MWmNFTHJNWCt2WFdhWW1wOVhGSkRMOFkvRDF2?= =?utf-8?B?a3Mrd3hFL1ZLS2hLK1QvY2dBTmticTUyV1h2bTh3ZlhyYlJjS2NYN2h5b0Jt?= =?utf-8?B?OE44Mmk5RkdidTUxSmNDWU5EN0tWZko0K0xNdTBQMm56Q0R2eWVKcGF2TlhV?= =?utf-8?B?aWFCdDQrU1diV0FzK3JvUVNBcFZaWWNWU01xYjdqbXhZTGJ6NGNBRVNLK01p?= =?utf-8?B?U0ZidlJGd0RtWHExZ3E5QUx3c2wzeXZndGxObk5ETjZ0Ry9tZkgrQ1RlTHlo?= =?utf-8?B?RERvdGpVRUFEZmVBdFhJRHh0dGxleDhESG9lVkhXREZ5M0RHOWxsNzhXbXRE?= =?utf-8?B?Y0hscjN4WFFDWktjbFV2RGVqTFlHeXp2d2E4TS9mL1VLSHUvU1kwVmRadlVY?= =?utf-8?B?Q1ZJOEp6OHhMZTJ2WE52cktaL1BZU3ZuMy96TnFWc1NacUJaeGx6alNHa3Bz?= =?utf-8?B?OHl6Szh5amtRK3loOGVkSS9teXFxNHVQNXBSMVk3S2IzbnJmazFxUGYrb2RR?= =?utf-8?B?c0MzU1dLT0lzZkFWQWRuRU5oQi9icWhSdnU2aEtad1F1Y3hkUngySFFPUkQ4?= =?utf-8?Q?bkssoWUUTXDVyhESaTO1xv6F9Ig9DlCpVpk2FcQ?= X-MS-Exchange-CrossTenant-Network-Message-Id: bf159d98-1e4e-457a-e370-08d961adec12 X-MS-Exchange-CrossTenant-AuthSource: DM8PR11MB5736.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Aug 2021 18:36:26.9982 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fkBGc2AM/Mh53mBS73ar+DTjg1WilBpahQOSluJVBwaa+2PRsyU6hhfVUlv3nxfQ82TNch1x/Rv+PqnKt8z5Xg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2603 X-OriginatorOrg: intel.com Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 8/16/2021 10:03 AM, Borislav Petkov wrote: > On Thu, Jul 22, 2021 at 01:52:03PM -0700, Yu-cheng Yu wrote: >> diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c >> index 3364fe62b903..ba449d12ec32 100644 >> --- a/arch/x86/mm/pgtable.c >> +++ b/arch/x86/mm/pgtable.c >> @@ -610,6 +610,26 @@ int pmdp_clear_flush_young(struct vm_area_struct *vma, >> } >> #endif >> >> +pte_t maybe_mkwrite(pte_t pte, struct vm_area_struct *vma) >> +{ >> + if (likely(vma->vm_flags & VM_WRITE)) >> + pte = pte_mkwrite(pte); >> + else if (likely(vma->vm_flags & VM_SHADOW_STACK)) >> + pte = pte_mkwrite_shstk(pte); >> + return pte; >> +} >> + >> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE >> +pmd_t maybe_pmd_mkwrite(pmd_t pmd, struct vm_area_struct *vma) >> +{ >> + if (likely(vma->vm_flags & VM_WRITE)) >> + pmd = pmd_mkwrite(pmd); >> + else if (likely(vma->vm_flags & VM_SHADOW_STACK)) >> + pmd = pmd_mkwrite_shstk(pmd); > > What are all those likely()ies here for? > I will remove those. Thanks, Yu-cheng