]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop some s390 patches from 6.x
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 25 Nov 2023 19:42:15 +0000 (19:42 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 25 Nov 2023 19:42:15 +0000 (19:42 +0000)
12 files changed:
queue-6.1/s390-cmma-fix-detection-of-dat-pages.patch
queue-6.1/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch
queue-6.1/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch [deleted file]
queue-6.1/series
queue-6.5/s390-cmma-fix-detection-of-dat-pages.patch
queue-6.5/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch
queue-6.5/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch [deleted file]
queue-6.5/series
queue-6.6/s390-cmma-fix-detection-of-dat-pages.patch
queue-6.6/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch
queue-6.6/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch [deleted file]
queue-6.6/series

index 4afcf087c803b4ec3997f13340e436fa7916984a..8fa3ef091727e44565c6c09d6d24e162b7987b93 100644 (file)
@@ -51,7 +51,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                                set_bit(PG_arch_1, &page[i].flags);
                }
                mark_kernel_pud(p4d, addr, next);
-@@ -182,7 +182,7 @@ static void mark_kernel_pgd(void)
+@@ -175,7 +175,7 @@ static void mark_kernel_pgd(void)
                        continue;
                if (!pgd_folded(*pgd)) {
                        page = phys_to_page(pgd_val(*pgd));
index 39afa27b88314e66053690981243520a087873f4..becb86da2b453da3db22e8f2f7332de7198e2bc4 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/arch/s390/mm/page-states.c
 +++ b/arch/s390/mm/page-states.c
-@@ -199,6 +199,12 @@ void __init cmma_init_nodat(void)
+@@ -192,6 +192,12 @@ void __init cmma_init_nodat(void)
                return;
        /* Mark pages used in kernel page tables */
        mark_kernel_pgd();
diff --git a/queue-6.1/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch b/queue-6.1/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch
deleted file mode 100644 (file)
index 6d25964..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-From 16ba44826a04834d3eeeda4b731c2ea3481062b7 Mon Sep 17 00:00:00 2001
-From: Heiko Carstens <hca@linux.ibm.com>
-Date: Tue, 17 Oct 2023 21:07:03 +0200
-Subject: s390/cmma: fix initial kernel address space page table walk
-
-From: Heiko Carstens <hca@linux.ibm.com>
-
-commit 16ba44826a04834d3eeeda4b731c2ea3481062b7 upstream.
-
-If the cmma no-dat feature is available the kernel page tables are walked
-to identify and mark all pages which are used for address translation (all
-region, segment, and page tables). In a subsequent loop all other pages are
-marked as "no-dat" pages with the ESSA instruction.
-
-This information is visible to the hypervisor, so that the hypervisor can
-optimize purging of guest TLB entries. The initial loop however does not
-cover the complete kernel address space. This can result in pages being
-marked as not being used for dynamic address translation, even though they
-are. In turn guest TLB entries incorrectly may not be purged.
-
-Fix this by adjusting the end address of the kernel address range being
-walked.
-
-Cc: <stable@vger.kernel.org>
-Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
-Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/s390/mm/page-states.c |   13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
---- a/arch/s390/mm/page-states.c
-+++ b/arch/s390/mm/page-states.c
-@@ -162,15 +162,22 @@ static void mark_kernel_p4d(pgd_t *pgd,
- static void mark_kernel_pgd(void)
- {
--      unsigned long addr, next;
-+      unsigned long addr, next, max_addr;
-       struct page *page;
-       pgd_t *pgd;
-       int i;
-       addr = 0;
-+      /*
-+       * Figure out maximum virtual address accessible with the
-+       * kernel ASCE. This is required to keep the page table walker
-+       * from accessing non-existent entries.
-+       */
-+      max_addr = (S390_lowcore.kernel_asce.val & _ASCE_TYPE_MASK) >> 2;
-+      max_addr = 1UL << (max_addr * 11 + 31);
-       pgd = pgd_offset_k(addr);
-       do {
--              next = pgd_addr_end(addr, MODULES_END);
-+              next = pgd_addr_end(addr, max_addr);
-               if (pgd_none(*pgd))
-                       continue;
-               if (!pgd_folded(*pgd)) {
-@@ -179,7 +186,7 @@ static void mark_kernel_pgd(void)
-                               set_bit(PG_arch_1, &page[i].flags);
-               }
-               mark_kernel_p4d(pgd, addr, next);
--      } while (pgd++, addr = next, addr != MODULES_END);
-+      } while (pgd++, addr = next, addr != max_addr);
- }
- void __init cmma_init_nodat(void)
index 87b1b1f86d8a4e34511009ab79e64ec49f703c71..7bee0e01b77c74523ca70dfb59c3278a43a902f8 100644 (file)
@@ -245,7 +245,6 @@ driver-core-release-all-resources-during-unbind-before-updating-device-links.pat
 mcb-fix-error-handling-for-different-scenarios-when-parsing.patch
 powerpc-pseries-iommu-enable_ddw-incorrectly-returns-direct-mapping-for-sr-iov-device.patch
 dmaengine-stm32-mdma-correct-desc-prep-when-channel-running.patch
-s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch
 s390-cmma-fix-detection-of-dat-pages.patch
 s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch
 mm-cma-use-nth_page-in-place-of-direct-struct-page-manipulation.patch
index c1c4c52bb2107dc1c5124c08ea4bc5c173c7b306..58040b2dd1a85ebb098f584e56c3b075b5dd2cca 100644 (file)
@@ -51,7 +51,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                                set_bit(PG_arch_1, &page[i].flags);
                }
                mark_kernel_pud(p4d, addr, next);
-@@ -171,7 +171,7 @@ static void mark_kernel_pgd(void)
+@@ -164,7 +164,7 @@ static void mark_kernel_pgd(void)
                        continue;
                if (!pgd_folded(*pgd)) {
                        page = phys_to_page(pgd_val(*pgd));
index aced6b443ac29d8589fa45c4a53ad87125fb2aff..45794b1064820de47b8905d0321653a749c4a365 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/arch/s390/mm/page-states.c
 +++ b/arch/s390/mm/page-states.c
-@@ -188,6 +188,12 @@ void __init cmma_init_nodat(void)
+@@ -181,6 +181,12 @@ void __init cmma_init_nodat(void)
                return;
        /* Mark pages used in kernel page tables */
        mark_kernel_pgd();
diff --git a/queue-6.5/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch b/queue-6.5/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch
deleted file mode 100644 (file)
index 776e388..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-From 16ba44826a04834d3eeeda4b731c2ea3481062b7 Mon Sep 17 00:00:00 2001
-From: Heiko Carstens <hca@linux.ibm.com>
-Date: Tue, 17 Oct 2023 21:07:03 +0200
-Subject: s390/cmma: fix initial kernel address space page table walk
-
-From: Heiko Carstens <hca@linux.ibm.com>
-
-commit 16ba44826a04834d3eeeda4b731c2ea3481062b7 upstream.
-
-If the cmma no-dat feature is available the kernel page tables are walked
-to identify and mark all pages which are used for address translation (all
-region, segment, and page tables). In a subsequent loop all other pages are
-marked as "no-dat" pages with the ESSA instruction.
-
-This information is visible to the hypervisor, so that the hypervisor can
-optimize purging of guest TLB entries. The initial loop however does not
-cover the complete kernel address space. This can result in pages being
-marked as not being used for dynamic address translation, even though they
-are. In turn guest TLB entries incorrectly may not be purged.
-
-Fix this by adjusting the end address of the kernel address range being
-walked.
-
-Cc: <stable@vger.kernel.org>
-Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
-Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/s390/mm/page-states.c |   13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
---- a/arch/s390/mm/page-states.c
-+++ b/arch/s390/mm/page-states.c
-@@ -151,15 +151,22 @@ static void mark_kernel_p4d(pgd_t *pgd,
- static void mark_kernel_pgd(void)
- {
--      unsigned long addr, next;
-+      unsigned long addr, next, max_addr;
-       struct page *page;
-       pgd_t *pgd;
-       int i;
-       addr = 0;
-+      /*
-+       * Figure out maximum virtual address accessible with the
-+       * kernel ASCE. This is required to keep the page table walker
-+       * from accessing non-existent entries.
-+       */
-+      max_addr = (S390_lowcore.kernel_asce.val & _ASCE_TYPE_MASK) >> 2;
-+      max_addr = 1UL << (max_addr * 11 + 31);
-       pgd = pgd_offset_k(addr);
-       do {
--              next = pgd_addr_end(addr, MODULES_END);
-+              next = pgd_addr_end(addr, max_addr);
-               if (pgd_none(*pgd))
-                       continue;
-               if (!pgd_folded(*pgd)) {
-@@ -168,7 +175,7 @@ static void mark_kernel_pgd(void)
-                               set_bit(PG_arch_1, &page[i].flags);
-               }
-               mark_kernel_p4d(pgd, addr, next);
--      } while (pgd++, addr = next, addr != MODULES_END);
-+      } while (pgd++, addr = next, addr != max_addr);
- }
- void __init cmma_init_nodat(void)
index f8e7d8209b576451cbbf3c9075eff73ed092ab25..4b6fdf1b85a8ce66a0f88053c963bc7753bc0601 100644 (file)
@@ -343,7 +343,6 @@ mcb-fix-error-handling-for-different-scenarios-when-parsing.patch
 powerpc-pseries-iommu-enable_ddw-incorrectly-returns-direct-mapping-for-sr-iov-device.patch
 dmaengine-stm32-mdma-correct-desc-prep-when-channel-running.patch
 s390-mm-add-missing-arch_set_page_dat-call-to-vmem_crst_alloc.patch
-s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch
 s390-cmma-fix-detection-of-dat-pages.patch
 s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch
 mm-cma-use-nth_page-in-place-of-direct-struct-page-manipulation.patch
index c1c4c52bb2107dc1c5124c08ea4bc5c173c7b306..58040b2dd1a85ebb098f584e56c3b075b5dd2cca 100644 (file)
@@ -51,7 +51,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                                set_bit(PG_arch_1, &page[i].flags);
                }
                mark_kernel_pud(p4d, addr, next);
-@@ -171,7 +171,7 @@ static void mark_kernel_pgd(void)
+@@ -164,7 +164,7 @@ static void mark_kernel_pgd(void)
                        continue;
                if (!pgd_folded(*pgd)) {
                        page = phys_to_page(pgd_val(*pgd));
index aced6b443ac29d8589fa45c4a53ad87125fb2aff..45794b1064820de47b8905d0321653a749c4a365 100644 (file)
@@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 
 --- a/arch/s390/mm/page-states.c
 +++ b/arch/s390/mm/page-states.c
-@@ -188,6 +188,12 @@ void __init cmma_init_nodat(void)
+@@ -181,6 +181,12 @@ void __init cmma_init_nodat(void)
                return;
        /* Mark pages used in kernel page tables */
        mark_kernel_pgd();
diff --git a/queue-6.6/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch b/queue-6.6/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch
deleted file mode 100644 (file)
index 776e388..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-From 16ba44826a04834d3eeeda4b731c2ea3481062b7 Mon Sep 17 00:00:00 2001
-From: Heiko Carstens <hca@linux.ibm.com>
-Date: Tue, 17 Oct 2023 21:07:03 +0200
-Subject: s390/cmma: fix initial kernel address space page table walk
-
-From: Heiko Carstens <hca@linux.ibm.com>
-
-commit 16ba44826a04834d3eeeda4b731c2ea3481062b7 upstream.
-
-If the cmma no-dat feature is available the kernel page tables are walked
-to identify and mark all pages which are used for address translation (all
-region, segment, and page tables). In a subsequent loop all other pages are
-marked as "no-dat" pages with the ESSA instruction.
-
-This information is visible to the hypervisor, so that the hypervisor can
-optimize purging of guest TLB entries. The initial loop however does not
-cover the complete kernel address space. This can result in pages being
-marked as not being used for dynamic address translation, even though they
-are. In turn guest TLB entries incorrectly may not be purged.
-
-Fix this by adjusting the end address of the kernel address range being
-walked.
-
-Cc: <stable@vger.kernel.org>
-Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
-Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
-Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
----
- arch/s390/mm/page-states.c |   13 ++++++++++---
- 1 file changed, 10 insertions(+), 3 deletions(-)
-
---- a/arch/s390/mm/page-states.c
-+++ b/arch/s390/mm/page-states.c
-@@ -151,15 +151,22 @@ static void mark_kernel_p4d(pgd_t *pgd,
- static void mark_kernel_pgd(void)
- {
--      unsigned long addr, next;
-+      unsigned long addr, next, max_addr;
-       struct page *page;
-       pgd_t *pgd;
-       int i;
-       addr = 0;
-+      /*
-+       * Figure out maximum virtual address accessible with the
-+       * kernel ASCE. This is required to keep the page table walker
-+       * from accessing non-existent entries.
-+       */
-+      max_addr = (S390_lowcore.kernel_asce.val & _ASCE_TYPE_MASK) >> 2;
-+      max_addr = 1UL << (max_addr * 11 + 31);
-       pgd = pgd_offset_k(addr);
-       do {
--              next = pgd_addr_end(addr, MODULES_END);
-+              next = pgd_addr_end(addr, max_addr);
-               if (pgd_none(*pgd))
-                       continue;
-               if (!pgd_folded(*pgd)) {
-@@ -168,7 +175,7 @@ static void mark_kernel_pgd(void)
-                               set_bit(PG_arch_1, &page[i].flags);
-               }
-               mark_kernel_p4d(pgd, addr, next);
--      } while (pgd++, addr = next, addr != MODULES_END);
-+      } while (pgd++, addr = next, addr != max_addr);
- }
- void __init cmma_init_nodat(void)
index 8ac724543d26ab9df30cfef4c534d9f9c849b6dd..12cd03282e9d5da357e24fb23d1e7ab0257b8231 100644 (file)
@@ -372,7 +372,6 @@ powerpc-pseries-iommu-enable_ddw-incorrectly-returns-direct-mapping-for-sr-iov-d
 dmaengine-stm32-mdma-correct-desc-prep-when-channel-running.patch
 s390-mm-add-missing-arch_set_page_dat-call-to-vmem_crst_alloc.patch
 s390-mm-add-missing-arch_set_page_dat-call-to-gmap-allocations.patch
-s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch
 s390-cmma-fix-detection-of-dat-pages.patch
 s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch
 mm-cma-use-nth_page-in-place-of-direct-struct-page-manipulation.patch