From: Greg Kroah-Hartman Date: Wed, 17 May 2017 08:32:59 +0000 (+0200) Subject: remove queue-4.4/arm64-kvm-fix-decoding-of-rt-rt2-when-trapping-aarch32-cp-accesses... X-Git-Tag: v3.18.54~31 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bc85236740da0c728c2642bea356f46d010657d7;p=thirdparty%2Fkernel%2Fstable-queue.git remove queue-4.4/arm64-kvm-fix-decoding-of-rt-rt2-when-trapping-aarch32-cp-accesses.patch --- diff --git a/queue-4.4/arm64-kvm-fix-decoding-of-rt-rt2-when-trapping-aarch32-cp-accesses.patch b/queue-4.4/arm64-kvm-fix-decoding-of-rt-rt2-when-trapping-aarch32-cp-accesses.patch deleted file mode 100644 index e625630ac63..00000000000 --- a/queue-4.4/arm64-kvm-fix-decoding-of-rt-rt2-when-trapping-aarch32-cp-accesses.patch +++ /dev/null @@ -1,71 +0,0 @@ -From c667186f1c01ca8970c785888868b7ffd74e51ee Mon Sep 17 00:00:00 2001 -From: Marc Zyngier -Date: Thu, 27 Apr 2017 19:06:48 +0100 -Subject: arm64: KVM: Fix decoding of Rt/Rt2 when trapping AArch32 CP accesses - -From: Marc Zyngier - -commit c667186f1c01ca8970c785888868b7ffd74e51ee upstream. - -Our 32bit CP14/15 handling inherited some of the ARMv7 code for handling -the trapped system registers, completely missing the fact that the -fields for Rt and Rt2 are now 5 bit wide, and not 4... - -Let's fix it, and provide an accessor for the most common Rt case. - -Reviewed-by: Christoffer Dall -Signed-off-by: Marc Zyngier -Signed-off-by: Christoffer Dall -Signed-off-by: Greg Kroah-Hartman - ---- - arch/arm64/include/asm/kvm_emulate.h | 6 ++++++ - arch/arm64/kvm/sys_regs.c | 8 ++++---- - 2 files changed, 10 insertions(+), 4 deletions(-) - ---- a/arch/arm64/include/asm/kvm_emulate.h -+++ b/arch/arm64/include/asm/kvm_emulate.h -@@ -217,6 +217,12 @@ static inline u8 kvm_vcpu_trap_get_fault - return kvm_vcpu_get_hsr(vcpu) & ESR_ELx_FSC_TYPE; - } - -+static inline int kvm_vcpu_sys_get_rt(struct kvm_vcpu *vcpu) -+{ -+ u32 esr = kvm_vcpu_get_hsr(vcpu); -+ return (esr & ESR_ELx_SYS64_ISS_RT_MASK) >> ESR_ELx_SYS64_ISS_RT_SHIFT; -+} -+ - static inline unsigned long kvm_vcpu_get_mpidr_aff(struct kvm_vcpu *vcpu) - { - return vcpu_sys_reg(vcpu, MPIDR_EL1) & MPIDR_HWID_BITMASK; ---- a/arch/arm64/kvm/sys_regs.c -+++ b/arch/arm64/kvm/sys_regs.c -@@ -1054,8 +1054,8 @@ static int kvm_handle_cp_64(struct kvm_v - { - struct sys_reg_params params; - u32 hsr = kvm_vcpu_get_hsr(vcpu); -- int Rt = (hsr >> 5) & 0xf; -- int Rt2 = (hsr >> 10) & 0xf; -+ int Rt = kvm_vcpu_sys_get_rt(vcpu); -+ int Rt2 = (hsr >> 10) & 0x1f; - - params.is_aarch32 = true; - params.is_32bit = false; -@@ -1106,7 +1106,7 @@ static int kvm_handle_cp_32(struct kvm_v - { - struct sys_reg_params params; - u32 hsr = kvm_vcpu_get_hsr(vcpu); -- int Rt = (hsr >> 5) & 0xf; -+ int Rt = kvm_vcpu_sys_get_rt(vcpu); - - params.is_aarch32 = true; - params.is_32bit = true; -@@ -1221,7 +1221,7 @@ int kvm_handle_sys_reg(struct kvm_vcpu * - { - struct sys_reg_params params; - unsigned long esr = kvm_vcpu_get_hsr(vcpu); -- int Rt = (esr >> 5) & 0x1f; -+ int Rt = kvm_vcpu_sys_get_rt(vcpu); - int ret; - - trace_kvm_handle_sys_reg(esr); diff --git a/queue-4.4/series b/queue-4.4/series index 4a2fd7ece42..4b2a79eca80 100644 --- a/queue-4.4/series +++ b/queue-4.4/series @@ -22,7 +22,6 @@ x86-pmem-fix-cache-flushing-for-iovec-write-8-bytes.patch um-fix-ptrace_pokeuser-on-x86_64.patch kvm-x86-fix-user-triggerable-warning-in-kvm_apic_accept_events.patch kvm-arm-arm64-fix-races-in-kvm_psci_vcpu_on.patch -arm64-kvm-fix-decoding-of-rt-rt2-when-trapping-aarch32-cp-accesses.patch block-fix-blk_integrity_register-to-use-template-s-interval_exp-if-not-0.patch crypto-algif_aead-require-setkey-before-accept-2.patch dm-era-save-spacemap-metadata-root-after-the-pre-commit.patch