From patchwork Thu Sep 26 18:37:58 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Julien Grall X-Patchwork-Id: 11163235 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 387171800 for ; Thu, 26 Sep 2019 18:39:51 +0000 (UTC) Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (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 1E14A206E0 for ; Thu, 26 Sep 2019 18:39:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 1E14A206E0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iDYef-0002O0-Sk; Thu, 26 Sep 2019 18:38:17 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1iDYed-0002Nq-Us for xen-devel@lists.xenproject.org; Thu, 26 Sep 2019 18:38:15 +0000 X-Inumbo-ID: cc0d7a8a-e08c-11e9-b588-bc764e2007e4 Received: from foss.arm.com (unknown [217.140.110.172]) by localhost (Halon) with ESMTP id cc0d7a8a-e08c-11e9-b588-bc764e2007e4; Thu, 26 Sep 2019 18:38:13 +0000 (UTC) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 4F873142F; Thu, 26 Sep 2019 11:38:13 -0700 (PDT) Received: from e108454-lin.cambridge.arm.com (e108454-lin.cambridge.arm.com [10.1.196.50]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 30AE33F67D; Thu, 26 Sep 2019 11:38:12 -0700 (PDT) From: Julien Grall To: xen-devel@lists.xenproject.org Date: Thu, 26 Sep 2019 19:37:58 +0100 Message-Id: <20190926183808.11630-1-julien.grall@arm.com> X-Mailer: git-send-email 2.11.0 Subject: [Xen-devel] [PATCH RFC for-4.13 00/10] xen/arm: XSA-201 and XSA-263 fixes X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: jgross@suse.com, Stefano Stabellini , Konrad Rzeszutek Wilk , andrii.anisov@gmail.com, Ross Lagerwall , Julien Grall , Volodymyr Babchuk MIME-Version: 1.0 Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" Hi all, This patch series aims to fix two bugs in the entry path from the guest: 1) Make sure that SSBD workaround is enabled before executing any hypervisor code 2) Avoid guest state corruption when an virtual SError is received The full series is candidate for Xen 4.13. Without it, the hypervisor would not be properly protected against SSB vulnerability and the guest state may get corrupted if an SError is received. This is in RFC state because the entry code is now quite different and arm32 changes are not yet implemented. I will modify arm32 once we agreed on the approach. Cheers, Cc: jgross@suse.com Julien Grall (9): xen/arm64: entry: Introduce a macro to generate guest vector and use it xen/arm64: head: Check if an SError is pending when receiving a vSError xen/arm: traps: Rework entry/exit from the guest path xen/arm: Ensure the SSBD workaround is re-enabled right after exiting a guest xen/arm: alternative: Remove unused parameter for alternative_if_not_cap xen/arm: Move ARCH_PATCH_INSN_SIZE out of the header livepatch.h xen/arm: Allow insn.h to be called from assembly xen/arm: asm: Replace use of ALTERNATIVE with alternative_if xen/arm64: entry: Ensure the guest state is synced when receiving a vSError Mark Rutland (1): xen/arm: alternative: add auto-nop infrastructure xen/arch/arm/alternative.c | 2 - xen/arch/arm/arm32/entry.S | 9 ++- xen/arch/arm/arm64/entry.S | 121 +++++++++++++++----------------------- xen/arch/arm/traps.c | 81 +++++++++++++------------ xen/include/asm-arm/alternative.h | 74 ++++++++++++++++------- xen/include/asm-arm/insn.h | 11 ++++ xen/include/asm-arm/livepatch.h | 4 +- xen/include/asm-arm/macros.h | 7 +++ 8 files changed, 172 insertions(+), 137 deletions(-)