From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.linuxfoundation.org ([140.211.169.12]:34766 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751800AbeAVI42 (ORCPT ); Mon, 22 Jan 2018 03:56:28 -0500 Date: Mon, 22 Jan 2018 09:56:27 +0100 From: Greg KH To: Marc Zyngier Cc: christoffer.dall@linaro.org, stable@vger.kernel.org, stable-commits@vger.kernel.org Subject: Re: Patch "arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls" has been added to the 3.18-stable tree Message-ID: <20180122085627.GA4225@kroah.com> References: <1516537959207205@kroah.com> <13753b3f-520a-4f3b-df7f-03c2fd4833c1@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <13753b3f-520a-4f3b-df7f-03c2fd4833c1@arm.com> Sender: stable-owner@vger.kernel.org List-ID: On Mon, Jan 22, 2018 at 08:54:01AM +0000, Marc Zyngier wrote: > On 21/01/18 12:32, gregkh@linuxfoundation.org wrote: > > > > This is a note to let you know that I've just added the patch titled > > > > arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls > > > > to the 3.18-stable tree which can be found at: > > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > > > > The filename of the patch is: > > arm64-kvm-fix-smccc-handling-of-unimplemented-smc-hvc-calls.patch > > and it can be found in the queue-3.18 subdirectory. > > > > If you, or anyone else, feels it should not be added to the stable tree, > > please let know about it. > > > > > > From acfb3b883f6d6a4b5d27ad7fdded11f6a09ae6dd Mon Sep 17 00:00:00 2001 > > From: Marc Zyngier > > Date: Tue, 16 Jan 2018 10:23:47 +0000 > > Subject: arm64: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls > > > > From: Marc Zyngier > > > > commit acfb3b883f6d6a4b5d27ad7fdded11f6a09ae6dd upstream. > > > > KVM doesn't follow the SMCCC when it comes to unimplemented calls, > > and inject an UNDEF instead of returning an error. Since firmware > > calls are now used for security mitigation, they are becoming more > > common, and the undef is counter productive. > > > > Instead, let's follow the SMCCC which states that -1 must be returned > > to the caller when getting an unknown function number. > > > > Signed-off-by: Marc Zyngier > > Signed-off-by: Christoffer Dall > > Signed-off-by: Greg Kroah-Hartman > > > > --- > > arch/arm64/kvm/handle_exit.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > --- a/arch/arm64/kvm/handle_exit.c > > +++ b/arch/arm64/kvm/handle_exit.c > > @@ -34,7 +34,7 @@ static int handle_hvc(struct kvm_vcpu *v > > > > ret = kvm_psci_call(vcpu); > > if (ret < 0) { > > - kvm_inject_undefined(vcpu); > > + vcpu_set_reg(vcpu, 0, ~0UL); > > return 1; > > } > > > > @@ -43,7 +43,7 @@ static int handle_hvc(struct kvm_vcpu *v > > > > static int handle_smc(struct kvm_vcpu *vcpu, struct kvm_run *run) > > { > > - kvm_inject_undefined(vcpu); > > + vcpu_set_reg(vcpu, 0, ~0UL); > > return 1; > > } > > > > > > > > Patches currently in stable-queue which might be from marc.zyngier@arm.com are > > > > queue-3.18/arm64-kvm-fix-smccc-handling-of-unimplemented-smc-hvc-calls.patch > > This doesn't compile on 3.18. Here's the 3.18 fix: Ah, nice, thanks for this, I had dropped it assuming it wasn't needed there. I'll go queue this up now. greg k-h