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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DE992C433F5 for ; Wed, 5 Oct 2022 17:55:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:Date:Subject:CC :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=Q7ggQ98k/1WwHR4cZuIKrCrAVeLS4cx40iBTiyi+xKI=; b=oYCne+BMAsvoEY r50V3wHSzcUE9yW9p40o+EKHYGNAxJ0pFlXhb6MYu9WrsiWmZMRH1LQxskp1xVj9SCnqilM0y5Asc gEtZIrAi7YAzMraS1lf0nWNiMg8yb16VjLZC4WbJP233mvv1wxUqjtQGn7NXLkrlwoEAj9keytUhr iXeJOIBFToix0i7K0zLHXC73sYOh7Afdt9fEYzJHTlXoE7MgjXN7AY8jEYfW3uZcp122DWUt+U6gG iflXL9Fje13Z87IiE0x8hAt211IJ9Dc7V/+4f1e18BuLDEchr45WE/E2GvnW8o3GbtBaaG2K2Sx4F JpV78m6yzAt5KGCz+8cQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1og8al-00FYjM-Bb; Wed, 05 Oct 2022 17:54:00 +0000 Received: from mail-co1nam11on2047.outbound.protection.outlook.com ([40.107.220.47] helo=NAM11-CO1-obe.outbound.protection.outlook.com) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1og8ah-00FYi0-Dt for linux-arm-kernel@lists.infradead.org; Wed, 05 Oct 2022 17:53:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=iBQc6LhMCFgq3/lWBTwlqaNM3oTVGePABLh6V2nrR6jTpcJUk1sLYcLPetwggkC6jZy0cWy+9BZqgH0GAJEGwqsyII94GfafTypX+qcFDkZwl4vwJQLni2xXB/VyijU2bxVA49GoZI64XgZhfJroucCWVERC8VKAgIKeSgYVdkEawoBqO9F/BfUEQiw73yRPT9xe1F+gkQII0SVnuu2MilCWVU0m2oBhWX/ttIcfbx1QexGNT0u963uu3btkUK2KBKpP8QFrxsGwi/uVCFhcP5GTX3s+2f5/kvttH6ayHdkkCRR4odam6ZC2CFbOtYsFydQHqC7KPxpT4mj5WOeerQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0yZgKqtuIBS3gxNTrEbtTb14/ltvH7IaqtpDmVlgfgE=; b=JcrXnLgez7vuF7qnARYf4YaTz6m+Eh7HONTp3Wufolz82LmlYM50xMofdpU52sE62ioNH4Pon25tCYuDnRs/Xh37MpedXjm9rjvv0G8ssWYr0LTKU1KRcjaiNvoBOSGPxopDYW0TpzAGd/NtNLO6Fx77mwrj+Gfk7PYoe9dGc/faC5nO1Mw8ADmq8LWfFdYzxmA2pJkPKWFE2HUolVJQNdrO7sKiFxCVx2rBkcr9EBFHFiwxeA7DuC1DyyBvGBNa/qpqHv22VxSuZbs4IEAdL++DQk6ism+03cmB6Toc1r0iATqF3594lqyDzuKckC+s2JUt2gi2h8khvot2IHVg7Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=lists.infradead.org smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0yZgKqtuIBS3gxNTrEbtTb14/ltvH7IaqtpDmVlgfgE=; b=KUkprNBFcfzgTTK8wKZbVEjl4Z6aGqx/YOJyRidyUpQ8surjXEyEZgkzW2xrvq8Pjk6ysrK4ieR8ehZ+BnOZotI2uICpvPn8VePYKV+vyDzQAr4MQkaKD6e2VcIt36DwBdSVHvbbDEGNjVgZWAs4mIC43+4BGjC6cUIWG/zlFfAqoyU+zfunyMQz9o43H489KlkxyQr3Mj8UrcqArjnuM4Q7xKJ9i+REBNNEceEYjHjEYFMJeU2iTASExtP4KzSYyXsycu0lauhuSs0uvn/NWVJhqpTbU/SKaH4ujwsp8+eJR23svhxn5UbT/RCEASiyPk1b8/Y032vMdC/O1NRw+g== Received: from BN9PR03CA0868.namprd03.prod.outlook.com (2603:10b6:408:13d::33) by CO6PR12MB5428.namprd12.prod.outlook.com (2603:10b6:5:35c::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.24; Wed, 5 Oct 2022 17:53:51 +0000 Received: from BL02EPF0000C409.namprd05.prod.outlook.com (2603:10b6:408:13d:cafe::55) by BN9PR03CA0868.outlook.office365.com (2603:10b6:408:13d::33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.31 via Frontend Transport; Wed, 5 Oct 2022 17:53:50 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by BL02EPF0000C409.mail.protection.outlook.com (10.167.241.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.17 via Frontend Transport; Wed, 5 Oct 2022 17:53:50 +0000 Received: from rnnvmail203.nvidia.com (10.129.68.9) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.26; Wed, 5 Oct 2022 10:53:27 -0700 Received: from rnnvmail202.nvidia.com (10.129.68.7) by rnnvmail203.nvidia.com (10.129.68.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.29; Wed, 5 Oct 2022 10:53:26 -0700 Received: from rwileyLinux.nvidia.com (10.127.8.14) by mail.nvidia.com (10.129.68.7) with Microsoft SMTP Server id 15.2.986.29 via Frontend Transport; Wed, 5 Oct 2022 10:53:26 -0700 From: Rich Wiley To: CC: , , Rich Wiley Subject: [PATCH v2] kernel: arm64: add Spectre-V2 mitigation cb for NV CPUs Date: Wed, 5 Oct 2022 10:53:19 -0700 Message-ID: <20221005175319.20565-1-rwiley@nvidia.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL02EPF0000C409:EE_|CO6PR12MB5428:EE_ X-MS-Office365-Filtering-Correlation-Id: 43278218-1f27-465a-c825-08daa6fa8f51 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: KIK4p0AnCr1l/1EDkl+EvwVkRLLDuLR2qmgn1XWDUxF38NIoyTZqoFKYxh9lP6H0iXQ/Hcogp8dpC9MKRG2/nNmV/miA1xd84PY3f7VPqccfWkq6scSHkEUNI6nRd1OjeimnT+oA14ZpULgzVbk3r92dJMX8QoWrZYsTFwwTFtlIBD9EFwr/AWBs/UGhgymjWLexz5/HDwUZNGFKqojX/1MMGEGCAkOAqtEzsb2VKdxDBAbZM9VvpzjLA8REImdzQq3niaHc7jByR2ujD1Bm9BHmJJpV+Z/MhmfEo1PE2xOvpSGVK2mpSlusdaw7nocnPUiDaZ5ChnWKv0HOOSPhPtW8swELA/nGsIlf59zdt95CSHlIRuDETOJkEt3A01vI942m8cv5Oq7VjtR5gomsFA8k3xvNhMoru70tZGhq3+n7jJGMsDUzP525bqdtCLT8RfkDM5HvwKqQSMv0nuj6CVNv77mveNhdxgiwZ4lXs/+7sv8Qn+qn0Xr+Y4aTuCuyGvOf/SIo7JDsjURQJb63umWiXe5RQA4kzD+KFBwYgKeT6QyJwyRDVTPfrmPS8F9GWf3ub9mfpin6VU/TUSQ/ZsjkMUUSNsbUypxEGH6j0JK7Hg+2YXB4zL3igzinDb7Kk3H3c1XVQWYMAzZqAFipY3iVhfIhiv4enbAaQrxBU2T9aPJ8oiAxeeVw7+0EIP+Vk0RlRHxoWJ7ZTVafy1Lau0LEIQTqTPlMpTz/z1Vt/l9RB7EWqQedNsyBfnAptwNyq9XYKL47kWrRq9t5qWZHcg== X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230022)(4636009)(136003)(39860400002)(346002)(376002)(396003)(451199015)(36840700001)(40470700004)(46966006)(5660300002)(86362001)(83380400001)(47076005)(82310400005)(426003)(1076003)(2616005)(7636003)(40460700003)(26005)(82740400003)(36756003)(6916009)(356005)(54906003)(336012)(36860700001)(7696005)(4326008)(70206006)(70586007)(186003)(8676002)(316002)(2906002)(40480700001)(107886003)(8936002)(41300700001)(478600001)(6666004);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Oct 2022 17:53:50.0382 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 43278218-1f27-465a-c825-08daa6fa8f51 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL02EPF0000C409.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO6PR12MB5428 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221005_105355_507714_EA92C8E4 X-CRM114-Status: UNSURE ( 9.62 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org NVIDIA cores can flush indirect branch predictors with a sysreg write that can be done from the kernel without the need for a FW call. Given that NVIDIA cores are not susceptible to CVE-2022-23960 and FW mitigation is not required for CVE-2017-5715, ATF can report via SMCCC_ARCH_WORKAROUND_3 that FW mitigation is not required for either. Fixes: commit ba2689234be9 ("arm64: entry: Add vectors that have the bhb mitigation sequences") Signed-off-by: Rich Wiley --- arch/arm64/kernel/proton-pack.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/arch/arm64/kernel/proton-pack.c b/arch/arm64/kernel/proton-pack.c index 40be3a7c2c53..0de77b0ff8d4 100644 --- a/arch/arm64/kernel/proton-pack.c +++ b/arch/arm64/kernel/proton-pack.c @@ -258,14 +258,26 @@ static noinstr void qcom_link_stack_sanitisation(void) : "=&r" (tmp)); } +/* Called during entry so must be noinstr */ +static noinstr void nvidia_indirect_branch_pred_flush(void) +{ + asm volatile("msr s3_0_c15_c0_6, %0" :: "r" (0x1UL)); + isb(); +} + static bp_hardening_cb_t spectre_v2_get_sw_mitigation_cb(void) { u32 midr = read_cpuid_id(); - if (((midr & MIDR_CPU_MODEL_MASK) != MIDR_QCOM_FALKOR) && - ((midr & MIDR_CPU_MODEL_MASK) != MIDR_QCOM_FALKOR_V1)) - return NULL; + if (((midr & MIDR_CPU_MODEL_MASK) == MIDR_QCOM_FALKOR) || + ((midr & MIDR_CPU_MODEL_MASK) == MIDR_QCOM_FALKOR_V1)) + return qcom_link_stack_sanitisation; + + if (((midr & MIDR_CPU_MODEL_MASK) == MIDR_NVIDIA_DENVER) || + ((midr & MIDR_CPU_MODEL_MASK) == MIDR_NVIDIA_CARMEL)) + return nvidia_indirect_branch_pred_flush; + + return NULL; - return qcom_link_stack_sanitisation; } static enum mitigation_state spectre_v2_enable_fw_mitigation(void) -- 2.17.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel