diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2018-07-03 22:25:04 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2018-07-03 22:25:04 -0400 |
commit | 50f3702b91778c6d11e435462a805073e01a6d07 (patch) | |
tree | ffeb6ef6aa2402d30b714a3eb37e0fd777ed7a18 | |
parent | 3b22368fa25d61f9dc8c4c4578e5f04026c27e21 (diff) | |
download | longterm-queue-4.12-50f3702b91778c6d11e435462a805073e01a6d07.tar.gz |
arm[64]: drop KVM patches n/a to 4.12
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r-- | queue/arm-KVM-Fix-VTTBR_BADDR_MASK-BUG_ON-off-by-one.patch | 39 | ||||
-rw-r--r-- | queue/arm64-KVM-fix-VTTBR_BADDR_MASK-BUG_ON-off-by-one.patch | 52 | ||||
-rw-r--r-- | queue/series | 2 |
3 files changed, 0 insertions, 93 deletions
diff --git a/queue/arm-KVM-Fix-VTTBR_BADDR_MASK-BUG_ON-off-by-one.patch b/queue/arm-KVM-Fix-VTTBR_BADDR_MASK-BUG_ON-off-by-one.patch deleted file mode 100644 index 04f907d..0000000 --- a/queue/arm-KVM-Fix-VTTBR_BADDR_MASK-BUG_ON-off-by-one.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 5553b142be11e794ebc0805950b2e8313f93d718 Mon Sep 17 00:00:00 2001 -From: Marc Zyngier <marc.zyngier@arm.com> -Date: Thu, 16 Nov 2017 17:58:21 +0000 -Subject: [PATCH] arm: KVM: Fix VTTBR_BADDR_MASK BUG_ON off-by-one - -commit 5553b142be11e794ebc0805950b2e8313f93d718 upstream. - -VTTBR_BADDR_MASK is used to sanity check the size and alignment of the -VTTBR address. It seems to currently be off by one, thereby only -allowing up to 39-bit addresses (instead of 40-bit) and also -insufficiently checking the alignment. This patch fixes it. - -This patch is the 32bit pendent of Kristina's arm64 fix, and -she deserves the actual kudos for pinpointing that one. - -Fixes: f7ed45be3ba52 ("KVM: ARM: World-switch implementation") -Cc: <stable@vger.kernel.org> # 3.9 -Reported-by: Kristina Martsenko <kristina.martsenko@arm.com> -Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org> -Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> -Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> - -diff --git a/arch/arm/include/asm/kvm_arm.h b/arch/arm/include/asm/kvm_arm.h -index c8781450905b..3ab8b3781bfe 100644 ---- a/arch/arm/include/asm/kvm_arm.h -+++ b/arch/arm/include/asm/kvm_arm.h -@@ -161,8 +161,7 @@ - #else - #define VTTBR_X (5 - KVM_T0SZ) - #endif --#define VTTBR_BADDR_SHIFT (VTTBR_X - 1) --#define VTTBR_BADDR_MASK (((_AC(1, ULL) << (40 - VTTBR_X)) - 1) << VTTBR_BADDR_SHIFT) -+#define VTTBR_BADDR_MASK (((_AC(1, ULL) << (40 - VTTBR_X)) - 1) << VTTBR_X) - #define VTTBR_VMID_SHIFT _AC(48, ULL) - #define VTTBR_VMID_MASK(size) (_AT(u64, (1 << size) - 1) << VTTBR_VMID_SHIFT) - --- -2.15.0 - diff --git a/queue/arm64-KVM-fix-VTTBR_BADDR_MASK-BUG_ON-off-by-one.patch b/queue/arm64-KVM-fix-VTTBR_BADDR_MASK-BUG_ON-off-by-one.patch deleted file mode 100644 index acb9923..0000000 --- a/queue/arm64-KVM-fix-VTTBR_BADDR_MASK-BUG_ON-off-by-one.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 26aa7b3b1c0fb3f1a6176a0c1847204ef4355693 Mon Sep 17 00:00:00 2001 -From: Kristina Martsenko <kristina.martsenko@arm.com> -Date: Thu, 16 Nov 2017 17:58:20 +0000 -Subject: [PATCH] arm64: KVM: fix VTTBR_BADDR_MASK BUG_ON off-by-one - -commit 26aa7b3b1c0fb3f1a6176a0c1847204ef4355693 upstream. - -VTTBR_BADDR_MASK is used to sanity check the size and alignment of the -VTTBR address. It seems to currently be off by one, thereby only -allowing up to 47-bit addresses (instead of 48-bit) and also -insufficiently checking the alignment. This patch fixes it. - -As an example, with 4k pages, before this patch we have: - - PHYS_MASK_SHIFT = 48 - VTTBR_X = 37 - 24 = 13 - VTTBR_BADDR_SHIFT = 13 - 1 = 12 - VTTBR_BADDR_MASK = ((1 << 35) - 1) << 12 = 0x00007ffffffff000 - -Which is wrong, because the mask doesn't allow bit 47 of the VTTBR -address to be set, and only requires the address to be 12-bit (4k) -aligned, while it actually needs to be 13-bit (8k) aligned because we -concatenate two 4k tables. - -With this patch, the mask becomes 0x0000ffffffffe000, which is what we -want. - -Fixes: 0369f6a34b9f ("arm64: KVM: EL2 register definitions") -Cc: <stable@vger.kernel.org> # 3.11.x -Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> -Reviewed-by: Christoffer Dall <christoffer.dall@linaro.org> -Signed-off-by: Kristina Martsenko <kristina.martsenko@arm.com> -Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> -Signed-off-by: Christoffer Dall <christoffer.dall@linaro.org> - -diff --git a/arch/arm64/include/asm/kvm_arm.h b/arch/arm64/include/asm/kvm_arm.h -index 7f069ff37f06..715d395ef45b 100644 ---- a/arch/arm64/include/asm/kvm_arm.h -+++ b/arch/arm64/include/asm/kvm_arm.h -@@ -170,8 +170,7 @@ - #define VTCR_EL2_FLAGS (VTCR_EL2_COMMON_BITS | VTCR_EL2_TGRAN_FLAGS) - #define VTTBR_X (VTTBR_X_TGRAN_MAGIC - VTCR_EL2_T0SZ_IPA) - --#define VTTBR_BADDR_SHIFT (VTTBR_X - 1) --#define VTTBR_BADDR_MASK (((UL(1) << (PHYS_MASK_SHIFT - VTTBR_X)) - 1) << VTTBR_BADDR_SHIFT) -+#define VTTBR_BADDR_MASK (((UL(1) << (PHYS_MASK_SHIFT - VTTBR_X)) - 1) << VTTBR_X) - #define VTTBR_VMID_SHIFT (UL(48)) - #define VTTBR_VMID_MASK(size) (_AT(u64, (1 << size) - 1) << VTTBR_VMID_SHIFT) - --- -2.15.0 - diff --git a/queue/series b/queue/series index 72a4155..4269f5b 100644 --- a/queue/series +++ b/queue/series @@ -51,8 +51,6 @@ kdb-Fix-handling-of-kallsyms_symbol_next-return-valu.patch drm-bridge-analogix-dp-Fix-runtime-PM-state-in-get_m.patch drm-exynos-gem-Drop-NONCONTIG-flag-for-buffers-alloc.patch media-dvb-i2c-transfers-over-usb-cannot-be-done-from.patch -arm64-KVM-fix-VTTBR_BADDR_MASK-BUG_ON-off-by-one.patch -arm-KVM-Fix-VTTBR_BADDR_MASK-BUG_ON-off-by-one.patch KVM-VMX-remove-I-O-port-0x80-bypass-on-Intel-hosts.patch KVM-arm-arm64-Fix-broken-GICH_ELRSR-big-endian-conve.patch KVM-arm-arm64-vgic-Preserve-the-revious-read-from-th.patch |