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 3A5BBC2D0CD for ; Thu, 15 May 2025 08:48:41 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 771376B0089; Thu, 15 May 2025 04:48:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 71DD86B0092; Thu, 15 May 2025 04:48:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5976B6B008C; Thu, 15 May 2025 04:48:39 -0400 (EDT) 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 370726B00DC for ; Thu, 15 May 2025 04:48:39 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 106035FA21 for ; Thu, 15 May 2025 08:48:40 +0000 (UTC) X-FDA: 83444516400.27.8EE329B Received: from mail-wr1-f43.google.com (mail-wr1-f43.google.com [209.85.221.43]) by imf19.hostedemail.com (Postfix) with ESMTP id 136CA1A0004 for ; Thu, 15 May 2025 08:48:37 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=ventanamicro.com header.s=google header.b=dFCtVHv6; spf=pass (imf19.hostedemail.com: domain of rkrcmar@ventanamicro.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=rkrcmar@ventanamicro.com; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747298918; a=rsa-sha256; cv=none; b=2BupweRZIbhtfO0IpMbid1v+KQ+sUvkonmlP1uatJc59DQpgwDn78slhQiYHvjBup78/ba p2GftqNXIQouJvWUtnbFGRz+vsZTfXPn3Ldpzg4CgPl0ksZN32pxVnkyxmi022a5iuHGlm /bcAKsoAQ8F5HiLlxn0DKILFE96u+gg= ARC-Authentication-Results: i=1; imf19.hostedemail.com; dkim=pass header.d=ventanamicro.com header.s=google header.b=dFCtVHv6; spf=pass (imf19.hostedemail.com: domain of rkrcmar@ventanamicro.com designates 209.85.221.43 as permitted sender) smtp.mailfrom=rkrcmar@ventanamicro.com; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747298918; 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=bdVLI+IKJQCwIaBP/4ipGt86DAIuj3sOKMK9lc4aqFc=; b=gXSKCv9+GDYNYyj3ry6WUoXy6/tWFGLMjVvOh8kXG40qL7eUM7MvO6+lJJQFEBh52miCK9 t9ogevLVAQlRd6wydX27n7zTZA+mTz1dJNSGlqf6XTL0F/ZH4keCrk231zDJbtfVFre2JS Af+sQLjNAlmp1mWBdfqcrpm1nTAIczk= Received: by mail-wr1-f43.google.com with SMTP id ffacd0b85a97d-3a0bcb1f1afso96318f8f.0 for ; Thu, 15 May 2025 01:48:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ventanamicro.com; s=google; t=1747298916; x=1747903716; darn=kvack.org; h=in-reply-to:references:from:to:cc:subject:message-id:date :content-transfer-encoding:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=bdVLI+IKJQCwIaBP/4ipGt86DAIuj3sOKMK9lc4aqFc=; b=dFCtVHv6k9qD1b7T9TsuOLpabTUBUneN1d0vPdTDezkvgH2+LLd3+vUYsvrMag3nWT LrEuPP4/fZBr/oWeFVHciuNxGGLItTJwaf7tt89g/om9vvnsCe/34VFRbGGoFbhfR4W8 1geTC2WVMUpghx6YO2fgqVffa8v4a9QRpnCiBx9mD/OHc7T+QgOIKOz3w08cafPl8eWE UkrIHlx+HtMohKfLG79bbAbIcJ3qVDlBtEhmNxaCGDZlmDEw1n1oywJlsssIM3uoXCIQ WkW9yYNW7agiAxHjqIcueGiWULjSPtrHXJkmE96o0/TK4UL4eZPtTwKXaEzKY9mleK1J ytbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747298916; x=1747903716; h=in-reply-to:references:from:to:cc:subject:message-id:date :content-transfer-encoding:mime-version:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=bdVLI+IKJQCwIaBP/4ipGt86DAIuj3sOKMK9lc4aqFc=; b=WB/Amor2zgijrdi6muYSn09iqs6kDm+RrHrAHVG4D0IjR3s5JEcWKvDmVzuaGR7tuV mBk9BN2h1c2ueZrlz4aHB1nf3UxSkb4o3wXgorRSqDv56HgEc5Mp4tE3dSd7e08KR45B TeLJxwESuODk+CWe9Ze84vjODuOfyODCoV5umm+nUBCUWjFaWYRzparMo9tElBg3Z0vo ECRsz5VElgxKcWgpOuwPv/M5gsZl8O6C75DSQJJ/Ef4Xlj/YzP5Tb2wzzsxu5l4Uiqfh r6a2njrAFj9qSBFWFSLTsiuwSeM7BdlqvivHfTvqeF6IIVzA/ZPKIMbsEjWVSurAOMTB 4MlQ== X-Forwarded-Encrypted: i=1; AJvYcCUqj12ixfeQ6fyGC/7ylgA9GslBamzhK4MI7A15Bx64UfEYAse5ThXQ/2OpmBoLApgdT+mAPhxbug==@kvack.org X-Gm-Message-State: AOJu0YyDfbnbOh2vpjH970421ytpR9xFsuxMxQv4jMJd2/EWdTG1GjZR Zu4/azxvPq1s2B4bswJN1y5KVuqfG9SIvjvy66FbVr6UzWpNVp8qVJZ3R8dXAZk= X-Gm-Gg: ASbGncuj3uKsCYXlOwGhXAN+iPv2EHr8ckpnpL7Bfpa7XUZ4PMa870cQVMHF8oXllg+ Rx51iZVyBMI5BTj+dJdeEXsqWv5+1jsQ8nYiaZqQkhoIF0U7PZBjyB+6oc3lK5hWjoBk2uhWOFo x1aXVfwg2oTOlhcVFuw+2tkI8kw+M9Drgze2MvjyzVkmyLGFYaTe9ynjt3G1Qs8igHNOZT9bUup 3hwQmloovPDc4PIhHy5JD3MQAorZBwyy3HiCMTeBJukiXG1uZjJzbv0cF/It9D5zo4Pvn4EUDgQ fCP4Ne3IqLZ7GEsCV6WIfAJlMil6A4WGbOycf7HmYtVl9FHvcMkMjF19Kv0MMgkGX412HTfWfvm PJTk43ekpH+4= X-Google-Smtp-Source: AGHT+IFl5ofT8H2ymocVMBID7uffI6yQBoHWwntFgE3AOdsNMnKtMdzBwHwHlEbKzThnIcYnf09dKg== X-Received: by 2002:a5d:4311:0:b0:3a3:55b4:1abb with SMTP id ffacd0b85a97d-3a355b41b8emr294033f8f.12.1747298916300; Thu, 15 May 2025 01:48:36 -0700 (PDT) Received: from localhost (ip-89-103-73-235.bb.vodafone.cz. [89.103.73.235]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a1f5a2cf2bsm21822557f8f.80.2025.05.15.01.48.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 15 May 2025 01:48:35 -0700 (PDT) Mime-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Thu, 15 May 2025 10:48:35 +0200 Message-Id: Subject: Re: [PATCH v15 05/27] riscv: usercfi state for task and save/restore of CSR_SSP on trap entry/exit Cc: , , , , , , , , , , , , , , , , , , , , , , "Zong Li" , "linux-riscv" To: "Alexandre Ghiti" , "Deepak Gupta" , "Thomas Gleixner" , "Ingo Molnar" , "Borislav Petkov" , "Dave Hansen" , , "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" From: =?utf-8?q?Radim_Kr=C4=8Dm=C3=A1=C5=99?= References: <20250502-v5_user_cfi_series-v15-0-914966471885@rivosinc.com> <20250502-v5_user_cfi_series-v15-5-914966471885@rivosinc.com> <122fc6cd-2e21-4fca-979d-bcf558107b81@ghiti.fr> In-Reply-To: <122fc6cd-2e21-4fca-979d-bcf558107b81@ghiti.fr> X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 136CA1A0004 X-Stat-Signature: wyuok194dz4pfdn6o9ujm51ejwk1r5kg X-HE-Tag: 1747298917-716917 X-HE-Meta: U2FsdGVkX1+XuUJ8KLGlPASiL1JS8Tz3R7lmFZ7msM4GOsnWjE6T4KMYz5esJ8sRsulS3MWz2RWWFXviiYup62a5rGC/YVZS1xB+xX7OGBsbmigrgz3OuEsWcRZYlvYFz6kd3iq5UsBwo56sh9iXDYRMs0irBmBH/vWRpCM5r3q08kvNRwgZQwg68UAQcm4XICKtY0FVxggQTBMJFqsy2LbMvI0GOnciHjIlCC8mScLTBOlAU/8qfQi/4vNok7LjN+243cbARjRhgaNgUoFaxxJ777r1Ha6Tn/FajcdGuOe7Vhkn8qHh3tOqj4AeOte/VnK3YUTVSTNpBd+kVMaERYmoT70uMFuVK4XscuTkMJ9Tqt2jHMuiE2oIDlc32lXWdYCqr0tIdCNbKQktlcn313Nq5QtIPTPrryRhbhE2a2Sp4UBZR+Kl5sRhYEx65QkK/hnIZ96T2bIb3EFKahRLnEcrrD3WrMizXViPMgNbkjJXgYMud/rdC7nkAomW8Fg1ffBvQ7QPo0cpAcDNJNa6/feNGSWPehNzACgcmpIkEixU3WskInuz1oF3jgmi4c5Rl9Fv2EAH+OcbRwzGnKGhngugmSGASjhY3D4tK5/ZA8D7IWELb2O3YfsfvGwYJtlrRX+7U7EtFZWSkvdAm7iRLG6ksK7Lp72nOYGFEMoNiIXAm/GsnaS69xIggkk5u1GBr5h1iqRZZDYlEIZBdsIAj0y7oU8zj5Kol0KhEXjQpx8wdn9PqUiKRBbVbuRMOBscS7wSjB5cMYTEY+PBM7S46oI6zE2TqGrD+JxGRb1ZNCGo7kju/oZlRp1/0llTudzkCK7YbSylbn5RpVQWPEMGBisbACCnahWHYhHD2ymAHikvC54cwI7bo8h4XeVD/P1fGigWvQw4LUsUoUFbi3MxLWOTcWgGsw0CVQFhfXx4qTzm8OzM0mt3s2E5Ly8E7HrxBBlHtq5N9Rpzldk4umy ol2RsNV2 1JbZNvjaQ7WBUab2V86+/vqsiBaJlkZ4OeZzAAbXU3igoqMirTcKPIEUmw9koB1RMa4qTqfBRHlzRuBkdrz1nz0/acYpFlbsDky6l7So0C6oxRIhFoE5t49cjp4d1vf4+VLtWsvW120SC+7FUfE83+CkFx2nZtB+hmKvdelhGf9FfEIQ8TcoPpjqBsAjtsc3YaweL3VHwxjg3waB/fXvlKpop264wfR4+9O4g48ilvtW4YOPrNwAPgaxdsakd6feN0pzWw9f63QCQdVyysFC+chbhrEKGkXkmkXThyJe/V/YbTpUMnDdz2F/8yB4wJ2exjsVHAzIQwzpFKsIyOcMqN5xEdcuTR/fKURbk7kSd5SnNZV9q8DhACXZ9r8qDkFRTuPn2SiB0lGGMwK1LPjdPBlG2VOx9cCvVY6qi6j4rr9ezTnOzIWbaYpn95c1uq1yY1O2PPgAMiNDL7gIV6jVaR26VYB/J9TjBbCqZvJTlGsAMhF/IrScjCSM6IxPvL28BkIJ6y1J95Joz6ZFvEoq2H5v+PzCadOyUsk0/23XOS1z+wMqkKzZD7YlMT9GGYSr7kbv384PtnJkMiOw0jUMDcEur1eDZsexkwUzUU7+IxeALx1rvoptmcFx+GZr4CZkTTOWSDram0TEfAJyD4Ks/u37zItd2x8gpyoE6 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: 2025-05-15T09:28:25+02:00, Alexandre Ghiti : > On 06/05/2025 12:10, Radim Kr=C4=8Dm=C3=A1=C5=99 wrote: >> 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 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=20 > code for a large number of extensions and only enable it at runtime=20 > depending on the platform capabilities. This way distros can ship a=20 > single kernel that works on all platforms. Yup, and if a kernel is compiled without CONFIG_RISCV_USER_CFI, the nops will only enlarge the binary and potentially slow down execution. In other words, why we don't do something like this (!CONFIG_RISCV_USER_CFI ? "" : (RISCV_ISA_EXT_ZICFISS ? __stringify(...) : "nops(x)")) instead of the current (CONFIG_RISCV_USER_CFI && RISCV_ISA_EXT_ZICFISS ? __stringify(...) : "nops(x)") It could be a new preprocessor macro in case we wanted to make it nice, but it's probably not a common case, so an ifdef could work as well. Do we just generally not care about such minor optimizations? (If we wanted to go an extra mile, we could also keep the nops when both CONFIG_RISCV_USER_CFI and RISCV_ISA_EXT_ZICFISS are present, but command line riscv_nousercfi disabled backward cfi.) Thanks.