]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop broken arm64 patch
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 29 Mar 2021 10:10:47 +0000 (12:10 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 29 Mar 2021 10:10:47 +0000 (12:10 +0200)
queue-5.10/arm64-mm-correct-the-inside-linear-map-range-during-.patch [deleted file]
queue-5.10/arm64-mm-define-arch_get_mappable_range.patch [deleted file]
queue-5.10/series
queue-5.11/arm64-mm-correct-the-inside-linear-map-range-during-.patch [deleted file]
queue-5.11/arm64-mm-define-arch_get_mappable_range.patch [deleted file]
queue-5.11/series

diff --git a/queue-5.10/arm64-mm-correct-the-inside-linear-map-range-during-.patch b/queue-5.10/arm64-mm-correct-the-inside-linear-map-range-during-.patch
deleted file mode 100644 (file)
index ceb103c..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-From 6c0d0d9d497aab248d4dbe61844486545e2bab8e Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 16 Feb 2021 10:03:51 -0500
-Subject: arm64: mm: correct the inside linear map range during hotplug check
-
-From: Pavel Tatashin <pasha.tatashin@soleen.com>
-
-[ Upstream commit ee7febce051945be28ad86d16a15886f878204de ]
-
-Memory hotplug may fail on systems with CONFIG_RANDOMIZE_BASE because the
-linear map range is not checked correctly.
-
-The start physical address that linear map covers can be actually at the
-end of the range because of randomization. Check that and if so reduce it
-to 0.
-
-This can be verified on QEMU with setting kaslr-seed to ~0ul:
-
-memstart_offset_seed = 0xffff
-START: __pa(_PAGE_OFFSET(vabits_actual)) = ffff9000c0000000
-END:   __pa(PAGE_END - 1) =  1000bfffffff
-
-Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
-Fixes: 58284a901b42 ("arm64/mm: Validate hotplug range before creating linear mapping")
-Tested-by: Tyler Hicks <tyhicks@linux.microsoft.com>
-Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
-Link: https://lore.kernel.org/r/20210216150351.129018-2-pasha.tatashin@soleen.com
-Signed-off-by: Will Deacon <will@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm64/mm/mmu.c | 21 +++++++++++++++++++--
- 1 file changed, 19 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
-index 0635803463a5..10938dbe1f11 100644
---- a/arch/arm64/mm/mmu.c
-+++ b/arch/arm64/mm/mmu.c
-@@ -1448,6 +1448,22 @@ static void __remove_pgd_mapping(pgd_t *pgdir, unsigned long start, u64 size)
- struct range arch_get_mappable_range(void)
- {
-       struct range mhp_range;
-+      u64 start_linear_pa = __pa(_PAGE_OFFSET(vabits_actual));
-+      u64 end_linear_pa = __pa(PAGE_END - 1);
-+
-+      if (IS_ENABLED(CONFIG_RANDOMIZE_BASE)) {
-+              /*
-+               * Check for a wrap, it is possible because of randomized linear
-+               * mapping the start physical address is actually bigger than
-+               * the end physical address. In this case set start to zero
-+               * because [0, end_linear_pa] range must still be able to cover
-+               * all addressable physical addresses.
-+               */
-+              if (start_linear_pa > end_linear_pa)
-+                      start_linear_pa = 0;
-+      }
-+
-+      WARN_ON(start_linear_pa > end_linear_pa);
-       /*
-        * Linear mapping region is the range [PAGE_OFFSET..(PAGE_END - 1)]
-@@ -1455,8 +1471,9 @@ struct range arch_get_mappable_range(void)
-        * range which can be mapped inside this linear mapping range, must
-        * also be derived from its end points.
-        */
--      mhp_range.start = __pa(_PAGE_OFFSET(vabits_actual));
--      mhp_range.end =  __pa(PAGE_END - 1);
-+      mhp_range.start = start_linear_pa;
-+      mhp_range.end =  end_linear_pa;
-+
-       return mhp_range;
- }
--- 
-2.30.1
-
diff --git a/queue-5.10/arm64-mm-define-arch_get_mappable_range.patch b/queue-5.10/arm64-mm-define-arch_get_mappable_range.patch
deleted file mode 100644 (file)
index 46f1aa2..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-From 300406ce621b676cd95235171c5ea67ee0468293 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 25 Feb 2021 17:17:37 -0800
-Subject: arm64/mm: define arch_get_mappable_range()
-
-From: Anshuman Khandual <anshuman.khandual@arm.com>
-
-[ Upstream commit 03aaf83fba6e5af08b5dd174c72edee9b7d9ed9b ]
-
-This overrides arch_get_mappable_range() on arm64 platform which will be
-used with recently added generic framework.  It drops
-inside_linear_region() and subsequent check in arch_add_memory() which are
-no longer required.  It also adds a VM_BUG_ON() check that would ensure
-that mhp_range_allowed() has already been called.
-
-Link: https://lkml.kernel.org/r/1612149902-7867-3-git-send-email-anshuman.khandual@arm.com
-Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
-Reviewed-by: David Hildenbrand <david@redhat.com>
-Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
-Cc: Will Deacon <will@kernel.org>
-Cc: Ard Biesheuvel <ardb@kernel.org>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Heiko Carstens <hca@linux.ibm.com>
-Cc: Jason Wang <jasowang@redhat.com>
-Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
-Cc: "Michael S. Tsirkin" <mst@redhat.com>
-Cc: Michal Hocko <mhocko@kernel.org>
-Cc: Oscar Salvador <osalvador@suse.de>
-Cc: Pankaj Gupta <pankaj.gupta@cloud.ionos.com>
-Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
-Cc: teawater <teawaterz@linux.alibaba.com>
-Cc: Vasily Gorbik <gor@linux.ibm.com>
-Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm64/mm/mmu.c | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
-index 6aabf1eced31..0635803463a5 100644
---- a/arch/arm64/mm/mmu.c
-+++ b/arch/arm64/mm/mmu.c
-@@ -1445,16 +1445,19 @@ static void __remove_pgd_mapping(pgd_t *pgdir, unsigned long start, u64 size)
-       free_empty_tables(start, end, PAGE_OFFSET, PAGE_END);
- }
--static bool inside_linear_region(u64 start, u64 size)
-+struct range arch_get_mappable_range(void)
- {
-+      struct range mhp_range;
-+
-       /*
-        * Linear mapping region is the range [PAGE_OFFSET..(PAGE_END - 1)]
-        * accommodating both its ends but excluding PAGE_END. Max physical
-        * range which can be mapped inside this linear mapping range, must
-        * also be derived from its end points.
-        */
--      return start >= __pa(_PAGE_OFFSET(vabits_actual)) &&
--             (start + size - 1) <= __pa(PAGE_END - 1);
-+      mhp_range.start = __pa(_PAGE_OFFSET(vabits_actual));
-+      mhp_range.end =  __pa(PAGE_END - 1);
-+      return mhp_range;
- }
- int arch_add_memory(int nid, u64 start, u64 size,
-@@ -1462,11 +1465,7 @@ int arch_add_memory(int nid, u64 start, u64 size,
- {
-       int ret, flags = 0;
--      if (!inside_linear_region(start, size)) {
--              pr_err("[%llx %llx] is outside linear mapping region\n", start, start + size);
--              return -EINVAL;
--      }
--
-+      VM_BUG_ON(!mhp_range_allowed(start, size, true));
-       if (rodata_full || debug_pagealloc_enabled())
-               flags = NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
--- 
-2.30.1
-
index 4cbfaf971d2cfc2976cd57dcf124ef6a9edcfc6a..564ccc8f1770af506e8390fc923072c82646f163 100644 (file)
@@ -188,8 +188,6 @@ net-phy-broadcom-set-proper-1000basex-sgmii-interfac.patch
 net-phy-broadcom-fix-rgmii-delays-for-bcm50160-and-b.patch
 revert-netfilter-x_tables-switch-synchronization-to-.patch
 netfilter-x_tables-use-correct-memory-barriers.patch
-arm64-mm-define-arch_get_mappable_range.patch
-arm64-mm-correct-the-inside-linear-map-range-during-.patch
 dm-table-fix-zoned-model-check-and-zone-sectors-chec.patch
 mm-mmu_notifiers-ensure-range_end-is-paired-with-ran.patch
 revert-netfilter-x_tables-update-remaining-dereferen.patch
diff --git a/queue-5.11/arm64-mm-correct-the-inside-linear-map-range-during-.patch b/queue-5.11/arm64-mm-correct-the-inside-linear-map-range-during-.patch
deleted file mode 100644 (file)
index 66773dc..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-From 72b31a72819ae4245de59ab28613830148308de0 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 16 Feb 2021 10:03:51 -0500
-Subject: arm64: mm: correct the inside linear map range during hotplug check
-
-From: Pavel Tatashin <pasha.tatashin@soleen.com>
-
-[ Upstream commit ee7febce051945be28ad86d16a15886f878204de ]
-
-Memory hotplug may fail on systems with CONFIG_RANDOMIZE_BASE because the
-linear map range is not checked correctly.
-
-The start physical address that linear map covers can be actually at the
-end of the range because of randomization. Check that and if so reduce it
-to 0.
-
-This can be verified on QEMU with setting kaslr-seed to ~0ul:
-
-memstart_offset_seed = 0xffff
-START: __pa(_PAGE_OFFSET(vabits_actual)) = ffff9000c0000000
-END:   __pa(PAGE_END - 1) =  1000bfffffff
-
-Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com>
-Fixes: 58284a901b42 ("arm64/mm: Validate hotplug range before creating linear mapping")
-Tested-by: Tyler Hicks <tyhicks@linux.microsoft.com>
-Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
-Link: https://lore.kernel.org/r/20210216150351.129018-2-pasha.tatashin@soleen.com
-Signed-off-by: Will Deacon <will@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm64/mm/mmu.c | 21 +++++++++++++++++++--
- 1 file changed, 19 insertions(+), 2 deletions(-)
-
-diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
-index 92b3be127796..3ca02e917598 100644
---- a/arch/arm64/mm/mmu.c
-+++ b/arch/arm64/mm/mmu.c
-@@ -1446,6 +1446,22 @@ static void __remove_pgd_mapping(pgd_t *pgdir, unsigned long start, u64 size)
- struct range arch_get_mappable_range(void)
- {
-       struct range mhp_range;
-+      u64 start_linear_pa = __pa(_PAGE_OFFSET(vabits_actual));
-+      u64 end_linear_pa = __pa(PAGE_END - 1);
-+
-+      if (IS_ENABLED(CONFIG_RANDOMIZE_BASE)) {
-+              /*
-+               * Check for a wrap, it is possible because of randomized linear
-+               * mapping the start physical address is actually bigger than
-+               * the end physical address. In this case set start to zero
-+               * because [0, end_linear_pa] range must still be able to cover
-+               * all addressable physical addresses.
-+               */
-+              if (start_linear_pa > end_linear_pa)
-+                      start_linear_pa = 0;
-+      }
-+
-+      WARN_ON(start_linear_pa > end_linear_pa);
-       /*
-        * Linear mapping region is the range [PAGE_OFFSET..(PAGE_END - 1)]
-@@ -1453,8 +1469,9 @@ struct range arch_get_mappable_range(void)
-        * range which can be mapped inside this linear mapping range, must
-        * also be derived from its end points.
-        */
--      mhp_range.start = __pa(_PAGE_OFFSET(vabits_actual));
--      mhp_range.end =  __pa(PAGE_END - 1);
-+      mhp_range.start = start_linear_pa;
-+      mhp_range.end =  end_linear_pa;
-+
-       return mhp_range;
- }
--- 
-2.30.1
-
diff --git a/queue-5.11/arm64-mm-define-arch_get_mappable_range.patch b/queue-5.11/arm64-mm-define-arch_get_mappable_range.patch
deleted file mode 100644 (file)
index cbdf1ad..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-From c3a48fcf450b7769b5ee743f9eda4329f883b7e6 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Thu, 25 Feb 2021 17:17:37 -0800
-Subject: arm64/mm: define arch_get_mappable_range()
-
-From: Anshuman Khandual <anshuman.khandual@arm.com>
-
-[ Upstream commit 03aaf83fba6e5af08b5dd174c72edee9b7d9ed9b ]
-
-This overrides arch_get_mappable_range() on arm64 platform which will be
-used with recently added generic framework.  It drops
-inside_linear_region() and subsequent check in arch_add_memory() which are
-no longer required.  It also adds a VM_BUG_ON() check that would ensure
-that mhp_range_allowed() has already been called.
-
-Link: https://lkml.kernel.org/r/1612149902-7867-3-git-send-email-anshuman.khandual@arm.com
-Signed-off-by: Anshuman Khandual <anshuman.khandual@arm.com>
-Reviewed-by: David Hildenbrand <david@redhat.com>
-Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
-Cc: Will Deacon <will@kernel.org>
-Cc: Ard Biesheuvel <ardb@kernel.org>
-Cc: Mark Rutland <mark.rutland@arm.com>
-Cc: Heiko Carstens <hca@linux.ibm.com>
-Cc: Jason Wang <jasowang@redhat.com>
-Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
-Cc: "Michael S. Tsirkin" <mst@redhat.com>
-Cc: Michal Hocko <mhocko@kernel.org>
-Cc: Oscar Salvador <osalvador@suse.de>
-Cc: Pankaj Gupta <pankaj.gupta@cloud.ionos.com>
-Cc: Pankaj Gupta <pankaj.gupta.linux@gmail.com>
-Cc: teawater <teawaterz@linux.alibaba.com>
-Cc: Vasily Gorbik <gor@linux.ibm.com>
-Cc: Wei Yang <richard.weiyang@linux.alibaba.com>
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- arch/arm64/mm/mmu.c | 15 +++++++--------
- 1 file changed, 7 insertions(+), 8 deletions(-)
-
-diff --git a/arch/arm64/mm/mmu.c b/arch/arm64/mm/mmu.c
-index 6f0648777d34..92b3be127796 100644
---- a/arch/arm64/mm/mmu.c
-+++ b/arch/arm64/mm/mmu.c
-@@ -1443,16 +1443,19 @@ static void __remove_pgd_mapping(pgd_t *pgdir, unsigned long start, u64 size)
-       free_empty_tables(start, end, PAGE_OFFSET, PAGE_END);
- }
--static bool inside_linear_region(u64 start, u64 size)
-+struct range arch_get_mappable_range(void)
- {
-+      struct range mhp_range;
-+
-       /*
-        * Linear mapping region is the range [PAGE_OFFSET..(PAGE_END - 1)]
-        * accommodating both its ends but excluding PAGE_END. Max physical
-        * range which can be mapped inside this linear mapping range, must
-        * also be derived from its end points.
-        */
--      return start >= __pa(_PAGE_OFFSET(vabits_actual)) &&
--             (start + size - 1) <= __pa(PAGE_END - 1);
-+      mhp_range.start = __pa(_PAGE_OFFSET(vabits_actual));
-+      mhp_range.end =  __pa(PAGE_END - 1);
-+      return mhp_range;
- }
- int arch_add_memory(int nid, u64 start, u64 size,
-@@ -1460,11 +1463,7 @@ int arch_add_memory(int nid, u64 start, u64 size,
- {
-       int ret, flags = 0;
--      if (!inside_linear_region(start, size)) {
--              pr_err("[%llx %llx] is outside linear mapping region\n", start, start + size);
--              return -EINVAL;
--      }
--
-+      VM_BUG_ON(!mhp_range_allowed(start, size, true));
-       if (rodata_full || debug_pagealloc_enabled())
-               flags = NO_BLOCK_MAPPINGS | NO_CONT_MAPPINGS;
--- 
-2.30.1
-
index 58814c33e5f7fbeae627bc2c42fc0f0819f9525b..c8b123d7ff2910bad3c9da0191cef3715a9b01e5 100644 (file)
@@ -222,8 +222,6 @@ netfilter-x_tables-use-correct-memory-barriers.patch
 bpf-fix-fexit-trampoline.patch
 bpf-use-nop_atomic5-instead-of-emit_nops-prog-5-for-.patch
 platform-x86-dell-wmi-sysman-cleanup-create_attribut.patch
-arm64-mm-define-arch_get_mappable_range.patch
-arm64-mm-correct-the-inside-linear-map-range-during-.patch
 dm-table-fix-zoned-model-check-and-zone-sectors-chec.patch
 mm-mmu_notifiers-ensure-range_end-is-paired-with-ran.patch
 revert-netfilter-x_tables-update-remaining-dereferen.patch