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 0E2BACD1283 for ; Fri, 29 Mar 2024 20:02:17 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 76F096B0092; Fri, 29 Mar 2024 16:02:17 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 71E706B0093; Fri, 29 Mar 2024 16:02:17 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5BED46B0095; Fri, 29 Mar 2024 16:02:17 -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 3E0D46B0092 for ; Fri, 29 Mar 2024 16:02:17 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id F1E75C04DC for ; Fri, 29 Mar 2024 20:02:16 +0000 (UTC) X-FDA: 81951148272.01.E7FABFD Received: from mail-yw1-f172.google.com (mail-yw1-f172.google.com [209.85.128.172]) by imf11.hostedemail.com (Postfix) with ESMTP id 397514002D for ; Fri, 29 Mar 2024 20:02:15 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=M5OvXN1U; dmarc=none; spf=pass (imf11.hostedemail.com: domain of debug@rivosinc.com designates 209.85.128.172 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=1711742535; 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=t40h4ZVVyU3YcHuS3ADegeoOz9PnpHCj92mWxUgwXKE=; b=AbgPAv7Iukkz3UhrEHPaX8QW2ZXWD+UB6vui3IUljban5UgLFuTXzbMucYp4cWVidQ8Wmu 1hjr4l9pPan3VkTX3/pf3Nc/qnVX55ubYtCfn86E9f2kDNRngFk0Dm4CMdXpKijBscWr4f fseZeawq6NCAVHQ0/pv85eAV9Jhdxuo= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=rivosinc-com.20230601.gappssmtp.com header.s=20230601 header.b=M5OvXN1U; dmarc=none; spf=pass (imf11.hostedemail.com: domain of debug@rivosinc.com designates 209.85.128.172 as permitted sender) smtp.mailfrom=debug@rivosinc.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1711742535; a=rsa-sha256; cv=none; b=IrwgiBhxlmrU1Uxmdjyrf7mbl1FjT3zCvtQG94XZ8ZsqIL8VV7bl/T4dC1Y1SGCc2g68Su Y7njrbJ+G2/BIn8W5BK8DoFNMYvtmB0QR65hgFLDi30u45/zI0S87XJJ6JGwtnqYaMdd5z BITsNz+cOtvOITr+SSmFH7dIi0vK9eo= Received: by mail-yw1-f172.google.com with SMTP id 00721157ae682-6146f16d595so1011647b3.1 for ; Fri, 29 Mar 2024 13:02:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rivosinc-com.20230601.gappssmtp.com; s=20230601; t=1711742534; x=1712347334; 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=t40h4ZVVyU3YcHuS3ADegeoOz9PnpHCj92mWxUgwXKE=; b=M5OvXN1URsz/xqWHFUGYEqf2E6x63dCJ2ZcwI/xJPn+j1+VmyyS1zVzjn4dtg4Q2Va 1+YXJAnEXR/3RPA+1JH4jGkAsfNzaTE5+nJ6yaBCPxLgZcGYa7OSyTWSJD7oB4FDYrGE 9C0KfExLHA0lCSlmz4mgZIpvQr2QF/w244IqmtRjocaA87LMH/XCWgXPTJlI4lnRz+VA fu3mE7ZVnTjc3ipTC0uiFX8yJO6u32zRiyn5w05joysm6q19KazW/uDugWvzVIVysCR1 PK1vzED4iXK/HNKvRVbtqTGA0KtPutFsMpu/Bk9PjLQsEQXPLqG1xZlcwfI8XxSoNq1X ggOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711742534; x=1712347334; 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=t40h4ZVVyU3YcHuS3ADegeoOz9PnpHCj92mWxUgwXKE=; b=g/2D6jMXJapetEAiML1tMpYdjorcqyeZus6ryKk+TB9JhILVZjnnCx8i2aG3G7CGXp 6NTKRnK8Bu/WZaubNdy4LwNKRfYETA0PaI+tRbNWJifsDd/C/Ne1p7NMVR1jfuiuYTjN TEPUTeDhSYyBI50E+2nAUNQ79H0sdErkuwUwd1AQLRlVNSlC6oYimuadFqgLpMAXYbI3 mRUG8Ls/BFrOVPnR1SCd4pmGFHCTNnDPAXOOm3dPo2oMGWlw+HV6jFpTYJbR/+tmwv36 DEhpMCjjVPwoQkHxzfbz+Aq18eL8jpX7LgdKOfDzsWa3DaxfOFzNjNHHvfnOE1XkxGbn +9tA== X-Forwarded-Encrypted: i=1; AJvYcCW+UwzWiTKRZfbkRQLdUnWVCZQsuFE177etsJQj53P0XAbzbS8FoSvlJu3OaRwjbxyps5Sd9O1sn8SPeO9llRW0Kak= X-Gm-Message-State: AOJu0YwTdAm0+ckozQ8Zc4sFTB1Znx7ibW0KKoAFc8YUKa+blCi0UShz Wg/4LOkJ2BwnXlUImjHiGK5DoRcDoOs+lTJEKGndovtN0IydSfANStW+UG8G6siKw6/XljGHmJe xAdAaq0VtswoQiaKO7A10l35+QAbpkkaMNwh18Q== X-Google-Smtp-Source: AGHT+IGtnKg+yyXhs907Pora7J+RzD45KJQ+UfSqQQ1XkC5eECGLQ66rb6PRiDq9m4/5ND7CCb26prI4BwPY/uB5eaA= X-Received: by 2002:a25:f912:0:b0:dc7:494e:ff33 with SMTP id q18-20020a25f912000000b00dc7494eff33mr2270811ybe.7.1711742534274; Fri, 29 Mar 2024 13:02:14 -0700 (PDT) MIME-Version: 1.0 References: <20240329044459.3990638-1-debug@rivosinc.com> <20240329044459.3990638-28-debug@rivosinc.com> <4b38393a-f69d-4a77-a896-b6cd42c7edcf@collabora.com> In-Reply-To: <4b38393a-f69d-4a77-a896-b6cd42c7edcf@collabora.com> From: Deepak Gupta Date: Fri, 29 Mar 2024 13:02:03 -0700 Message-ID: Subject: Re: [PATCH v2 27/27] kselftest/riscv: kselftest for user mode cfi To: Muhammad Usama Anjum Cc: paul.walmsley@sifive.com, rick.p.edgecombe@intel.com, broonie@kernel.org, Szabolcs.Nagy@arm.com, kito.cheng@sifive.com, keescook@chromium.org, ajones@ventanamicro.com, conor.dooley@microchip.com, cleger@rivosinc.com, atishp@atishpatra.org, alex@ghiti.fr, bjorn@rivosinc.com, alexghiti@rivosinc.com, samuel.holland@sifive.com, palmer@sifive.com, conor@kernel.org, linux-doc@vger.kernel.org, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-mm@kvack.org, linux-arch@vger.kernel.org, linux-kselftest@vger.kernel.org, corbet@lwn.net, tech-j-ext@lists.risc-v.org, palmer@dabbelt.com, aou@eecs.berkeley.edu, robh+dt@kernel.org, krzysztof.kozlowski+dt@linaro.org, oleg@redhat.com, akpm@linux-foundation.org, arnd@arndb.de, ebiederm@xmission.com, Liam.Howlett@oracle.com, vbabka@suse.cz, lstoakes@gmail.com, shuah@kernel.org, brauner@kernel.org, andy.chiu@sifive.com, jerry.shih@sifive.com, hankuan.chen@sifive.com, greentime.hu@sifive.com, evan@rivosinc.com, xiao.w.wang@intel.com, charlie@rivosinc.com, apatel@ventanamicro.com, mchitale@ventanamicro.com, dbarboza@ventanamicro.com, sameo@rivosinc.com, shikemeng@huaweicloud.com, willy@infradead.org, vincent.chen@sifive.com, guoren@kernel.org, samitolvanen@google.com, songshuaishuai@tinylab.org, gerg@kernel.org, heiko@sntech.de, bhe@redhat.com, jeeheng.sia@starfivetech.com, cyy@cyyself.name, maskray@google.com, ancientmodern4@gmail.com, mathis.salmen@matsal.de, cuiyunhui@bytedance.com, bgray@linux.ibm.com, mpe@ellerman.id.au, baruch@tkos.co.il, alx@kernel.org, david@redhat.com, catalin.marinas@arm.com, revest@chromium.org, josh@joshtriplett.org, shr@devkernel.io, deller@gmx.de, omosnace@redhat.com, ojeda@kernel.org, jhubbard@nvidia.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspamd-Queue-Id: 397514002D X-Rspam-User: X-Rspamd-Server: rspam04 X-Stat-Signature: pnkjyxsqhwphcoq1tsu6y4tcm9hhyaon X-HE-Tag: 1711742535-647107 X-HE-Meta: U2FsdGVkX19Fv6uEza2jGwMTf9EdhVDkm7izPlWd8xprFtPWDcbrkEWNaxBdK0jXqrx67PHrL43PDg2tppXR7CtKpZIadlzX0A4+kjEh4hxDfgAshnLiqvwJqcp4zgQfYCif/fAvamuhoaHb+7LcPJE1YMISSoceeKxwWe/We0cXbRR0Uz7lSAEx518HnwqiLKD/E5ppw6P3YuLMszJ0u+7MTWf3HF0Eh3fiXZ51TyrMV3oB9SlM7XGsaKPtIuAopvAVjZi1o3Cmu6W/1D5wrdVJbTioaRLkPVTBq7roA/XpjtPpqXITuy4Aq8tYe9qrE1628Uga3QMJnFH0a20D2+GlnNFl1Kic/5Jmd5p0JqXNwjwRuPtMgy4N8Jih+2XI92lFb9RPv5VUoYKM0zzTUNs49fjRLbAtMhNumntTEQXYuQ++MlnbdxINWqtql6T2BhyXIZzLcq6z2a2MKW4o3KzVYf+lCjIRqi2gw7QckwWGNSgeYDs6engLh2cZvvpr5vtf+ub5By72mPZX7JX/SGYr7uLF9g6h4TRcUO4nin5sL7C/wgGHd5+dhijE+fx2tGzhgigN0yFbzhPcwgE5blCPg0d/PAxNk3vdU6sLPAuGdC5wwrgft7Q/LyS90N5y31AgdW/KKelUPMX104E9+y6DJtKYdxp2pUTysqaWwiEjB+cMtbpWvltR/nyfSR4OSUn3HeucYKVqqWtviIv0IBTlV31PUiCI7fQB8y/SQzJAdaVa8Fs2rvV4OEhCl2UMda6w614BvYkqbxeh1yHZSQuyb/ADSOjwryLrxvWXnCqLW4/MCdmCziCg0MD2I2/6LKdU4XAIwL1Ymti4DtxO6UBzdJnzPzyG7StxU5PiMI5W70DOTw2xVcsAil/2zuO7/Seg/trAeQIPWS0l0pop/egt8La8qEB8mJaJrnmMMz3A2t6SAY0VzSX2M6rXkN9pF85H0uMuhcqpJgZxMRs 7mXGGH0D rmOYreYolRkRT+Ps7sSPtrqYZIbDT8tctXm9IvRRnu0FpfImfzujpfWMiclsuk/7ttpAOad8F7wEe0FP+oTkHjBlcZUSZ912Eva2KWAGxkuBD2lL8rt+9uPpBPQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000027, 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, Mar 29, 2024 at 12:50=E2=80=AFPM Muhammad Usama Anjum wrote: > > On 3/29/24 9:44 AM, Deepak Gupta wrote: > > Adds kselftest for RISC-V control flow integrity implementation for use= r > > mode. There is not a lot going on in kernel for enabling landing pad fo= r > > user mode. Thus kselftest simply enables landing pad for the binary and > > a signal handler is registered for SIGSEGV. Any control flow violation = are > > reported as SIGSEGV with si_code =3D SEGV_CPERR. Test will fail on reci= eving > > any SEGV_CPERR. Shadow stack part has more changes in kernel and thus t= here > > are separate tests for that > > - enable and disable > > - Exercise `map_shadow_stack` syscall > > - `fork` test to make sure COW works for shadow stack pages > > - gup tests > > As of today kernel uses FOLL_FORCE when access happens to memor= y via > > /proc//mem. Not breaking that for shadow stack > > - signal test. Make sure signal delivery results in token creatio= n on > > shadow stack and consumes (and verifies) token on sigreturn > > - shadow stack protection test. attempts to write using regular sto= re > > instruction on shadow stack memory must result in access faults > > > > Signed-off-by: Deepak Gupta > > --- > > tools/testing/selftests/riscv/Makefile | 2 +- > > tools/testing/selftests/riscv/cfi/Makefile | 10 + > > .../testing/selftests/riscv/cfi/cfi_rv_test.h | 85 ++++ > > .../selftests/riscv/cfi/riscv_cfi_test.c | 91 +++++ > > .../testing/selftests/riscv/cfi/shadowstack.c | 376 ++++++++++++++++++ > > .../testing/selftests/riscv/cfi/shadowstack.h | 39 ++ > Please add generated binaries in the .gitignore files. hmm... I don't see binary as part of the patch. Which file are you referring to here being binary? >