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 58949C48BEB for ; Thu, 22 Feb 2024 00:50:39 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A70C96B008A; Wed, 21 Feb 2024 19:50:38 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id A484F6B008C; Wed, 21 Feb 2024 19:50:38 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 8E8D86B0095; Wed, 21 Feb 2024 19:50:38 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 7F8176B008A for ; Wed, 21 Feb 2024 19:50:38 -0500 (EST) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 436F6160BA5 for ; Thu, 22 Feb 2024 00:50:38 +0000 (UTC) X-FDA: 81817609356.27.52AE866 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.179]) by imf26.hostedemail.com (Postfix) with ESMTP id 8D257140007 for ; Thu, 22 Feb 2024 00:50:36 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=YlAvpO8A; dmarc=none; spf=pass (imf26.hostedemail.com: domain of debug@rivosinc.com designates 209.85.210.179 as permitted sender) smtp.mailfrom=debug@rivosinc.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1708563036; 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=5ne/cwIuCR8FyBAFcmxTad9FZ51QKgKQ/8n60a6xKD8=; b=5tEE+qdXoeDYN33LsL5wjaupazOKRLgZqh+1rQAkbYIlTLouvMCScFLAG5VG37p8+0akh3 AdjXwTz3y4cEc+n1Epw9SztTW8ssrAHgqAfgzWHOOfIZsvf7BNs0d3VE6hPpg1A4YOgQga Kou3CnbbD1YRZYEwJ5DbTfoHQxmp4F4= ARC-Authentication-Results: i=1; imf26.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=YlAvpO8A; dmarc=none; spf=pass (imf26.hostedemail.com: domain of debug@rivosinc.com designates 209.85.210.179 as permitted sender) smtp.mailfrom=debug@rivosinc.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1708563036; a=rsa-sha256; cv=none; b=LlyQSnj268hDqZXTVo2UuY7Cwmxg7Y18bQ8EbEUrVCLge30oxWIFfDUgLOZQahW2kPpfqL UFKjPZpDVJ0t2Fca6kvo1q4lz0ldoTau7W62ZhzlJRsUYKgom08KAH7wJZpogv+dCJVKb5 e62IE0YZsBxh37H/WvXgPAac9Qw35A8= Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-6e435542d41so2798798b3a.1 for ; Wed, 21 Feb 2024 16:50:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1708563035; x=1709167835; 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=5ne/cwIuCR8FyBAFcmxTad9FZ51QKgKQ/8n60a6xKD8=; b=YlAvpO8Aa3oI9Qdl17puucfQncpiySyaUk46bBxsTe8L2dGbxTdK9eAOtHWvrwC47n 3pxytbsU8vtIU+PcxHusVoo1gEwd8uufklWwP8+GrAUqeMhhRZDkvra4MuSSMsFNfNkb imG20CGJ608gFIrIZ2wNyXMBCruLDhv79kQ7JdlU79u6gz74nNki4BKueaTfcyi1pYJb yhGPmEHf8Hz1ebmDsgEYtSiSJ7CF/M3uAMHaHl/wagieWspcQ+ENwVGaQu7j7pen/UHL ecYCyna5oP66hlRIv/gtIs9GOhw7NfLTv57pbHXHYgLVMb+G+evRvGB9kmBLWfdvL0pV 5XHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708563035; x=1709167835; 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=5ne/cwIuCR8FyBAFcmxTad9FZ51QKgKQ/8n60a6xKD8=; b=kNSVj8+8b4YwCaZ+sA3brjW23XhGysjOhW0/GoCTXH+/fPGVoowe0ACYvBPQZFH7dI OW0WtWCgM2S7ilz/74Dxgwg6RdsKaKrxwKZLgEJXWobXdsCkT9WKVWDYrLWk5ZiXqA8i orjx7USBvO2oRkeQQsl7Bo3GTPAQJSw7iLHViDxx5eCpA4n7D4r7QDVod7zduAFh9ngE UsXrVX6mus/uXhH3xtRGUv030VPoDqhJR3K1LBUrL3iVGAMuKhrJuHvXh/pYoHS9wwM8 JIrslvEpZ/HB0lU9gQQg5nBAxqtmNkxwjtLQRKUQcObEKNJUrK3GOaafHVan9X3x2mx4 twkQ== X-Forwarded-Encrypted: i=1; AJvYcCX5I3BPscPJB1zLeRRJi6wPQgxH3d7KK3lnvvSck+CHIi/ZDUlAZCmYYtgOdnrDJFWH9qNv7O39U7g4iuKJc5RwTFQ= X-Gm-Message-State: AOJu0YzACdHv7f6HfPscnyaEFPD4FhiqX8BTwV1O9pxnUVaKP3GGsGtY XuvOA+Kwdu4pdeMTljCjqZU2K8C36AQan9m2QNrkBkeTq91LFjwdY0FwjwKaxzY= X-Google-Smtp-Source: AGHT+IHGf00IBRZ94uXhy3F/2SqhItEAHmbVU+XM+K8PgG8OtyyJ9+JfcyGA+LZi58DTqhZ5nGjLug== X-Received: by 2002:a05:6a00:ccb:b0:6e4:7b26:3f28 with SMTP id b11-20020a056a000ccb00b006e47b263f28mr7902748pfv.21.1708563035154; Wed, 21 Feb 2024 16:50:35 -0800 (PST) Received: from debug.ba.rivosinc.com ([64.71.180.162]) by smtp.gmail.com with ESMTPSA id a2-20020aa78642000000b006e34008d0c3sm8898152pfo.100.2024.02.21.16.50.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 16:50:34 -0800 (PST) Date: Wed, 21 Feb 2024 16:50:30 -0800 From: Deepak Gupta To: "Edgecombe, Rick P" Cc: "ajones@ventanamicro.com" , "bjorn@rivosinc.com" , "conor.dooley@microchip.com" , "broonie@kernel.org" , "keescook@chromium.org" , "kito.cheng@sifive.com" , "paul.walmsley@sifive.com" , "palmer@dabbelt.com" , "alex@ghiti.fr" , "Szabolcs.Nagy@arm.com" , "alexghiti@rivosinc.com" , "atishp@atishpatra.org" , "cleger@rivosinc.com" , "josh@joshtriplett.org" , "linux-arch@vger.kernel.org" , "gerg@kernel.org" , "linux-kselftest@vger.kernel.org" , "bhe@redhat.com" , "charlie@rivosinc.com" , "david@redhat.com" , "samitolvanen@google.com" , "heiko@sntech.de" , "panqinglin2020@iscas.ac.cn" , "mchitale@ventanamicro.com" , "corbet@lwn.net" , "revest@chromium.org" , "mason.huo@starfivetech.com" , "ojeda@kernel.org" , "baruch@tkos.co.il" , "waylingii@gmail.com" , "linux-riscv@lists.infradead.org" , "joey.gouly@arm.com" , "ancientmodern4@gmail.com" , "mathis.salmen@matsal.de" , "aou@eecs.berkeley.edu" , "shr@devkernel.io" , "andy.chiu@sifive.com" , "shuah@kernel.org" , "arnd@arndb.de" , "linux-kernel@vger.kernel.org" , "vincent.chen@sifive.com" , "greentime.hu@sifive.com" , "oleg@redhat.com" , "willy@infradead.org" , "zhangqing@loongson.cn" , "jhubbard@nvidia.com" , "ebiederm@xmission.com" , "Wang, Xiao W" , "cuiyunhui@bytedance.com" , "brauner@kernel.org" , "catalin.marinas@arm.com" , "ruscur@russell.cc" , "shikemeng@huaweicloud.com" , "jszhang@kernel.org" , "jeeheng.sia@starfivetech.com" , "alx@kernel.org" , "guoren@kernel.org" , "chenjiahao16@huawei.com" , "omosnace@redhat.com" , "linux-mm@kvack.org" , "evan@rivosinc.com" , "bgray@linux.ibm.com" , "apatel@ventanamicro.com" , "akpm@linux-foundation.org" , "linux-doc@vger.kernel.org" Subject: Re: [RFC PATCH v1 15/28] riscv/mm: Implement map_shadow_stack() syscall Message-ID: References: <20240125062739.1339782-1-debug@rivosinc.com> <20240125062739.1339782-16-debug@rivosinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Disposition: inline In-Reply-To: X-Rspam-User: X-Stat-Signature: re36r9s5dxrkc95nkferfydjug43wt3y X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 8D257140007 X-HE-Tag: 1708563036-445654 X-HE-Meta: U2FsdGVkX19E2IhjwuOnGochmfVRca6aZyUZyK8oUb1cwo+C7PYpD8SYmq+cfp5vPXqMVGn73IqQkD5hp/6aMJUllEH2oz9040ZrTHZaJ5vl79oaYU1mll8tPenFKx1pcy9TERfNo3WmGvXhI48SnL2CwqVD1emHl28M7b+d+oRsMRXHM70+/AJcbsvFRhXiF5src26Wf42z1ltYXF8+XQFSW0s8tEUJFuyOXFBFvqKHyhqTMHuXWyXS6FKNHxrOcWK8s11/PdgBGDCRt5Fw3Brp4FuhwtPxXoGhivHp243I61zSp9cp7n2cA8KjO87mYajK/tN1FGLu1ARZi7Hccdko7whcdIT4+mIED5aBuH2TndILgX1AgkJCJhGyqmDfNudZgviDygVdvUcvls878hbWMhWa34X9Leon4f3RyGzpeRJo81Q8WxwS6Ue7HK9ZbGt4/vW+IJShqUgr/lczdZxok++oSPVnSikj16WwRk9kTB8gYGTAM6QwcwOZaOsEpwp14mQFmciXJVgfcKadChaQxZ05sfD2pB541leXWTL0mnFhRwovhvKyt5LINr0hjJOjGorkmId3L0kVHmNZ0bHv+GB2OxfVABqfXgvytTzjEgrdbSufqUbERVG7Gf8FeSolSBZkvVwC3xEw0spTlJKWx3P1yP71/7bC0L7y+vsd6cNWh1evsWhEV8DBefl4YwwYZUiMFFNEZQ9f3LrpJl8dhZhb1TusWpJi6XUwvyAHw0+rk/DG6gmO7qzhl+cVB1VPgfZ+Xb0TbvlyCKkexC3J5+AIzV8lQTyqzIzJjOOZJ89rN35Oo2Cae6tg3fjBuAryPXHpJGISS7F20Po+GfUlFbrH1bCci2ue6tL7O8Cbu8u6kZhCsjCeRPhRMf5jQDebLY1/zPlRsNn5aD5XVVFc8q80VHgIAcywwJM8iQBZpifF6lFFdREbNM24YUNapX7m3GaBKSCpLFJu5S5 IY4rGzYA fp3/I7tpr7immsn/1Rz+Mi/Xam382EYDXz8uXfyaP7mAs0AIbY6uQE7DJX9pUwpbhXbNPvkiezXQsjsDK06fuWdN0bJodnUVQxineAT/QRcmUKkM6iyh1Pi8Hf0bQoCJHQ6bPPHuXLw97DfbiGV11/v9EkD7S1mEz96VnDTAcjP2VORVgjOMo2JPph1vINK41QZHobWgJiFrASFvyzL4slCvcAg== 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, Feb 09, 2024 at 08:44:53PM +0000, Edgecombe, Rick P wrote: >On Wed, 2024-01-24 at 22:21 -0800, debug@rivosinc.com wrote: >> From: Deepak Gupta >> >> As discussed extensively in the changelog for the addition of this >> syscall on x86 ("x86/shstk: Introduce map_shadow_stack syscall") the >> existing mmap() and madvise() syscalls do not map entirely well onto >> the >> security requirements for guarded control stacks since they lead to >> windows where memory is allocated but not yet protected or stacks >> which >> are not properly and safely initialised. Instead a new syscall >> map_shadow_stack() has been defined which allocates and initialises a >> shadow stack page. >> >> This patch implements this syscall for riscv. riscv doesn't require >> token >> to be setup by kernel because user mode can do that by itself. >> However to >> provide compatiblity and portability with other architectues, user >> mode can >> specify token set flag. > >A lot of this code look very familiar. We'll have to think about at >what point we could pull some of it into the code kernel. > >I think if we had an arch write_user_shstk(), most of the code could be >shared here. Yes it is. I'll think a little bit more on this on next set of patchsets when I send.