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 213E0C761A6 for ; Thu, 30 Mar 2023 10:05:39 +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=iSnY11bYxOF+FemfGXSfrnmfIhtfYkW72DbWaho2LdE=; b=IbgnKXaiCT9ji8 SjoCQXFGgxO7WNzDEm+fEgV4SPFvFNbHPTkh1c/egvngAzZbKkR6AqE8FE2taaLR1kWAiMBoOCb1n ac98foWKuLeCwARDORFpan6Sm8nyyz/qcdErgrp7OFCQCrD9GbN/wE3V1U/Itk37otv6Jzx6ycLd3 C0cihBKq6M/KT6B5GUsH1LCW3y/yZKEbSHMxg18fFdL5ksoWZYz9tJISMVcEmxBDarPuSoK+HUzI4 kDmfred2gQzoOaXkIXyfuMeLRJNST27fQuQ1vSal7Y9KUdCZZ/L3z8qVJ6x1aWbZjT9HkYyUTzW5h 0QpyJNn9qSr8Voo93U5Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1php9L-003OfM-0R; Thu, 30 Mar 2023 10:04:55 +0000 Received: from ams.source.kernel.org ([145.40.68.75]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1php8z-003OVz-13 for linux-arm-kernel@lists.infradead.org; Thu, 30 Mar 2023 10:04:36 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id A5C9EB82586; Thu, 30 Mar 2023 10:04:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 457BBC4339B; Thu, 30 Mar 2023 10:04:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1680170670; bh=9P7LkQLEWlJTRm6xqtW1xlMAqA5p/B8OqoSHBTb8hIM=; h=From:To:Cc:Subject:Date:From; b=B6AYk+kSbeM0du1oo6Z9QHG75LZLVn9Msm04oSJ9q2oVaaDpkHOmNk6viLKxvLYfK ZGRocDCBUI1rfEZ0UKJpcj2rOOms0hMn74jmQ72XWHS3ZHYQUWn9SaYzOIT4jKsPU2 ZEXgXJJ025BRG3Z4X5+9oM0jyJr6ntNJprlM9f8fkWVQTKvx3H7jQpDGIFSvnBD/be dc5N+Sh1D5t7UlunvG4oUzPXF3N53taksJ/mMWsaugsAT/wR7HC6DiqSszIRNOZXkR vImVZHQnr+e/0yOv55LJUaxzIhB1Imm6Wo42eT/L/5PqxkFBmi9Ismu0Fmto2JW6Jo wVoa+oXTPBBqw== Received: from sofa.misterjones.org ([185.219.108.64] helo=valley-girl.lan) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.95) (envelope-from ) id 1php8t-004K66-Sm; Thu, 30 Mar 2023 11:04:27 +0100 From: Marc Zyngier To: kvmarm@lists.linux.dev, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: James Morse , Suzuki K Poulose , Oliver Upton , Zenghui Yu , Will Deacon Subject: [PATCH 0/2] KVM: arm64: Synchronise speculative page table walks on translation regime change Date: Thu, 30 Mar 2023 11:04:17 +0100 Message-Id: <20230330100419.1436629-1-maz@kernel.org> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-SA-Exim-Connect-IP: 185.219.108.64 X-SA-Exim-Rcpt-To: kvmarm@lists.linux.dev, kvm@vger.kernel.org, linux-arm-kernel@lists.infradead.org, james.morse@arm.com, suzuki.poulose@arm.com, oliver.upton@linux.dev, yuzenghui@huawei.com, will@kernel.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230330_030433_539371_E31680D8 X-CRM114-Status: GOOD ( 13.61 ) 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 It recently became apparent that the way we switch our EL1&0 translation regime is not entirely fool proof. On taking an exception from EL1&0 to EL2(&0), the page table walker is allowed to carry on with speculative walks started from EL1&0 while running at EL2 (see R_LFHQG). Given that the PTW may be actively using the EL1&0 system registers, the only safe way to deal with it is to issue a DSB before changing any of it. We already did the right thing for SPE and TRBE, but ignored the PTW for unknown reasons (probably because the architecture wasn't crystal clear at the time). This requires a bit of surgery in the nvhe code, though most of these patches are comments so that my future self can understand the purpose of these barriers. The VHE code is largely unaffected, thanks to the DSB in the context switch. Marc Zyngier (2): KVM: arm64: nvhe: Synchronise with page table walker on MMU update KVM: arm64: vhe: Synchronise with page table walker on MMU update arch/arm64/kvm/hyp/nvhe/debug-sr.c | 2 -- arch/arm64/kvm/hyp/nvhe/mem_protect.c | 7 +++++++ arch/arm64/kvm/hyp/nvhe/switch.c | 18 ++++++++++++++++++ arch/arm64/kvm/hyp/nvhe/tlb.c | 7 +++++++ arch/arm64/kvm/hyp/vhe/sysreg-sr.c | 12 ++++++++++++ 5 files changed, 44 insertions(+), 2 deletions(-) -- 2.34.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel