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 4D8B3C47258 for ; Thu, 25 Jan 2024 17:07:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C5A658D0007; Thu, 25 Jan 2024 12:07:10 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C0A198D0002; Thu, 25 Jan 2024 12:07:10 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AD1E28D0007; Thu, 25 Jan 2024 12:07:10 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 9CF608D0002 for ; Thu, 25 Jan 2024 12:07:10 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 6D0A41C0B7F for ; Thu, 25 Jan 2024 17:07:10 +0000 (UTC) X-FDA: 81718463820.30.01EEDE4 Received: from mail-pf1-f173.google.com (mail-pf1-f173.google.com [209.85.210.173]) by imf19.hostedemail.com (Postfix) with ESMTP id C2CF61A001B for ; Thu, 25 Jan 2024 17:07:08 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=bxLzIf7W; spf=pass (imf19.hostedemail.com: domain of debug@rivosinc.com designates 209.85.210.173 as permitted sender) smtp.mailfrom=debug@rivosinc.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706202428; a=rsa-sha256; cv=none; b=oZUuqJH+oOcG/zpZl2JZjqfKJgl2gqfje2AlgcUX3sX9KmEZpD3NghfHMnRqthfirghmQe wJ5kCNRREbiTVZkvlbVLjHpXkBU5EV0KhdEeN02FvDMchDU7F/xW1KY/ebVPEUz/lM9xR0 jhExmpG2kX6VI1onT1I+FBcIDAVaDeY= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=bxLzIf7W; spf=pass (imf19.hostedemail.com: domain of debug@rivosinc.com designates 209.85.210.173 as permitted sender) smtp.mailfrom=debug@rivosinc.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706202428; 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=w+Y205/Bj9/UaPGsjWa2kZTirfJ1VaurSr0W2Uv0l3s=; b=N65PB7QIjSv/FZVvIHRteR4ZJkiTuqYkaHMP4nx0enQyJy+EggH4rdnKDnH9B6dL5ZlxuA G38OhwpocJ4TEaRL33Vbkljgl5ZUtZ9Wqj0r7bKyjYEFB0W5o3/K1sCQa7R+8MRG3xelzR MCjAu82/Cq4ffOTgJAg7/Hb5FslDx48= Received: by mail-pf1-f173.google.com with SMTP id d2e1a72fcca58-6d9f94b9186so6781267b3a.0 for ; Thu, 25 Jan 2024 09:07:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1706202427; x=1706807227; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=w+Y205/Bj9/UaPGsjWa2kZTirfJ1VaurSr0W2Uv0l3s=; b=bxLzIf7W0rp1iTVAr3gtsZNYHQ4K25e3AeU9GlCXdrl/3IGrZfiqsbc6PIarNS6tVR 0mp4UQ22/l0fyq6EANJB/LxUagkL8Ek0B5I+WyBuQfKfMoOoMjTDt7WZ4HqKB3PXjREt GK1s4KtVDB4iZ6Hj0Yqs7suLS2Zf3MnwbwjazY/58FbyiZWrV74Rvey3CyyrLWhW9NVj gE1aEHMnBLPGuo1y8L8gJmD2CTE+g67h7V1DBK4l1WaQpBU9lwbpKut9sAQuMoas6QpJ IcloWCNF/5QXVMFhrNsm6c6N8jqisNgCPZ6zZX547gdxUKhKXL3N1GcQUfq4rbjzXpyz /6Ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706202427; x=1706807227; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=w+Y205/Bj9/UaPGsjWa2kZTirfJ1VaurSr0W2Uv0l3s=; b=lOFCaIjjaRWeZM9Df/l1nf0wovGmi0bNMeUAQjA+H9UgEqmvCNWmF8BnrwjsIhkoI8 BhCqz9INtzX9YA8br7+2cvMcJzkmLXMC2mCyVn6Cq+TynmSQBEwem4yM1Xe+2IGsUZjk nAYotuHM6Q+jy6iQofxbvq5P9gRNzJKMofsWS8bOLMFpSLXE4Jg265GcrMoHzDg0AJ5j 1m9gpwM0AskJMt6rM484BfDhO/3owlHqhpXoOcZlPu4RD/bcYzySJuiBHSiPg0I+cmNl E1LpwpBSFz6QiPhfPq9N/QhpRbslOhtREpe/Pz7q7LiZsoDPwvsbTnQOI2KBhpiSXfvT SkVA== X-Gm-Message-State: AOJu0Yy7tjH3CauErQBA7T+lXCkfq8grmdzrA8X6Xc0FBuJluJLPR5QK 4g10UV7ncIwwgLbvtEiQWIxyiSYxqARM9lfn5qiC+EXt4uLY+xPHYZBgGHTZnSI= X-Google-Smtp-Source: AGHT+IHYeX7pTsc6T2+Oj8CHwr5rzy78ADNZC7lkEDYMAD93a3MlR2jkEuTYyjSwB5kHgHqSGlWjog== X-Received: by 2002:a05:6a00:2b56:b0:6dd:8a23:b2c7 with SMTP id du22-20020a056a002b5600b006dd8a23b2c7mr21796pfb.5.1706202427107; Thu, 25 Jan 2024 09:07:07 -0800 (PST) Received: from debug.ba.rivosinc.com ([64.71.180.162]) by smtp.gmail.com with ESMTPSA id lc9-20020a056a004f4900b006db105027basm16031068pfb.50.2024.01.25.09.07.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 25 Jan 2024 09:07:06 -0800 (PST) Date: Thu, 25 Jan 2024 09:07:02 -0800 From: Deepak Gupta To: David Hildenbrand Cc: rick.p.edgecombe@intel.com, broonie@kernel.org, Szabolcs.Nagy@arm.com, kito.cheng@sifive.com, keescook@chromium.org, ajones@ventanamicro.com, paul.walmsley@sifive.com, palmer@dabbelt.com, conor.dooley@microchip.com, cleger@rivosinc.com, atishp@atishpatra.org, alex@ghiti.fr, bjorn@rivosinc.com, alexghiti@rivosinc.com, corbet@lwn.net, aou@eecs.berkeley.edu, oleg@redhat.com, akpm@linux-foundation.org, arnd@arndb.de, ebiederm@xmission.com, shuah@kernel.org, brauner@kernel.org, guoren@kernel.org, samitolvanen@google.com, evan@rivosinc.com, xiao.w.wang@intel.com, apatel@ventanamicro.com, mchitale@ventanamicro.com, waylingii@gmail.com, greentime.hu@sifive.com, heiko@sntech.de, jszhang@kernel.org, shikemeng@huaweicloud.com, charlie@rivosinc.com, panqinglin2020@iscas.ac.cn, willy@infradead.org, vincent.chen@sifive.com, andy.chiu@sifive.com, gerg@kernel.org, jeeheng.sia@starfivetech.com, mason.huo@starfivetech.com, ancientmodern4@gmail.com, mathis.salmen@matsal.de, cuiyunhui@bytedance.com, bhe@redhat.com, chenjiahao16@huawei.com, ruscur@russell.cc, bgray@linux.ibm.com, alx@kernel.org, baruch@tkos.co.il, zhangqing@loongson.cn, catalin.marinas@arm.com, revest@chromium.org, josh@joshtriplett.org, joey.gouly@arm.com, shr@devkernel.io, omosnace@redhat.com, ojeda@kernel.org, jhubbard@nvidia.com, linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: Re: [RFC PATCH v1 09/28] mm: abstract shadow stack vma behind `arch_is_shadow_stack` Message-ID: References: <20240125062739.1339782-1-debug@rivosinc.com> <20240125062739.1339782-10-debug@rivosinc.com> <2f34f6aa-99fa-4545-b706-a1d50864f9e9@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: <2f34f6aa-99fa-4545-b706-a1d50864f9e9@redhat.com> X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: C2CF61A001B X-Stat-Signature: i4udwqor8rzodo4hgsr7kywfpfuuu9fx X-Rspam-User: X-HE-Tag: 1706202428-779762 X-HE-Meta: U2FsdGVkX189j5ozJbAoXrNVaepx66qqqahVmGoQWD4CCnQIloXFR3JgKLpT7XL07pnuJPI3+ZNBhRZ2zppu0cExZmGkn6Ptp6lFnKIAdQ1XKkAUH9Sa6O1fsRL42rKG8ncDVNscoUDaaKeey4He+g87NxvIHw1Qh7CFvvSgAjeJw4eYTG9bU4suVDqh/ThMK1Co8kcQDwmv2IHouczx96cHEFDL0kPnyz1wUokIaPoZg6XP7ybil67pkrol/BPGgRJCe0ptbI1CiG6AasOYSAxUbAMsVSIfFCGDK//GuE2tH15CpgGMGsGuHEZwiTEzebYFr25sO92bsIdnehBX2WAVe9YTVrIpd1jJzgv3WlCZ9Z1sajc2uD7HwSgauEx4yURb+ijLxPM81XAm2q+4FVYBNhdo8PqE2GOKT453c1zhLaN9aCGXF2q0XoENlIuUtnC3CtAbFkzz0RaD9knLGJjIUizakWFCLI961wcCWHuID/gwId9Baq/h2w5SMEnGtEraXZGSRFIsjMYggrVj67kaqt8gGeL4dCSW62MBW/E0NlpzUT3w7pj+T5eodhxQF14IgDLOw+dsdGzO/TluZQ+euqzhs4BCjj930hsUnWykeRHROGw+bajjloUaBvvnqhu79qoaZv+DzppqI1k+7gUGmFg9x63dirEBTHs/UUFm6d2O3P/H6PIMKzD5OOFSSNe9rx5rADR1gs54UxI/r+aB0d6aPl+LEeCg5Jqp3fW5uYnRfZd35spZnUKA/xYkZkY33/xZBHO36BHyyxvY0KpO3VBWffXcfBO2m2lm67+ETRm2BryhgqdWjcsX81iSZZS0oe6JMxxqAs9ZADk8S++xfSjVVyzFG6XGpiNbJ7Uy5tKkPazl+UMr1O9Fw28a90iIKq6wSNkQlJ4DdpWFyMB8owb0Hm7v8xXhy0QkhEI4Ph8XJwzJWTctjZPhwsH0DnT74+YOEp7gcSlBEpd UaMXjlSm efW2x81pGx8A6WbyWYXDjS7B+ZuhdBFjucm3imzMiVASdSSM9DcfVLfwFN6Qkp6mY7lL4anzwn1DsT4YLriViQAU4RtSoXoFskyHn7UvyhftaYzhLkFo5IYYecY9WZyY2KazaXAvvVrfmd9aqeEQYPHIJWHigmcwq21ZyqSkPCi+r95vTvMaNo+uWfQ== 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 Thu, Jan 25, 2024 at 09:18:07AM +0100, David Hildenbrand wrote: >On 25.01.24 07:21, debug@rivosinc.com wrote: >>From: Deepak Gupta >> >>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. >> >>This patch changes checks of VM_SHADOW_STACK flag in generic code to call >>to a function `arch_is_shadow_stack` which will return true if arch >>supports shadow stack and vma is shadow stack else stub returns false. >> >>There was a suggestion to name it as `vma_is_shadow_stack`. I preferred to >>keep `arch` prefix in there because it's each arch specific. >> >>Signed-off-by: Deepak Gupta >>--- >> include/linux/mm.h | 18 +++++++++++++++++- >> mm/gup.c | 5 +++-- >> mm/internal.h | 2 +- >> 3 files changed, 21 insertions(+), 4 deletions(-) >> >>diff --git a/include/linux/mm.h b/include/linux/mm.h >>index dfe0e8118669..15c70fc677a3 100644 >>--- a/include/linux/mm.h >>+++ b/include/linux/mm.h >>@@ -352,6 +352,10 @@ 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(vm_flags_t vm_flags) >>+{ >>+ return (vm_flags & VM_SHADOW_STACK); >>+} >> #endif >> #ifdef CONFIG_RISCV_USER_CFI >>@@ -362,10 +366,22 @@ extern unsigned int kobjsize(const void *objp); >> * with VM_SHARED. >> */ >> #define VM_SHADOW_STACK VM_WRITE >>+ >>+static inline bool arch_is_shadow_stack(vm_flags_t vm_flags) >>+{ >>+ return ((vm_flags & (VM_WRITE | VM_READ | VM_EXEC)) == VM_WRITE); >>+} >>+ > >Please no such hacks just to work around the 32bit vmflags limitation. As I said in another response. Noted. And if there're no takers for 32bit on riscv (which highly likely is the case) This will go away in next version of patchsets. > >-- >Cheers, > >David / dhildenb >