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=-4.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED 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 07FF8C433DF for ; Tue, 13 Oct 2020 12:11:14 +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 87D2A22202 for ; Tue, 13 Oct 2020 12:11:13 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="C+QqtgqB"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="dguFK4qO" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 87D2A22202 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: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-ID:References:In-Reply-To:Subject:To:From: Date:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=qg/gPzxQ0iTx+Y6R1Mp/2mobDgpZCPBoigLbUaIyYAE=; b=C+QqtgqBYfxg5hI+MQbEzV1pl QpqaYP0bx2R1wKMTcyScS85f7Vwmbobpvfpsftq92KhBPfiWS761/6KO3OvIHXYrdNEkU6QqLV7Ni Wim4dTVHfVJ2qOsMHtsq4ZhIZOsIOvBC2EfeA0NFQI2glDWl3dMry2OvxXPlWEGaVpxgoB5m+A6Q8 N2NWZzRrdSuDUwMCp6h9TQHgFfE0ItOL1gWNXWOG6HT9PIQz/GYPFfRgbblUVpvYp/l+Y7d2cWFt9 9HJBjUv6YqPkS322UV4bbz7tIpzMiLPaDA28AQz+mbHHjGYQsCItm3Pe8ZTzKlKEkVahbJ7L46jQM 8+KXvI9Pw==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1kSJ7p-0001QC-JJ; Tue, 13 Oct 2020 12:09:53 +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 1kSJ7m-0001PB-8C for linux-arm-kernel@lists.infradead.org; Tue, 13 Oct 2020 12:09:51 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 465CF21D6C; Tue, 13 Oct 2020 12:09:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1602590989; bh=qo+QfLR4H3hgMllp7V0/DI24KeRu5ExwQonOtD6C/a4=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=dguFK4qOzyEMMsR8gxfqmRjfn56mgjJEWzopDxcSmjlmIVSApv21F9QwuRZ0KgEiH 34wEYV8LZPGHglz6kHnFonKyNhplBNh8bvvb0wdnFSJFd8eL24T4jGGMl3iwySaH5+ RfZc19Cb6K9E1jBJcz1CnjSBzG2QhrEoqmlQuB0Q= Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kSJ7j-000p1i-4g; Tue, 13 Oct 2020 13:09:47 +0100 MIME-Version: 1.0 Date: Tue, 13 Oct 2020 13:09:47 +0100 From: Marc Zyngier To: Qais Yousef Subject: Re: [RFC PATCH 1/3] arm64: kvm: Handle Asymmetric AArch32 systems In-Reply-To: <20201013115953.gepxn5dbzrk6x6ec@e107158-lin> References: <20201008181641.32767-1-qais.yousef@arm.com> <20201008181641.32767-2-qais.yousef@arm.com> <7c058d22dce84ec7636863c1486b11d1@kernel.org> <20201009095857.cq3bmmobxeq3tm5z@e107158-lin.cambridge.arm.com> <63e379d1399b5c898828f6802ce3dca5@kernel.org> <20201009124817.i7u53qrntvu7l5zq@e107158-lin.cambridge.arm.com> <54379ee1-97b1-699b-9500-655164f2e083@arm.com> <8cdbcf81bae94f4b030e2906191d80af@kernel.org> <13eb5d05-9eaf-7640-cd44-cfd7f8820257@arm.com> <20201013115953.gepxn5dbzrk6x6ec@e107158-lin> User-Agent: Roundcube Webmail/1.4.9 Message-ID: <20fba6976710e00dc32164bf8af26164@kernel.org> X-Sender: maz@kernel.org X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: qais.yousef@arm.com, james.morse@arm.com, linux-arch@vger.kernel.org, will@kernel.org, peterz@infradead.org, catalin.marinas@arm.com, gregkh@linuxfoundation.org, torvalds@linux-foundation.org, morten.rasmussen@arm.com, linux-arm-kernel@lists.infradead.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-20201013_080950_559556_16DDF952 X-CRM114-Status: GOOD ( 22.94 ) 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: linux-arch@vger.kernel.org, "Peter Zijlstra \(Intel\)" , Greg Kroah-Hartman , Linus Torvalds , James Morse , Catalin Marinas , Will Deacon , Morten Rasmussen , linux-arm-kernel@lists.infradead.org Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On 2020-10-13 12:59, Qais Yousef wrote: > On 10/13/20 12:51, James Morse wrote: >> Hi Marc, >> >> On 13/10/2020 11:32, Marc Zyngier wrote: >> > On 2020-10-12 16:32, James Morse wrote: >> >> On 09/10/2020 13:48, Qais Yousef wrote: >> >>> On 10/09/20 13:34, Marc Zyngier wrote: >> >>>> You can try setting vcpu->arch.target to -1, which is already caught by >> >>>> kvm_vcpu_initialized() right at the top of this function. This will >> >> >> >>>> prevent any reentry unless the VMM issues a KVM_ARM_VCPU_INIT ioctl. >> >> >> >> This doesn't reset SPSR, so this lets the VMM restart the guest with a >> >> bad value. >> > >> > That's not my reading of the code. Without a valid target, you cannot enter >> > the guest (kvm_vcpu_initialized() prevents you to do so). To set the target, >> > you need to issue a KVM_ARM_VCPU_INIT ioctl, which eventually calls >> >> > kvm_reset_vcpu(), which does set PSTATE to something legal. >> >> aha! So it does, this is what I was missing. >> >> >> > Or do you mean the guest's SPSR_EL1? Why would that matter? >> > >> >> I think we should make it impossible to return to aarch32 from EL2 on >> >> these systems. >> > >> > And I'm saying that the above fulfills that requirement. Am I missing >> > something obvious? >> >> Nope, I was. >> >> I agree the check on entry from user-space isn't needed. > > Thanks both. > > So using the vcpu->arch.target = -1 is the best way forward. In my > experiments > when I did that I considered calling kvm_reset_vcpu() too, does it make > sense > to force the reset here too? Or too heavy handed? No, userspace should know about it and take action if it wants too. Trying to fix it behind the scenes is setting expectations, which I'd really like to avoid. M. -- Jazz is not dead. It just smells funny... _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel