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 E759CC2D0CD for ; Thu, 15 May 2025 07:28:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 289B76B00F3; Thu, 15 May 2025 03:28:52 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 237936B00F8; Thu, 15 May 2025 03:28:52 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0B18C6B00F9; Thu, 15 May 2025 03:28:52 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id DF4626B00F3 for ; Thu, 15 May 2025 03:28:51 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id E2C991615B2 for ; Thu, 15 May 2025 07:28:51 +0000 (UTC) X-FDA: 83444315262.05.0E1CF6A Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) by imf03.hostedemail.com (Postfix) with ESMTP id EE6D820003 for ; Thu, 15 May 2025 07:28:49 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf03.hostedemail.com: domain of alex@ghiti.fr designates 217.70.183.196 as permitted sender) smtp.mailfrom=alex@ghiti.fr ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf03.hostedemail.com: domain of alex@ghiti.fr designates 217.70.183.196 as permitted sender) smtp.mailfrom=alex@ghiti.fr ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747294130; 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; bh=gDlXBT5B1OzJLk9uAyJcIvDJiYp1Hn5Ps+5AhuB1eC8=; b=1lMQ1atvVPGg3EyFq2XdXZkVjUyF5Uslu55zJUKeJJ/yeWDKJgbvk1AriUGwdieRVqwwuP +SLKAK6bS4yb+gzPfrvYxl2ULoe6FJ1q7pgHDlXdfGMZ+nfr8RqMYeskHCGX17Z2HzN7lk TTzUvxVgjE7Q2B7h0tCxNKM0GZltx7A= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747294130; a=rsa-sha256; cv=none; b=GG4dqyzGkKnMSciMUZAFX91a5OlFqCEST4kXKlc0ZluvrIMAI2W6qWH8wid6fWap22g7hL xfrVpwmfZIvibCxrRMYIoGQHjJ0t5g/B8LfdE5fdYDiqQZavRf4FOoScnQLV4TzrxS+FGi HvlG06p9UjiPoZ+d3ZeF8j1pGUcO/Tk= Received: by mail.gandi.net (Postfix) with ESMTPSA id CB84144380; Thu, 15 May 2025 07:28:26 +0000 (UTC) Message-ID: <122fc6cd-2e21-4fca-979d-bcf558107b81@ghiti.fr> Date: Thu, 15 May 2025 09:28:25 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v15 05/27] riscv: usercfi state for task and save/restore of CSR_SSP on trap entry/exit Content-Language: en-US To: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Deepak Gupta , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Andrew Morton , "Liam R. Howlett" , Vlastimil Babka , Lorenzo Stoakes , Paul Walmsley , Palmer Dabbelt , Albert Ou , Conor Dooley , Rob Herring , Krzysztof Kozlowski , Arnd Bergmann , Christian Brauner , Peter Zijlstra , Oleg Nesterov , Eric Biederman , Kees Cook , Jonathan Corbet , Shuah Khan , Jann Horn , Conor Dooley , Miguel Ojeda , Alex Gaynor , Boqun Feng , Gary Guo , =?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross Cc: linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-riscv@lists.infradead.org, devicetree@vger.kernel.org, linux-arch@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, alistair.francis@wdc.com, richard.henderson@linaro.org, jim.shu@sifive.com, andybnac@gmail.com, kito.cheng@sifive.com, charlie@rivosinc.com, atishp@rivosinc.com, evan@rivosinc.com, cleger@rivosinc.com, alexghiti@rivosinc.com, samitolvanen@google.com, broonie@kernel.org, rick.p.edgecombe@intel.com, rust-for-linux@vger.kernel.org, Zong Li , linux-riscv References: <20250502-v5_user_cfi_series-v15-0-914966471885@rivosinc.com> <20250502-v5_user_cfi_series-v15-5-914966471885@rivosinc.com> From: Alexandre Ghiti In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeftdelvdejucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuifetpfffkfdpucggtfgfnhhsuhgsshgtrhhisggvnecuuegrihhlohhuthemuceftddunecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefkffggfgfuvfevfhfhjggtgfesthekredttddvjeenucfhrhhomheptehlvgigrghnughrvgcuifhhihhtihcuoegrlhgvgiesghhhihhtihdrfhhrqeenucggtffrrghtthgvrhhnpedvleeivdevgeekudefjeeigeeuvdekueeiuedufeethffhiedvleeileduuddtgfenucffohhmrghinhepvghnthhrhidrshgspdhinhhfrhgruggvrggurdhorhhgnecukfhppedvtddtudemkeeiudemfeefkedvmegvfheltdemgegsjedumeegvggtieemjehfhegsmeejsgdtudenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedvtddtudemkeeiudemfeefkedvmegvfheltdemgegsjedumeegvggtieemjehfhegsmeejsgdtuddphhgvlhhopeglkffrggeimedvtddtudemkeeiudemfeefkedvmegvfheltdemgegsjedumeegvggtieemjehfhegsmeejsgdtudgnpdhmrghilhhfrhhomheprghlvgigsehghhhithhirdhfrhdpnhgspghrtghpthhtohepiedupdhrtghpthhtoheprhhkrhgtmhgrrhesvhgvnhhtrghnrghmihgtrhhordgtohhmpdhrtghpthhtohepuggvsghughesrhhivhhos hhinhgtr dgtohhmpdhrtghpthhtohepthhglhigsehlihhnuhhtrhhonhhigidruggvpdhrtghpthhtohepmhhinhhgohesrhgvughhrghtrdgtohhmpdhrtghpthhtohepsghpsegrlhhivghnkedruggvpdhrtghpthhtohepuggrvhgvrdhhrghnshgvnheslhhinhhugidrihhnthgvlhdrtghomhdprhgtphhtthhopeigkeeisehkvghrnhgvlhdrohhrghdprhgtphhtthhopehhphgrseiihihtohhrrdgtohhm X-GND-Sasl: alex@ghiti.fr X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: EE6D820003 X-Stat-Signature: wxupghi31owofsnn8s1asw8iinh8b94u X-Rspam-User: X-HE-Tag: 1747294129-306663 X-HE-Meta: U2FsdGVkX1+KOzcUxARduxrjIbGrxcfaanrBtHoXZsWSCjNP+p2Whrbt1mNq6C0P5wRpij81WatwTLWczZ1nx2njX8/5/MMZcYpD/0OJOempZC+nxtiYARwo3VF4JcMvpuE/RsA7vV66VGCYgXcQ5tlQhWppPttitDreIQ3X3JpplvcJzPwXRV96Wib35pjQbz0Qg2UG8DTVThvFyAJf252yYPljDfVPHg+06HvBfFG44lLeYuEPElGd5UTmpRzBBNjEiNGx1GhKp8Y7K3agj5wc+ExDfZxR7vBDBDQTexikZz6BZtIT7VOfQRc+nq/ScjWTr5Mi6AOqHzS8yOBCQp9FWE4Daa0yJdfqHDcxVNfd5h7s35tukYe5Xa7IgDdKCWrksyywP+itpBkFKvafVwhz/MTOa0poT2Ie+aFQAl+Kx/ZPz06b8hTLF8axsZRMNnnrAZigBnnRvTeBQKESgvLkt/h0qbLN1ykUF5LaphTxgC26KR4ai3UJVsJ8YwBACBUfBCU/Y6PyVvSlMc+esSuWXeCGaJ+OQIxpZUfRLhvuybdXdOW7LsUeIOl5vADvX5IsUcEfz5zqVfPWOqnHyqPzK4b+s8f1t++4T7imSQ7QUX8We7WCwhcNoQt3dz4mOd4wCmsdR5VTBhJmi0OcM5EbFrOb1zvR+EJyGGR1yBJWCyEYARRQ6ow/u8q+Bds/plEU27eML2yobhhxAdAIU3pUvg0HXdWgoEBJ3vCZFAe3AqSoQsO5acN/ys90/cKb9RY0tbuc6+R8O3SfkzRYqBRhbM80ixiP0ODtZiN5cg4zJBKaiBs422LEqaheR8ZuwxxC/I2JTDrLChD/b+0cVzIMi7ULSm079N/MKKsS3TBaFs8ZYvLKsSmb6NrmBmo2FGr1ZjM0S79Us4htIHF0PIbRWGkkTqhjbtU2ssAFkOeDofUF+kdcHC+dD+oD9kt+cjzQJVKHb1HAQ6EghaY SCOPfI7o nDDAnHROHzM8J5cc0uS/ah5CFESwAucRQWtsFN7a56uJQbofP4sW9gI71KbjKzjne6t5ayoVq2Wr9LF45fBFzazrJiE2cqOOz9rP1eXVvoQDkVAX34BoITHjJbHy8e2TavmWfBRWk80NXzJo/Q2n3Pgic7idQyqskDWOMqMUQJ9VO/aNDonlH0ASkJfOuipDYpxmjn58gIHELwEjaocS5iKbtltTilGFs1y9Fzdjb/Za6y82ChNUKTnl4XZf9/T6rTCVZWm4lN1miEKOwXwayo6OiMHWGFHcfUZNOKVzcqvj6ljNCda8H9EGRNkXKxjMDTKdD+3fnNABghT9wM9jGjrSHwxYHyAZ5SjPM 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: Hi Radim, On 06/05/2025 12:10, Radim Krčmář wrote: > [Ah, I missed v13 and v14, feel free to Cc me on next versions.] > > 2025-05-02T16:30:36-07:00, Deepak Gupta : >> diff --git a/arch/riscv/kernel/entry.S b/arch/riscv/kernel/entry.S >> @@ -91,6 +91,32 @@ >> +.macro save_userssp tmp, status >> + ALTERNATIVE("nops(4)", >> + __stringify( \ >> + andi \tmp, \status, SR_SPP; \ >> + bnez \tmp, skip_ssp_save; \ >> + csrrw \tmp, CSR_SSP, x0; \ >> + REG_S \tmp, TASK_TI_USER_SSP(tp); \ >> + skip_ssp_save:), >> + 0, >> + RISCV_ISA_EXT_ZICFISS, >> + CONFIG_RISCV_USER_CFI) >> +.endm >> + >> +.macro restore_userssp tmp >> + ALTERNATIVE("nops(2)", >> + __stringify( \ >> + REG_L \tmp, TASK_TI_USER_SSP(tp); \ >> + csrw CSR_SSP, \tmp), >> + 0, >> + RISCV_ISA_EXT_ZICFISS, >> + CONFIG_RISCV_USER_CFI) >> +.endm > Do we need to emit the nops when CONFIG_RISCV_USER_CFI isn't selected? > > (Why not put #ifdef CONFIG_RISCV_USER_CFI around the ALTERNATIVES?) The alternatives are used to create a generic kernel that contains the code for a large number of extensions and only enable it at runtime depending on the platform capabilities. This way distros can ship a single kernel that works on all platforms. Thanks for your reviews on this series, Alex > > Thanks. > > _______________________________________________ > linux-riscv mailing list > linux-riscv@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-riscv