From: Greg Kroah-Hartman Date: Sat, 25 Nov 2023 19:42:15 +0000 (+0000) Subject: drop some s390 patches from 6.x X-Git-Tag: v4.14.331~9 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=f009992822187fc8776726f92bc529dc9d55d158;p=thirdparty%2Fkernel%2Fstable-queue.git drop some s390 patches from 6.x --- diff --git a/queue-6.1/s390-cmma-fix-detection-of-dat-pages.patch b/queue-6.1/s390-cmma-fix-detection-of-dat-pages.patch index 4afcf087c80..8fa3ef09172 100644 --- a/queue-6.1/s390-cmma-fix-detection-of-dat-pages.patch +++ b/queue-6.1/s390-cmma-fix-detection-of-dat-pages.patch @@ -51,7 +51,7 @@ Signed-off-by: Greg Kroah-Hartman 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)); diff --git a/queue-6.1/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch b/queue-6.1/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch index 39afa27b883..becb86da2b4 100644 --- a/queue-6.1/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch +++ b/queue-6.1/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch @@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman --- 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 index 6d259645580..00000000000 --- a/queue-6.1/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 16ba44826a04834d3eeeda4b731c2ea3481062b7 Mon Sep 17 00:00:00 2001 -From: Heiko Carstens -Date: Tue, 17 Oct 2023 21:07:03 +0200 -Subject: s390/cmma: fix initial kernel address space page table walk - -From: Heiko Carstens - -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: -Reviewed-by: Claudio Imbrenda -Reviewed-by: Alexander Gordeev -Signed-off-by: Heiko Carstens -Signed-off-by: Vasily Gorbik -Signed-off-by: Greg Kroah-Hartman ---- - 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) diff --git a/queue-6.1/series b/queue-6.1/series index 87b1b1f86d8..7bee0e01b77 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -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 diff --git a/queue-6.5/s390-cmma-fix-detection-of-dat-pages.patch b/queue-6.5/s390-cmma-fix-detection-of-dat-pages.patch index c1c4c52bb21..58040b2dd1a 100644 --- a/queue-6.5/s390-cmma-fix-detection-of-dat-pages.patch +++ b/queue-6.5/s390-cmma-fix-detection-of-dat-pages.patch @@ -51,7 +51,7 @@ Signed-off-by: Greg Kroah-Hartman 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)); diff --git a/queue-6.5/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch b/queue-6.5/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch index aced6b443ac..45794b10648 100644 --- a/queue-6.5/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch +++ b/queue-6.5/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch @@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman --- 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 index 776e388b7e1..00000000000 --- a/queue-6.5/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 16ba44826a04834d3eeeda4b731c2ea3481062b7 Mon Sep 17 00:00:00 2001 -From: Heiko Carstens -Date: Tue, 17 Oct 2023 21:07:03 +0200 -Subject: s390/cmma: fix initial kernel address space page table walk - -From: Heiko Carstens - -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: -Reviewed-by: Claudio Imbrenda -Reviewed-by: Alexander Gordeev -Signed-off-by: Heiko Carstens -Signed-off-by: Vasily Gorbik -Signed-off-by: Greg Kroah-Hartman ---- - 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) diff --git a/queue-6.5/series b/queue-6.5/series index f8e7d8209b5..4b6fdf1b85a 100644 --- a/queue-6.5/series +++ b/queue-6.5/series @@ -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 diff --git a/queue-6.6/s390-cmma-fix-detection-of-dat-pages.patch b/queue-6.6/s390-cmma-fix-detection-of-dat-pages.patch index c1c4c52bb21..58040b2dd1a 100644 --- a/queue-6.6/s390-cmma-fix-detection-of-dat-pages.patch +++ b/queue-6.6/s390-cmma-fix-detection-of-dat-pages.patch @@ -51,7 +51,7 @@ Signed-off-by: Greg Kroah-Hartman 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)); diff --git a/queue-6.6/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch b/queue-6.6/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch index aced6b443ac..45794b10648 100644 --- a/queue-6.6/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch +++ b/queue-6.6/s390-cmma-fix-handling-of-swapper_pg_dir-and-invalid_pg_dir.patch @@ -30,7 +30,7 @@ Signed-off-by: Greg Kroah-Hartman --- 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 index 776e388b7e1..00000000000 --- a/queue-6.6/s390-cmma-fix-initial-kernel-address-space-page-table-walk.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 16ba44826a04834d3eeeda4b731c2ea3481062b7 Mon Sep 17 00:00:00 2001 -From: Heiko Carstens -Date: Tue, 17 Oct 2023 21:07:03 +0200 -Subject: s390/cmma: fix initial kernel address space page table walk - -From: Heiko Carstens - -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: -Reviewed-by: Claudio Imbrenda -Reviewed-by: Alexander Gordeev -Signed-off-by: Heiko Carstens -Signed-off-by: Vasily Gorbik -Signed-off-by: Greg Kroah-Hartman ---- - 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) diff --git a/queue-6.6/series b/queue-6.6/series index 8ac724543d2..12cd03282e9 100644 --- a/queue-6.6/series +++ b/queue-6.6/series @@ -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