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=-2.3 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,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 0663CC35254 for ; Mon, 10 Feb 2020 18:03:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CEAB620715 for ; Mon, 10 Feb 2020 18:03:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727659AbgBJSDe (ORCPT ); Mon, 10 Feb 2020 13:03:34 -0500 Received: from foss.arm.com ([217.140.110.172]:37176 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726950AbgBJSDd (ORCPT ); Mon, 10 Feb 2020 13:03:33 -0500 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 EE7601FB; Mon, 10 Feb 2020 10:03:32 -0800 (PST) Received: from lakrids.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A0C3D3F68F; Mon, 10 Feb 2020 10:03:30 -0800 (PST) Date: Mon, 10 Feb 2020 18:03:28 +0000 From: Mark Rutland To: Will Deacon Cc: James Morse , Sami Tolvanen , Catalin Marinas , Steven Rostedt , Masami Hiramatsu , Ard Biesheuvel , Dave Martin , Kees Cook , Laura Abbott , Marc Zyngier , Nick Desaulniers , Jann Horn , Miguel Ojeda , Masahiro Yamada , clang-built-linux@googlegroups.com, kernel-hardening@lists.openwall.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v7 09/11] arm64: disable SCS for hypervisor code Message-ID: <20200210180327.GB20840@lakrids.cambridge.arm.com> References: <20191018161033.261971-1-samitolvanen@google.com> <20200128184934.77625-1-samitolvanen@google.com> <20200128184934.77625-10-samitolvanen@google.com> <6f62b3c0-e796-e91c-f53b-23bd80fcb065@arm.com> <20200210175214.GA23318@willie-the-truck> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200210175214.GA23318@willie-the-truck> User-Agent: Mutt/1.11.1+11 (2f07cb52) (2018-12-01) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 10, 2020 at 05:52:15PM +0000, Will Deacon wrote: > On Mon, Feb 10, 2020 at 05:18:58PM +0000, James Morse wrote: > > On 28/01/2020 18:49, Sami Tolvanen wrote: > > > Filter out CC_FLAGS_SCS and -ffixed-x18 for code that runs at a > > > different exception level. > > > > Hmmm, there are two things being disabled here. > > > > Stashing the lr in memory pointed to by VA won't work transparently at EL2 ... but > > shouldn't KVM's C code still treat x18 as a fixed register? > > My review of v6 suggested dropping the -ffixed-x18 as well, since it's only > introduced by SCS (in patch 5) and so isn't required by anything else. Why > do you think it's needed? When EL1 code calls up to hyp, it expects x18 to be preserved across the call, so hyp needs to either preserve it explicitly across a transitions from/to EL1 or always preserve it. The latter is easiest since any code used by VHE hyp code will need x18 saved anyway (ans so any common hyp code needs to). Thanks, Mark.