Message ID | 20250314-v5_user_cfi_series-v12-4-e51202b53138@rivosinc.com (mailing list archive) |
---|---|
State | New |
Headers | show
Return-Path: <owner-linux-mm@kvack.org> 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 08173C282EC for <linux-mm@archiver.kernel.org>; Fri, 14 Mar 2025 21:39:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E8C51280013; Fri, 14 Mar 2025 17:39:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id E3D6D280004; Fri, 14 Mar 2025 17:39:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BF3BB280013; Fri, 14 Mar 2025 17:39:39 -0400 (EDT) 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 9AA5B280004 for <linux-mm@kvack.org>; Fri, 14 Mar 2025 17:39:39 -0400 (EDT) Received: from smtpin26.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id AD79416014E for <linux-mm@kvack.org>; Fri, 14 Mar 2025 21:39:40 +0000 (UTC) X-FDA: 83221473720.26.D1710BB Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com [209.85.214.172]) by imf05.hostedemail.com (Postfix) with ESMTP id BF1E2100003 for <linux-mm@kvack.org>; Fri, 14 Mar 2025 21:39:38 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=lQnj7E0i; spf=pass (imf05.hostedemail.com: domain of debug@rivosinc.com designates 209.85.214.172 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=1741988378; 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=n3DM8zy+WllPP0TujEXFZ0Ycc0zGrpNRrMRWPkPmGZc=; b=ovPc5uvtxj5CTfaRQMSSD70PDXlbAvMyRz3I5ZkkOyo+WINjIgzeqQxH/hErODGiq9FSvk FVfurmvP2UjdoaMnLgNsB9bDXc+566oh7e9w3mK2Y2+rqeUK2FA3Zc3e7S3PYDkMt7Q3p2 jnc69XAAx4lqdYXFGZeFIFXtQxAv4Aw= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1741988378; a=rsa-sha256; cv=none; b=L6MqMfaJjTioRVqPrjO/Woy7uJQ+3XgXmow4NxBd01pUBekhQF9ohWhZfDQmblNBaect1w yuwipQqZfxtbTpBBSwJcKq8PCkht2dPC9+m43hQO7Qv0eyHsOeTkZ/RnWhfhsO6tmq0QEl UdAgFvuJKXWCY9RCLIabJWNHOsddlak= ARC-Authentication-Results: i=1; imf05.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=lQnj7E0i; spf=pass (imf05.hostedemail.com: domain of debug@rivosinc.com designates 209.85.214.172 as permitted sender) smtp.mailfrom=debug@rivosinc.com; dmarc=none Received: by mail-pl1-f172.google.com with SMTP id d9443c01a7336-225b5448519so48018675ad.0 for <linux-mm@kvack.org>; Fri, 14 Mar 2025 14:39:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1741988378; x=1742593178; darn=kvack.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=n3DM8zy+WllPP0TujEXFZ0Ycc0zGrpNRrMRWPkPmGZc=; b=lQnj7E0i5ogLDnFAL2RWts6ijs9gC6OocWmCwsymKxYBqTqlRh+CMl9wyGu9cfEBil y2QtdcaBIZhoPZpivKNfcx4J9CAQI3e3ZYup/WS/qZjxxhAK2LRWwPe+HsgMNKc9cCL/ IBZEjqaadPFLXgJL6ggA/O4ReK0M/1R6rtNAYtLDhS8KZz3PyxJNG+b1iNvT98jDReaJ wxWlmPL0o1IaKODPJLKL/y4cue2yv6CRavsrEOZFvyYf9FuKaIFWFwUomH94/JeFcvmk KQlw+sQoIpn12svN+uBc9UpLN2cymwIIifJhjBZXswRb6xuFOewJVe9HuKPFH8EHTrp8 ljLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1741988378; x=1742593178; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=n3DM8zy+WllPP0TujEXFZ0Ycc0zGrpNRrMRWPkPmGZc=; b=Q1t80LmaswFEtZLTYo4jgCN4J1ZeIY3rHWbkAkvWcyLR6qrbSl3a/ZgKglTZJiBuz4 nrijElWdNnWnQXn0XIQQcHh6jNbw4R/96T6w+znX5SwLn/4F8Sk1/bE/Nm2Jc0yum0Q2 OS+wzt1Msb3zRYbcBVn4M2zlE/QNtUKOOGu+/IrntXiVJEEylzEi+gG2F1S5qgbTbVrY JzRiayzIR2jaB33TWzOyc7RtaZ5tQIbbtMDTgGCU597Djg5JekhgNXfpfX7lDdBSUmKu Z2/FdJB65IfRpLoXuPG+Z0Tgmg/J1mDch0sJPB/HlRuySQWEpjYwWrO6T+wdECMrqwEk ldHA== X-Forwarded-Encrypted: i=1; AJvYcCX2UOCOMm3/3L6ROgqdJg/hxSP2NnIO8ImbCjJlj/EBFM+vY7By8ZBlcLtiragOjW6/1BbXGzOKAg==@kvack.org X-Gm-Message-State: AOJu0YyvHNkjLWcZ8y/4JAljjAkKerHaarbo2TN32+OWvG6EeWly7nMD BEkSH7GF1HsrY/BWwx4Fs+Zz2adGi0P1AMTy/JjGZ4OWQdRbN8T3zaXdklFrQ2E= X-Gm-Gg: ASbGncsjYI0t7ID4ZOsdrTLKZVsIB3CXdpkJsRG91XnonvywnwmYDJZYz0xj9BPpOxA X7fhbROSzbowbSmZ2mrZemvZrgtdjhrao96+Yf2e9Z6oeaXsEvpZ/ACDdn8sQGWQyZI5Ukl2vRf 1ws175w9Jr1KqYMek8xgq1gtXodvUymy3PjdaYdt6XTX7ASwbX5zmWYKXic17QM5CCEFeC7naTM rTCQOFemjBm9q0FCrwI8TV5Mf8NeenOK3IYcH5QRHLSoX+8uuJ2Jd1v/tt7kfvqUmi7QuK7gKoU sCYdUDlPeQLxngNYyiAl9mwCgbZi/aKTCAAnUvgG8nPcMNocrdPAy9uG946bQvraZw== X-Google-Smtp-Source: AGHT+IEd6y00tJpY5AwKZ0G453WB85qrfmfVkSTQW7JFb/Aht1BlD2RcJLOAn300bIU+BiCy9clyEg== X-Received: by 2002:a17:902:cec5:b0:224:abb:92c with SMTP id d9443c01a7336-225e0b19692mr43817135ad.50.1741988377710; Fri, 14 Mar 2025 14:39:37 -0700 (PDT) Received: from debug.ba.rivosinc.com ([64.71.180.162]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-225c68a6e09sm33368855ad.55.2025.03.14.14.39.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 14 Mar 2025 14:39:37 -0700 (PDT) From: Deepak Gupta <debug@rivosinc.com> Date: Fri, 14 Mar 2025 14:39:23 -0700 Subject: [PATCH v12 04/28] riscv: zicfiss / zicfilp extension csr and bit definitions MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20250314-v5_user_cfi_series-v12-4-e51202b53138@rivosinc.com> References: <20250314-v5_user_cfi_series-v12-0-e51202b53138@rivosinc.com> In-Reply-To: <20250314-v5_user_cfi_series-v12-0-e51202b53138@rivosinc.com> To: Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org, "H. Peter Anvin" <hpa@zytor.com>, Andrew Morton <akpm@linux-foundation.org>, "Liam R. Howlett" <Liam.Howlett@oracle.com>, Vlastimil Babka <vbabka@suse.cz>, Lorenzo Stoakes <lorenzo.stoakes@oracle.com>, Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, Conor Dooley <conor@kernel.org>, Rob Herring <robh@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>, Arnd Bergmann <arnd@arndb.de>, Christian Brauner <brauner@kernel.org>, Peter Zijlstra <peterz@infradead.org>, Oleg Nesterov <oleg@redhat.com>, Eric Biederman <ebiederm@xmission.com>, Kees Cook <kees@kernel.org>, Jonathan Corbet <corbet@lwn.net>, Shuah Khan <shuah@kernel.org>, Jann Horn <jannh@google.com>, Conor Dooley <conor+dt@kernel.org> 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, Deepak Gupta <debug@rivosinc.com> X-Mailer: b4 0.14.0 X-Rspam-User: X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: BF1E2100003 X-Stat-Signature: 1dnn54n4mh9xpgqds1uqi4wj3ey3n3oh X-HE-Tag: 1741988378-408433 X-HE-Meta: U2FsdGVkX1++c4lrWM5edWrfy1awNmuDvcDNEwT0MdE/gNEX04t9gZIW4jSl2K86CQ57aCXp5oe/4wRCHTRVKUn9dxX/3xfNRh1hnisuqzK427HjAxHZIsc6MyGmjN4xlOP6eUygSUs6Z8TVD/X4W5LsvjFsG2ST/it/x+5HwvqLAyFBHT6pJKOnpqCc6qihVs46X8Hz5wKkGiPW35mwWlhr7lLFJpTNzK9hRhyclDFo6nStRlDu3xt+xW6tP5EO6APrLlssT+YxAd0RxgixhASl7bYBlf6LBSyhtY1K1nQOHngKzSbWyoG8+ZdJtvov4tHL3/BeH+AMm1+Vk1uIUq8obW3FRsQv8IU55zry1RjsIFnVbBMp3xVGw6Z7hBpQsw5yFE64wJq6JTCH1vIYfzGjhYR/rBDIQIMQ+oj9xQLCAx2PWST6DGkg9mczXRg8i83CWuaY2/5U+1psNvDVsU7SZiWn74zPoVT290rUflAXdLp16/W2A8Dmtl7nhqM9N17nawUUerJAws8QwcKLAqtBc52tyEr7uvNF4nKlqtA3D7xubKp0jGZ3hh7+wBJGkDNlolhRIRNKSVG+mXCyVVFnBV6b7y6UjMFLnv1JZwPeUPiz5oCZRKgb/wAwORSxu4PFIQ8p5aYBMJsVSybWvdxE/IGqJNvZIo2ndq9+82YxlzrocZRqfqQUT1q4OHkEepXapc5bhCwrEOfZIzrZimbw32gKJzJ7S2tFTJBYbCrFgJ8aeRUOO+KWXeokl8XlR24tg04ZdTUiB9Rd0889AFvXXFUonMSKmMzioKw/L/M6tM8Hg1DIWK7R+7s7OR8g7x76E4B5y+PITPs1Vs0pq4PdQr8nQgVIhuOfLDwp2q86ey+BawrXnKj1MkkzXAAiwYSq3BjoD9h5K1ZMGPW0rQXbmT3cDYFIiNhOZbuXel0uKo7ywK4Nwnz/ByXORfcwuKBogCwcyYbm2tN1Mm6 D7Frn1eq VQLEQN5+ZotgkxM0CNfhBUtz/IpU8ePCmWbLjEYBr0DkVZ/6Y4Z/m6vzSsYXIhCOn4aWUHD1vL0S5nUy5kagmit28TAloTLdhgVKmn+MprKSjCE1JxhF9QLHIpm31uy5jjBrvGBFCy9UImCremDRDgme3dglpfOpockQCWHoslwbHqz7DYM4dFqpnHjUL3LYYhkaQROnL2k+G3T/fKfP1xXNafaYKE7S5x6HXi7ha1wkCWKdYBJEBcxvh0aPJpPx6K380DRU35xaWn9Bjrkux0ZFcolW5NdqGsH9Gk3YwzLzjZH6ucOLEzWTsJ7xsj+9QpqQRUa+CLRYhAeex15+zYc8jRrtNEp6tBhOhZAfQbAcZhiyd98amCjbXdycgfwAGHvDhdL4/2jku0Vu9xrSZ9YZbcjjOUH3PW1MAXfp1BOmDKoH1pSDFPxuBt8I6ZQ8yDMUZqvOTY7TcNGw= 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: <linux-mm.kvack.org> List-Subscribe: <mailto:majordomo@kvack.org> List-Unsubscribe: <mailto:majordomo@kvack.org> |
Series |
riscv control-flow integrity for usermode
|
expand
|
diff --git a/arch/riscv/include/asm/csr.h b/arch/riscv/include/asm/csr.h index 6fed42e37705..2f49b9663640 100644 --- a/arch/riscv/include/asm/csr.h +++ b/arch/riscv/include/asm/csr.h @@ -18,6 +18,15 @@ #define SR_MPP _AC(0x00001800, UL) /* Previously Machine */ #define SR_SUM _AC(0x00040000, UL) /* Supervisor User Memory Access */ +/* zicfilp landing pad status bit */ +#define SR_SPELP _AC(0x00800000, UL) +#define SR_MPELP _AC(0x020000000000, UL) +#ifdef CONFIG_RISCV_M_MODE +#define SR_ELP SR_MPELP +#else +#define SR_ELP SR_SPELP +#endif + #define SR_FS _AC(0x00006000, UL) /* Floating-point Status */ #define SR_FS_OFF _AC(0x00000000, UL) #define SR_FS_INITIAL _AC(0x00002000, UL) @@ -212,6 +221,8 @@ #define ENVCFG_PMM_PMLEN_16 (_AC(0x3, ULL) << 32) #define ENVCFG_CBZE (_AC(1, UL) << 7) #define ENVCFG_CBCFE (_AC(1, UL) << 6) +#define ENVCFG_LPE (_AC(1, UL) << 2) +#define ENVCFG_SSE (_AC(1, UL) << 3) #define ENVCFG_CBIE_SHIFT 4 #define ENVCFG_CBIE (_AC(0x3, UL) << ENVCFG_CBIE_SHIFT) #define ENVCFG_CBIE_ILL _AC(0x0, UL) @@ -230,6 +241,11 @@ #define SMSTATEEN0_HSENVCFG (_ULL(1) << SMSTATEEN0_HSENVCFG_SHIFT) #define SMSTATEEN0_SSTATEEN0_SHIFT 63 #define SMSTATEEN0_SSTATEEN0 (_ULL(1) << SMSTATEEN0_SSTATEEN0_SHIFT) +/* + * zicfiss user mode csr + * CSR_SSP holds current shadow stack pointer. + */ +#define CSR_SSP 0x011 /* mseccfg bits */ #define MSECCFG_PMM ENVCFG_PMM