]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop broken arm kvm patch from 3.18
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Feb 2018 19:14:09 +0000 (20:14 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Feb 2018 19:14:09 +0000 (20:14 +0100)
queue-3.18/arm-kvm-fix-smccc-handling-of-unimplemented-smc-hvc-calls.patch [deleted file]
queue-3.18/series

diff --git a/queue-3.18/arm-kvm-fix-smccc-handling-of-unimplemented-smc-hvc-calls.patch b/queue-3.18/arm-kvm-fix-smccc-handling-of-unimplemented-smc-hvc-calls.patch
deleted file mode 100644 (file)
index 8340351..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-From 20e8175d246e9f9deb377f2784b3e7dfb2ad3e86 Mon Sep 17 00:00:00 2001
-From: Marc Zyngier <marc.zyngier@arm.com>
-Date: Tue, 6 Feb 2018 17:56:06 +0000
-Subject: arm: KVM: Fix SMCCC handling of unimplemented SMC/HVC calls
-
-From: Marc Zyngier <marc.zyngier@arm.com>
-
-commit 20e8175d246e9f9deb377f2784b3e7dfb2ad3e86 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.
-
-Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
-Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
-Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-
----
- arch/arm/kvm/handle_exit.c |   13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
---- a/arch/arm/kvm/handle_exit.c
-+++ b/arch/arm/kvm/handle_exit.c
-@@ -45,7 +45,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;
-       }
-@@ -54,7 +54,16 @@ static int handle_hvc(struct kvm_vcpu *v
- static int handle_smc(struct kvm_vcpu *vcpu, struct kvm_run *run)
- {
--      kvm_inject_undefined(vcpu);
-+      /*
-+       * "If an SMC instruction executed at Non-secure EL1 is
-+       * trapped to EL2 because HCR_EL2.TSC is 1, the exception is a
-+       * Trap exception, not a Secure Monitor Call exception [...]"
-+       *
-+       * We need to advance the PC after the trap, as it would
-+       * otherwise return to the same address...
-+       */
-+      vcpu_set_reg(vcpu, 0, ~0UL);
-+      kvm_skip_instr(vcpu, kvm_vcpu_trap_il_is32bit(vcpu));
-       return 1;
- }
index 7eac3215f158b1b017b77964487314206ca17f01..f4795f48835310a42e89e3e03ada774244d7a5fc 100644 (file)
@@ -31,7 +31,6 @@ kernfs-fix-regression-in-kernfs_fop_write-caused-by-wrong-type.patch
 crypto-hash-introduce-crypto_hash_alg_has_setkey.patch
 crypto-cryptd-pass-through-absence-of-setkey.patch
 crypto-caam-fix-endless-loop-when-deco-acquire-fails.patch
-arm-kvm-fix-smccc-handling-of-unimplemented-smc-hvc-calls.patch
 media-cxusb-dib0700-ignore-xc2028_i2c_flush.patch
 kernel-async.c-revert-async-simplify-lowest_in_progress.patch
 signal-openrisc-fix-do_unaligned_access-to-send-the-proper-signal.patch