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 D053BC28B30 for ; Thu, 20 Mar 2025 22:31:28 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9DFBA280003; Thu, 20 Mar 2025 18:31:26 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 9B7A3280001; Thu, 20 Mar 2025 18:31:26 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 85A13280003; Thu, 20 Mar 2025 18:31:26 -0400 (EDT) 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 6490F280001 for ; Thu, 20 Mar 2025 18:31:26 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 3BF08806E0 for ; Thu, 20 Mar 2025 22:31:27 +0000 (UTC) X-FDA: 83243377014.27.80E9332 Received: from mail-yw1-f175.google.com (mail-yw1-f175.google.com [209.85.128.175]) by imf10.hostedemail.com (Postfix) with ESMTP id 64CB6C000D for ; Thu, 20 Mar 2025 22:31:25 +0000 (UTC) Authentication-Results: imf10.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=lXm428r6; dmarc=none; spf=pass (imf10.hostedemail.com: domain of debug@rivosinc.com designates 209.85.128.175 as permitted sender) smtp.mailfrom=debug@rivosinc.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742509885; a=rsa-sha256; cv=none; b=wUoPpm+R6bOJtmLMkwnN0MaK1QlSu8BM8Jfb8ixchoMR/dKyPGd87LMYnO+JWgiREf4W8N lLiwNddWWr/jBjdqFIBNfkfNduoPROua1COuozCMSDSB+5LZOajylc793nty5Tg5npfuZY 7C4L4drrskkllv3oFFLJ64c76/8v5jM= ARC-Authentication-Results: i=1; imf10.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=lXm428r6; dmarc=none; spf=pass (imf10.hostedemail.com: domain of debug@rivosinc.com designates 209.85.128.175 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=1742509885; 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=IofsmlVDJhRwn5HSuRGp3pTAenUeDGvG4AuBmId2Qpg=; b=TQtE2KdF763iXUBhp4Dux+qg1FTIbXWJx3Lm1CXby4ZK07d7ZnxE3ctPGH8tnBDqrvI2WX 3cgD19v10b9O3axHR6FVUtKnBON7rlq4NnLgmJQOfFgVQexkqhMi+HkTecv1biRGVV1HqM VyADGNoTSXX3pkQWNWpaomJp+Dw4teI= Received: by mail-yw1-f175.google.com with SMTP id 00721157ae682-6fed0620395so12161997b3.3 for ; Thu, 20 Mar 2025 15:31:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1742509884; x=1743114684; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=IofsmlVDJhRwn5HSuRGp3pTAenUeDGvG4AuBmId2Qpg=; b=lXm428r69TllceBuskcOaqcFamXhly6epCP9lJaZzaJFVjXcFFxSO9lj29kWRh5W2C h7N3uKsCN7uh+1jrNAtmidxMJs2kzUDDYu0mKXdsdTp7EGv3TLAnUZyqbNVqT6ILkdwA Na3b4Ui4Jj/r9DUyPCSj8yKHyQedCuYmyER7XyVONIdCGys0M6pYPjXvjTPDbdY/dTWc ccuvP0dhRrM7qDT+/KHeFqFiAjoYNz/E6yxcl0f1eiD6vtXjx/khpdcMYtt0i2Yh3sR3 6u1bpcnunlWrgF1rwDkpIJQOIqyvU4yd14QDD+Ijmt6Ey+hDNPSdJ+c46UVjqH1xYZJ6 BI6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742509884; x=1743114684; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IofsmlVDJhRwn5HSuRGp3pTAenUeDGvG4AuBmId2Qpg=; b=Ki4Ab5WNHIReD7WEnx87rv7Bp5vAqipkpwBN5N76fRBB3PuX05Ot8IEhj7ShVHo0ye 3k5jNdpX9ADMClB7LCO7BoEhq78E1YlM2g/XMwr0zuat1AjarG50RnXMhqnupT+fT8l0 2bjzWnHUJTlje/QSb6NYcyIZq7zlcJDwKTHETwDJMIYYvqV+P8raXLRAXmCEG+FWtLEI 1sIS5ZaHWo0P0Ut8kG8llmC+JSJUJV90Nqu9u1Qq7jE31mhc8FXU9CloNjf/cmQpAC+4 W26F//t8mzOJCf5N+bLXk5mwIaw/0s+1h9ZV7VKTnqSefBcXWZ+8543lrAthCqojhKNn b+3w== X-Forwarded-Encrypted: i=1; AJvYcCWbYWxNICvgiaGyHtuw1/oXq6ACcsxmDOu/2m6efILxAGsUj0i7lhZTVoJvy1197d8/Bi2S+gJAGQ==@kvack.org X-Gm-Message-State: AOJu0YzJFv1ppK8/X941EDku63Tz3UnwLkmpswBAWdTsrOTejrHkdRmm FfTTxCxwC+ke3pKQT93ne2TvbCA3lflmlOp5HTqwrLxIvnNKvXKhgvpkRAsqNYLmONJ2w2cXdgC gGwMfGefLOhF+V+J/1KznQiyf7cO+nIQAurloQg== X-Gm-Gg: ASbGncsy593y+UFT8AaYksv0S1+B5TVgGLafUUAWJZfnH3BvcP6S5MFYbIY77raqN2i beCCGcTQM59G794YgTHrEQobNYnUD97+tlKLLTDr5xRvH/Wuve0sOiiaV330wV6YvGiX8wyvcZa RnY+UMWtHolWLeSyK7CUfsljVkiOM= X-Google-Smtp-Source: AGHT+IHFNCvqeNOK7sMsBmLPvgYWG7exVxSWvS9DNLcUgNmS336dZeeGcZ6AHSeGvrnkMyVPDEN8X9dkpWdV3lB6eDg= X-Received: by 2002:a05:690c:3809:b0:6e2:1527:446b with SMTP id 00721157ae682-700babe54c1mr17364757b3.3.1742509884010; Thu, 20 Mar 2025 15:31:24 -0700 (PDT) MIME-Version: 1.0 References: <20250314-v5_user_cfi_series-v12-0-e51202b53138@rivosinc.com> <20250314-v5_user_cfi_series-v12-23-e51202b53138@rivosinc.com> In-Reply-To: From: Deepak Gupta Date: Thu, 20 Mar 2025 15:31:09 -0700 X-Gm-Features: AQ5f1JrziMLdrjsoBdVgxAHm84jf6CZ2h4oWTVpyzciuX161uoZpfiFXMbIZdgY Message-ID: Subject: Re: [PATCH v12 23/28] riscv: kernel command line option to opt out of user cfi To: =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= Cc: 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 , 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, linux-riscv Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 64CB6C000D X-Stat-Signature: dwsgjqjapuusm8hgbwfxdb66uz8f6i5i X-Rspam-User: X-HE-Tag: 1742509885-605466 X-HE-Meta: U2FsdGVkX1+pO0r9H+JvfbbENwRHGOwdkdAdtWDC1OhJgzk1Efhsez78Ku9wO2skseHuqvk6vi6y6tqVP5mEv69NtpstgoPb89wJF3/Hl5ms+FlWAfQfFDmXhC9Rb1Zbtrbve3dIbSs/YG8YkKu+5qgxk9IcyvZfTag1NDH6xoSfEhE/G0imP2BbC8IRGP0xVd+8txA4B+wfjH4jaSo5u9Lo9bwgstEVNsvqkL4PVrR6JioFrBqj2XHf2Nh5re9//pE/FRAGo6bRg36qGvzWVXnvJlPk8lNG+KVz+FONqEb5SlwsPYDymGqdUn4czoABP+3/XDOjoVaYunz0objYWsxiNz50GhT+/1Gaqu3MqjI4kY7T0su3H+hBZAUXCCuTkszJaB/WmSwmqT1UNNjEL9ZYOoRTdnutyHg3IsM2X1HeGingccbkpH6gG4m+4eJ5ten3tmXnI7thu8oOuoIb9efDy+m9qu7l/fKJhneY3K2NZH19Pu20Lwj1+utY6XFTZd4G9VHCTAQKiE3Hslj5sgvuNirR8qZVrybr8Rut/mzKHu5swlMlcGlzIX6RkSQlxBmg6cV0IBTZqpimgfYvoT0x+blVruJ6B5eZ+GyekZKjY8l0k6KyhmUNBaUE/vNSKTkFsRj76wlx5qkZvZ6iC3ZcKVT5iAOyEr+N94V8Nq820PktXZ5SfY/FWEh39C3Ge2fO5fZ7jicKhwoqu1jdWd8v5361E1/gmYC7DzACRVnEIv9e4kyPMvV4KaOibYJfMH7y0/WEmiRM+XJlI8Tksb8Tpi7awtrzIiakPFQ+0tGTbpdBYbiOrzYzA+qde2UAQuc67noKaABiT1QqmI3GgcBI/zw2cZwCS7mJRlKNM98LIIIcI23iANMfLf0D8L41MvbSFj67bpiDrBTWacCt7f6mmxwGgZz34AMG9taROEhGGgNtocFlHugzaNO52bQP/7VydzvcBa2b8TtPFVE Vg5uPHva Nlu15amf1MQZ8OvG0zGKnavPbzAXpI7S0z+JmYZSl068P9bm0tJv74/GIMGnwm/Z0vbxTr2BEIVMFWVYlQFZuZAcythvmfUKl3BfdBwYpb5UzmMydfpG2Vsh1Wsiofx4+w/ZpZEM3Y86SjvHhLEft84XOvOBkDKy6/HuVa825Ov1qUvOtMmASq3XngjWOQde7Xci47agNA9lFyzLmakp8N9ZjPSYDaf0G0M487YrWUGR4BgpJ0MmdaxvB4EfmMD5BMaG/wt49igHVOE8RepuJCgTzLB3Wzk4l8IKPlXrGc1m+5KjqjBlVFiDLSDuY5L0wYtSKS2CQi9bsXCwQ3r+Ug8hxnZOzRFHSNe2flCHxsFsVf+xn15f0YnwyhG8UOeUSMCuzJI6kzxd/ng3r2bVDR5cC9RnxeW1GmQV/KyPyvAWWOu9hig+GkDb2Pw== 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, Mar 20, 2025 at 2:35=E2=80=AFPM Radim Kr=C4=8Dm=C3=A1=C5=99 wrote: > > 2025-03-14T14:39:42-07:00, Deepak Gupta : > > This commit adds a kernel command line option using which user cfi can = be > > disabled. > > > > Signed-off-by: Deepak Gupta > > --- > > arch/riscv/kernel/usercfi.c | 21 +++++++++++++++++++++ > > 1 file changed, 21 insertions(+) > > > > diff --git a/arch/riscv/kernel/usercfi.c b/arch/riscv/kernel/usercfi.c > > index d31d89618763..813162ce4f15 100644 > > --- a/arch/riscv/kernel/usercfi.c > > +++ b/arch/riscv/kernel/usercfi.c > > @@ -17,6 +17,8 @@ > > #include > > #include > > > > +bool disable_riscv_usercfi; > > + > > #define SHSTK_ENTRY_SIZE sizeof(void *) > > > > bool is_shstk_enabled(struct task_struct *task) > > @@ -396,6 +398,9 @@ int arch_set_shadow_stack_status(struct task_struct= *t, unsigned long status) > > unsigned long size =3D 0, addr =3D 0; > > bool enable_shstk =3D false; > > > > + if (disable_riscv_usercfi) > > + return 0; > > + > > if (!cpu_supports_shadow_stack()) > > return -EINVAL; > > > > @@ -475,6 +480,9 @@ int arch_set_indir_br_lp_status(struct task_struct = *t, unsigned long status) > > { > > bool enable_indir_lp =3D false; > > > > + if (disable_riscv_usercfi) > > + return 0; > > + > > if (!cpu_supports_indirect_br_lp_instr()) > > return -EINVAL; > > > > @@ -507,3 +515,16 @@ int arch_lock_indir_br_lp_status(struct task_struc= t *task, > > > > return 0; > > } > > + > > +static int __init setup_global_riscv_enable(char *str) > > +{ > > + if (strcmp(str, "true") =3D=3D 0) > > + disable_riscv_usercfi =3D true; > > + > > + pr_info("Setting riscv usercfi to be %s\n", > > + (disable_riscv_usercfi ? "disabled" : "enabled")); > > + > > + return 1; > > +} > > + > > +__setup("disable_riscv_usercfi=3D", setup_global_riscv_enable); > > I'd prefer two command line options instead. One for zicfilp and one for zicfiss ? > > In any case, I think we still document params in kernel-parameters.txt. Noted, will do that.