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 X-Spam-Level: X-Spam-Status: No, score=-8.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B17CEC433E0 for ; Wed, 3 Feb 2021 13:06:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 579F364F2C for ; Wed, 3 Feb 2021 13:06:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231535AbhBCNGb (ORCPT ); Wed, 3 Feb 2021 08:06:31 -0500 Received: from mail.kernel.org ([198.145.29.99]:51372 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229500AbhBCNGY (ORCPT ); Wed, 3 Feb 2021 08:06:24 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 89FE964E38; Wed, 3 Feb 2021 13:05:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1612357542; bh=OSBHuUI8og5Vfp1FBOELDBA9lFmC6WOrg2hzohSc4Ko=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=bE3VV0lsArjMZgba11em/bAn62/vpuKCIk3rBNO0syg2HdcvQ7i/ApMC6sC5QKKCV WDQE7DA5yWLZxF8/CTMufJKH9eifbJslYZ7ZRHtuY1y5m3WuoiW+AfmhJQKoUOlKRq TSHLPkiWb1BPJxPlnX2BjP4m5ocPnsl2HsZGu/GSSQRtOU4SM4HflfziC8yYMeV6OO yzvFKIaHdXMBIzrmWVJsAClnGAqh5wJqScIOKN1GeDC2cprQg9Ynw2sqzJ+CgN6XUn aKS/0P//pyCfY/ymysil2/T1msQSjHlso2GZBNGlqp+mAEWEEII72CAcRf+sZlyyXH DBUEofTmHtYfw== Date: Wed, 3 Feb 2021 13:04:53 +0000 From: Mark Brown To: Josh Poimboeuf Cc: Nick Desaulniers , Julien Thierry , Ard Biesheuvel , Catalin Marinas , Kees Cook , Linux ARM , linux-efi , linux-hardening@vger.kernel.org, LKML , Mark Rutland , Masahiro Yamada , Michal Marek , Peter Zijlstra , raphael.gault@arm.com, Will Deacon , clang-built-linux , Bill Wendling , swine@google.com, yonghyun@google.com Subject: Re: [RFC PATCH 12/17] gcc-plugins: objtool: Add plugin to detect switch table on arm64 Message-ID: <20210203130453.GB4880@sirena.org.uk> References: <20210120173800.1660730-13-jthierry@redhat.com> <20210127221557.1119744-1-ndesaulniers@google.com> <20210127232651.rj3mo7c2oqh4ytsr@treble> <20210201214423.dhsma73k7ccscovm@treble> <671f1aa9-975e-1bda-6768-259adbdc24c8@redhat.com> <20210203001414.idjrcrki7wmhndre@treble> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="NMuMz9nt05w80d4+" Content-Disposition: inline In-Reply-To: <20210203001414.idjrcrki7wmhndre@treble> X-Cookie: Who was that masked man? User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --NMuMz9nt05w80d4+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Feb 02, 2021 at 06:14:14PM -0600, Josh Poimboeuf wrote: > On Tue, Feb 02, 2021 at 03:01:22PM -0800, Nick Desaulniers wrote: > > I wonder if PAC or BTI also make this slightly more complex? PAC at > > least has implications for unwinders, IIUC. > What is PAC/BTI? PAC and BTI are ARM architecture extensions. PAC uses a tag in pointers to sign and verify them, presenting a barrier to ROP, and when BTI is active only specific instructions can be branched to. Since PAC modifies pointers when it is active the unwinder has to undo the tagging to understand what's being pointed to, that's already there. --NMuMz9nt05w80d4+ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmAan3UACgkQJNaLcl1U h9CR6Af/a+hTHn/OAxEoRg8U3FQ8sbGU1efy2c412xJU7ZqPnGW5l96P6lNt4mXY 85GyLjKkQYBjZkC4t20+ug13zhghrfPoQt6sN+8nBjswZiOPqd/Zpwsznos8Eut/ 8On39npKp4ur2GziLiDkTXZT77zknCoDVtH/gpEhAURL7mDcnhmesHIqEKcgbM9S 3WvuL6K8FFnXfECt09m1s6qP8jD9h/l4CV6dIhz/Ievk6hLOpX4ucTcJGVduTqjv qa5xuLBioxKOC5PHo0iob9HaJClu9F5vCyPj8RdTxsyJs0TO6pW299UemUoOj40T Dw4EtudvTIp662frrw8FTbvr930r3Q== =DA8Q -----END PGP SIGNATURE----- --NMuMz9nt05w80d4+-- 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 X-Spam-Level: X-Spam-Status: No, score=-6.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 699D3C433E0 for ; Wed, 3 Feb 2021 13:07:01 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0A29B64E38 for ; Wed, 3 Feb 2021 13:07:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 0A29B64E38 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type:Cc: List-Subscribe:List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: In-Reply-To:MIME-Version:References:Message-ID:Subject:To:From:Date:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=c7eAVqOsALpMW+E1FJlNmzuH/XquH53UBQqxnrrMal4=; b=a2WIAQVQttCL092hnfZEFBU3P STd/RZq+vV3pYEUeYvclElivTDrtr1GSZZ+hnRCIac0bwTGfonUa6bzc+dwBmuO6vYPTnUvYs6JO4 VCG3YjLIAcAPD5xIbfMXGGV7UVm8pQJa2Y6ELdWNQ086X64dZXB4f9ulj44sqEHf6TmtTsddJCxQb Q1b/jfx/9f5RfS0MBZk3Bv+dXJDo0fcKQHZ20emUt4tn+gbnm5coDxFLjgxYJ4xI3WVMghjwYPuZD EvJsGFX2MLMpJ4mUfb/2womGc4O57vIKk6BQOkKZ6Rl29VwCfjpbuxpWxLFFtdmbx6cb9ydusjeLS Ir/5w3FVA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1l7Hqs-0007NI-2G; Wed, 03 Feb 2021 13:05:46 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1l7Hqo-0007MW-Rk for linux-arm-kernel@lists.infradead.org; Wed, 03 Feb 2021 13:05:43 +0000 Received: by mail.kernel.org (Postfix) with ESMTPSA id 89FE964E38; Wed, 3 Feb 2021 13:05:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1612357542; bh=OSBHuUI8og5Vfp1FBOELDBA9lFmC6WOrg2hzohSc4Ko=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=bE3VV0lsArjMZgba11em/bAn62/vpuKCIk3rBNO0syg2HdcvQ7i/ApMC6sC5QKKCV WDQE7DA5yWLZxF8/CTMufJKH9eifbJslYZ7ZRHtuY1y5m3WuoiW+AfmhJQKoUOlKRq TSHLPkiWb1BPJxPlnX2BjP4m5ocPnsl2HsZGu/GSSQRtOU4SM4HflfziC8yYMeV6OO yzvFKIaHdXMBIzrmWVJsAClnGAqh5wJqScIOKN1GeDC2cprQg9Ynw2sqzJ+CgN6XUn aKS/0P//pyCfY/ymysil2/T1msQSjHlso2GZBNGlqp+mAEWEEII72CAcRf+sZlyyXH DBUEofTmHtYfw== Date: Wed, 3 Feb 2021 13:04:53 +0000 From: Mark Brown To: Josh Poimboeuf Subject: Re: [RFC PATCH 12/17] gcc-plugins: objtool: Add plugin to detect switch table on arm64 Message-ID: <20210203130453.GB4880@sirena.org.uk> References: <20210120173800.1660730-13-jthierry@redhat.com> <20210127221557.1119744-1-ndesaulniers@google.com> <20210127232651.rj3mo7c2oqh4ytsr@treble> <20210201214423.dhsma73k7ccscovm@treble> <671f1aa9-975e-1bda-6768-259adbdc24c8@redhat.com> <20210203001414.idjrcrki7wmhndre@treble> MIME-Version: 1.0 In-Reply-To: <20210203001414.idjrcrki7wmhndre@treble> X-Cookie: Who was that masked man? User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210203_080542_986821_F444042F X-CRM114-Status: GOOD ( 13.10 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Bill Wendling , linux-efi , Julien Thierry , yonghyun@google.com, Peter Zijlstra , Catalin Marinas , Masahiro Yamada , Nick Desaulniers , LKML , clang-built-linux , raphael.gault@arm.com, Michal Marek , linux-hardening@vger.kernel.org, swine@google.com, Will Deacon , Ard Biesheuvel , Linux ARM , Kees Cook Content-Type: multipart/mixed; boundary="===============4114380910858992191==" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org --===============4114380910858992191== Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="NMuMz9nt05w80d4+" Content-Disposition: inline --NMuMz9nt05w80d4+ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Tue, Feb 02, 2021 at 06:14:14PM -0600, Josh Poimboeuf wrote: > On Tue, Feb 02, 2021 at 03:01:22PM -0800, Nick Desaulniers wrote: > > I wonder if PAC or BTI also make this slightly more complex? PAC at > > least has implications for unwinders, IIUC. > What is PAC/BTI? PAC and BTI are ARM architecture extensions. PAC uses a tag in pointers to sign and verify them, presenting a barrier to ROP, and when BTI is active only specific instructions can be branched to. Since PAC modifies pointers when it is active the unwinder has to undo the tagging to understand what's being pointed to, that's already there. --NMuMz9nt05w80d4+ Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmAan3UACgkQJNaLcl1U h9CR6Af/a+hTHn/OAxEoRg8U3FQ8sbGU1efy2c412xJU7ZqPnGW5l96P6lNt4mXY 85GyLjKkQYBjZkC4t20+ug13zhghrfPoQt6sN+8nBjswZiOPqd/Zpwsznos8Eut/ 8On39npKp4ur2GziLiDkTXZT77zknCoDVtH/gpEhAURL7mDcnhmesHIqEKcgbM9S 3WvuL6K8FFnXfECt09m1s6qP8jD9h/l4CV6dIhz/Ievk6hLOpX4ucTcJGVduTqjv qa5xuLBioxKOC5PHo0iob9HaJClu9F5vCyPj8RdTxsyJs0TO6pW299UemUoOj40T Dw4EtudvTIp662frrw8FTbvr930r3Q== =DA8Q -----END PGP SIGNATURE----- --NMuMz9nt05w80d4+-- --===============4114380910858992191== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel --===============4114380910858992191==--