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 C04CDC46CD2 for ; Wed, 27 Dec 2023 21:45:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 592288D0003; Wed, 27 Dec 2023 16:45:25 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 541CB8D0001; Wed, 27 Dec 2023 16:45:25 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 430B18D0003; Wed, 27 Dec 2023 16:45:25 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 3575E8D0001 for ; Wed, 27 Dec 2023 16:45:25 -0500 (EST) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 0DCAFC074B for ; Wed, 27 Dec 2023 21:45:25 +0000 (UTC) X-FDA: 81613929810.19.3ABCCB8 Received: from sin.source.kernel.org (sin.source.kernel.org [145.40.73.55]) by imf24.hostedemail.com (Postfix) with ESMTP id E0F0D180009 for ; Wed, 27 Dec 2023 21:45:21 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=00mkvWBW; dmarc=none; spf=pass (imf24.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1703713522; 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:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=D7rLujXGnb+f1u9j4h+Qq8VxTUj0V5Ld0uLRaEMRkEI=; b=kkGHW2C5EkY66oAteTCA87xgj+kqhc4M49045hUBQDxjPecIUHIJkoOCDCInY8HYFxNN0w I1W8yhrYifkZmmCsQiEo8v40U0yzsPgsSIPkY8YQW070yUdC+BqjH9hPnxNPcmMVu1eWVk N82wrRcda4ekhZ63flMP+XVURsN8i7I= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=linux-foundation.org header.s=korg header.b=00mkvWBW; dmarc=none; spf=pass (imf24.hostedemail.com: domain of akpm@linux-foundation.org designates 145.40.73.55 as permitted sender) smtp.mailfrom=akpm@linux-foundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1703713522; a=rsa-sha256; cv=none; b=mFVZt3JN4WJT0dW3bF2QmMUZO/6cQcxWwggUr/gV/tpfk/KFDWah3L8ymD+Hp5OjAMI93k alFi67LNmoDAGxihYZTKrx2ch6e5MYWWFi28voB7EkYEn4ZaqddaeFS2M9+r0Ok8zeDMXD WGS4ZCqyqgGI3uRcH0QBgF3nnnVqykc= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sin.source.kernel.org (Postfix) with ESMTP id C42C0CE1298; Wed, 27 Dec 2023 21:45:16 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 64181C433C7; Wed, 27 Dec 2023 21:45:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linux-foundation.org; s=korg; t=1703713515; bh=EI47mPqwG9pb/xWc0waHIziKYxkBwVMBRxN+4PJlnow=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=00mkvWBWZXYPjc3yn3MWBUVxJ+Zd2aFDKLGvt48GvXfi2sCguaNXXi5czmjPDRIlA cW8rybJshDUYKhSlAQ3ObSbEmEz+LIJ9aEWBXnQqTl7DWD+yLHlI2nF/Gq3CZQWiYV bVOvllVHWKs8TRi1gvzqjyaUJbeSmKdijAfmsjjM= Date: Wed, 27 Dec 2023 13:45:14 -0800 From: Andrew Morton To: Deepak Gupta Cc: rick.p.edgecombe@intel.com, broonie@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v1] mm: abstract shadow stack vma behind arch_is_shadow_stack_vma Message-Id: <20231227134514.13629032c39decdf1dddcc75@linux-foundation.org> In-Reply-To: <20231222235248.576482-1-debug@rivosinc.com> References: <20231222235248.576482-1-debug@rivosinc.com> X-Mailer: Sylpheed 3.8.0beta1 (GTK+ 2.24.33; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: E0F0D180009 X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: wswu1a3pttb5mnpw4uw3rk11k9rywt7c X-HE-Tag: 1703713521-75112 X-HE-Meta: U2FsdGVkX19IEQji22Kn/mva9Mag3/XZxQOl8HMjqfxKto/TgWSXfg/9Lye/RRQLPCO+5H0GLECttqzLbp9FUCiiX/r499yFbhTSBI1v/WgBuY2Y6+GwlK7iYm6Floojoej5c87vaExzJBe+vk3GT/U9GvXIzMp+Lo2wE9dxctR3GsjDQRi3rIER/EHf8keanVyzENvdTPVze+Mo2eqivmiHHRaq/DOnkkOmSpnPG8qBQ/l2mss/pH88Hb5iM2oJ7gRbNFC/LcOTFp7vVy7XioAjfvkBR1dabAnx/uNLoTLSUK1Pc7OFPCy6CQ63MYLHyRpBWu2QVhF6WEU+tjlTKrbBCoe+jZ5JwNuaRRgH6m54zs1Iqh8SrQeO1NLVPksCvwr6A0/LU+0ZueEoHRAa0X5l2CYktILDLVHT945FVRmLdQYOZGUF9Qtvnw9QKwzu47QDiqQ//u58NBURbxbB8mfh6BvI7782ItVgcSMEQId9urM/JAmE6UHShFEWWMitPO6/om4pOkaeBs5kmzW1hRcdkI/115ZqrwBjz6LS6Oq9mPebWlxLemTtP4r14a4m4ntitXklBiuwM+C+7Er1BsZ9tiQgv/kzvdcjncAgsN2JnU5Y7DbFDgj99dV0cGrvYznVAj/bPzjG0kb4VaB67mbIizyumZ5Dx1L7LhLml8ofmR2UbmNFDb8Hg1p47FqztItZkg9RYmjLTbOK1xRH140ij+L9COV+kycsHWRxYhp+Xy2MJSU9i48kNMmOdFcV5/yG+hFwXk5XxCnZnSD/bjcFunymRPwZDkF84PRrsGPonhXfjPTN+c0E04nk7zNt2ny5ClVBOD0fxDxusf9eQAjyjSU3ceUQoVN5ltkbtsoSafh1gO7fxtCct0vgmy08l3h824+pH1uk8J00T8QZETZ/AQzoR9c9m0HwYN1WL+DizJOAqqAsqc/V3NmGzRNWe6/jE5ec6XYy2kbj5o6 +Bp0GYMQ MEqnHakOmoJ5MMFPAc8zhq70FIgj7VAtvdRy7rjFg0bb3gDCkBr1LBocSW5rV7qTh6I5KLUgFHFF7RcHtAWgVJEQJfR06Fk/VB6zOpViJm5vGrVILqMjDLyHA/liyqwCL2cnSdWIMPyAfuKtzFKIbvI5D87EIsI9SDdymIDYmwwqF3ecLfnrwsNwXOeAhgqxHWZFwwEQ0WfbhLtXoytsevkQP+p9r3LcJ/CADlf7XUtSEJlTD2W0GVAc9Z/zNPnW0U61HB1HssPQQQwEZNhXVlbEnCEF+UqJc0s6ty91/v6XE/OqR9cwtF0kawd9sKLsmWlyTF6Wqv6u+7Js= 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: List-Subscribe: List-Unsubscribe: On Fri, 22 Dec 2023 15:51:04 -0800 Deepak Gupta wrote: > x86 has used VM_SHADOW_STACK (alias to VM_HIGH_ARCH_5) to encode shadow > stack VMA. VM_SHADOW_STACK is thus not possible on 32bit. Some arches may > need a way to encode shadow stack on 32bit and 64bit both and they may > encode this information differently in VMAs. Is such a patch in the pipeline? Otherwise we're making a change that serves no purpose. > This patch changes checks of VM_SHADOW_STACK flag in generic code to call > to a function `arch_is_shadow_stack_vma` which will return true if arch > supports shadow stack and vma is shadow stack else stub returns false. > > ... > > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -352,8 +352,21 @@ extern unsigned int kobjsize(const void *objp); > * for more details on the guard size. > */ > # define VM_SHADOW_STACK VM_HIGH_ARCH_5 > + > +static inline bool arch_is_shadow_stack_vma(vm_flags_t vm_flags) > +{ > + return (vm_flags & VM_SHADOW_STACK) ? true : false; > +} The naming seems a little wrong. I'd expect it to take a vma* arg. Maybe just drop the "_vma"?