From: Sasha Levin Date: Mon, 23 Feb 2026 19:22:24 +0000 (-0500) Subject: drop a few s390 backports from 6.1 X-Git-Tag: v6.18.14~24 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=59b0481480604e60332389346b35d966e202b350;p=thirdparty%2Fkernel%2Fstable-queue.git drop a few s390 backports from 6.1 Signed-off-by: Sasha Levin --- diff --git a/queue-6.1/s390-kconfig-sort-config-s390-select-list-again.patch b/queue-6.1/s390-kconfig-sort-config-s390-select-list-again.patch deleted file mode 100644 index 1191935e89..0000000000 --- a/queue-6.1/s390-kconfig-sort-config-s390-select-list-again.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 95205166306b73bd8ff367fec4e3ecabeb19eff8 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 1 Mar 2023 09:41:06 +0100 -Subject: s390/Kconfig: sort config S390 select list again - -From: Heiko Carstens - -[ Upstream commit 6ca6b58107a8891e4b08087843188fdc5737ec08 ] - -Keep the config S390 select list sorted. - -Signed-off-by: Heiko Carstens -Stable-dep-of: dd3411959b57 ("s390/kexec: Make KEXEC_SIG available when CONFIG_MODULES=n") -Signed-off-by: Sasha Levin ---- - arch/s390/Kconfig | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig -index ef87c38a7b841..bceed8361d051 100644 ---- a/arch/s390/Kconfig -+++ b/arch/s390/Kconfig -@@ -120,8 +120,8 @@ config S390 - select ARCH_WANTS_DYNAMIC_TASK_STRUCT - select ARCH_WANTS_NO_INSTR - select ARCH_WANT_DEFAULT_BPF_JIT -- select ARCH_WANT_IPC_PARSE_VERSION - select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP -+ select ARCH_WANT_IPC_PARSE_VERSION - select BUILDTIME_TABLE_SORT - select CLONE_BACKWARDS2 - select DMA_OPS if PCI -@@ -194,6 +194,7 @@ config S390 - select HAVE_PERF_USER_STACK_DUMP - select HAVE_REGS_AND_STACK_ACCESS_API - select HAVE_RELIABLE_STACKTRACE -+ select HAVE_RETHOOK - select HAVE_RSEQ - select HAVE_SAMPLE_FTRACE_DIRECT - select HAVE_SAMPLE_FTRACE_DIRECT_MULTI -@@ -203,9 +204,9 @@ config S390 - select HAVE_VIRT_CPU_ACCOUNTING_IDLE - select IOMMU_HELPER if PCI - select IOMMU_SUPPORT if PCI -+ select MMU_GATHER_MERGE_VMAS - select MMU_GATHER_NO_GATHER - select MMU_GATHER_RCU_TABLE_FREE -- select MMU_GATHER_MERGE_VMAS - select MODULES_USE_ELF_RELA - select NEED_DMA_MAP_STATE if PCI - select NEED_SG_DMA_LENGTH if PCI --- -2.51.0 - diff --git a/queue-6.1/s390-kexec-make-kexec_sig-available-when-config_modu.patch b/queue-6.1/s390-kexec-make-kexec_sig-available-when-config_modu.patch deleted file mode 100644 index 6ff57b2312..0000000000 --- a/queue-6.1/s390-kexec-make-kexec_sig-available-when-config_modu.patch +++ /dev/null @@ -1,61 +0,0 @@ -From d0e348e682c13febce498f807c6fdd2f479087a3 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Mon, 16 Feb 2026 07:29:16 +0100 -Subject: s390/kexec: Make KEXEC_SIG available when CONFIG_MODULES=n - -From: Alexander Egorenkov - -[ Upstream commit dd3411959b57df6e05a3ccbac67b0a836871c0c4 ] - -The commit c8424e776b09 ("MODSIGN: Export module signature definitions") -replaced the dependency of KEXEC_SIG on SYSTEM_DATA_VERIFICATION with the -dependency on MODULE_SIG_FORMAT. This change disables KEXEC_SIG in s390 -kernels built with MODULES=n if nothing else selects MODULE_SIG_FORMAT. - -Furthermore, the signature verification in s390 kexec does not require -MODULE_SIG_FORMAT because it requires only the struct module_signature and, -therefore, does not depend on code in kernel/module_signature.c. - -But making ARCH_SUPPORTS_KEXEC_SIG depend on SYSTEM_DATA_VERIFICATION is -also incorrect because it makes KEXEC_SIG available on s390 only if some -other arbitrary option (for instance a file system or device driver) -selects it directly or indirectly. - -To properly make KEXEC_SIG available for s390 kernels built with MODULES=y -as well as MODULES=n _and_ also not depend on arbitrary options selecting -SYSTEM_DATA_VERIFICATION, set ARCH_SUPPORTS_KEXEC_SIG=y for s390 and select -SYSTEM_DATA_VERIFICATION when KEXEC_SIG=y. - -Fixes: c8424e776b09 ("MODSIGN: Export module signature definitions") -Suggested-by: Heiko Carstens -Signed-off-by: Alexander Egorenkov -Signed-off-by: Heiko Carstens -Signed-off-by: Sasha Levin ---- - arch/s390/Kconfig | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig -index 645ab7c065c8d..f0f96ae84cc70 100644 ---- a/arch/s390/Kconfig -+++ b/arch/s390/Kconfig -@@ -219,6 +219,7 @@ config S390 - select SPARSE_IRQ - select SWIOTLB - select SYSCTL_EXCEPTION_TRACE -+ select SYSTEM_DATA_VERIFICATION if KEXEC_SIG - select THREAD_INFO_IN_TASK - select TRACE_IRQFLAGS_SUPPORT - select TTY -@@ -245,7 +246,7 @@ config ARCH_SUPPORTS_KEXEC_FILE - def_bool CRYPTO && CRYPTO_SHA256 && CRYPTO_SHA256_S390 - - config ARCH_SUPPORTS_KEXEC_SIG -- def_bool MODULE_SIG_FORMAT -+ def_bool y - - config ARCH_HAS_KEXEC_PURGATORY - def_bool KEXEC_FILE --- -2.51.0 - diff --git a/queue-6.1/s390-kexec-refactor-for-kernel-kconfig.kexec.patch b/queue-6.1/s390-kexec-refactor-for-kernel-kconfig.kexec.patch deleted file mode 100644 index 36a6a8cdbd..0000000000 --- a/queue-6.1/s390-kexec-refactor-for-kernel-kconfig.kexec.patch +++ /dev/null @@ -1,128 +0,0 @@ -From d6af6983bb2036fe740cb4127145d0fad0d5aa9b Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 12 Jul 2023 12:15:43 -0400 -Subject: s390/kexec: refactor for kernel/Kconfig.kexec - -From: Eric DeVolder - -[ Upstream commit 75239cf775b811662f3a9e35e8ea0cd7a98e3fed ] - -The kexec and crash kernel options are provided in the common -kernel/Kconfig.kexec. Utilize the common options and provide -the ARCH_SUPPORTS_ and ARCH_SELECTS_ entries to recreate the -equivalent set of KEXEC and CRASH options. - -Link: https://lkml.kernel.org/r/20230712161545.87870-13-eric.devolder@oracle.com -Signed-off-by: Eric DeVolder -Acked-by: Alexander Gordeev -Signed-off-by: Andrew Morton -Stable-dep-of: dd3411959b57 ("s390/kexec: Make KEXEC_SIG available when CONFIG_MODULES=n") -Signed-off-by: Sasha Levin ---- - arch/s390/Kconfig | 69 ++++++++++++++++------------------------------- - 1 file changed, 23 insertions(+), 46 deletions(-) - -diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig -index bceed8361d051..645ab7c065c8d 100644 ---- a/arch/s390/Kconfig -+++ b/arch/s390/Kconfig -@@ -204,6 +204,7 @@ config S390 - select HAVE_VIRT_CPU_ACCOUNTING_IDLE - select IOMMU_HELPER if PCI - select IOMMU_SUPPORT if PCI -+ select KEXEC - select MMU_GATHER_MERGE_VMAS - select MMU_GATHER_NO_GATHER - select MMU_GATHER_RCU_TABLE_FREE -@@ -234,6 +235,28 @@ config PGTABLE_LEVELS - - source "kernel/livepatch/Kconfig" - -+config ARCH_DEFAULT_KEXEC -+ def_bool y -+ -+config ARCH_SUPPORTS_KEXEC -+ def_bool y -+ -+config ARCH_SUPPORTS_KEXEC_FILE -+ def_bool CRYPTO && CRYPTO_SHA256 && CRYPTO_SHA256_S390 -+ -+config ARCH_SUPPORTS_KEXEC_SIG -+ def_bool MODULE_SIG_FORMAT -+ -+config ARCH_HAS_KEXEC_PURGATORY -+ def_bool KEXEC_FILE -+ -+config ARCH_SUPPORTS_CRASH_DUMP -+ def_bool y -+ help -+ Refer to for more details on this. -+ This option also enables s390 zfcpdump. -+ See also -+ - menu "Processor type and features" - - config HAVE_MARCH_Z10_FEATURES -@@ -480,36 +503,6 @@ config SCHED_TOPOLOGY - - source "kernel/Kconfig.hz" - --config KEXEC -- def_bool y -- select KEXEC_CORE -- --config KEXEC_FILE -- bool "kexec file based system call" -- select KEXEC_CORE -- depends on CRYPTO -- depends on CRYPTO_SHA256 -- depends on CRYPTO_SHA256_S390 -- help -- Enable the kexec file based system call. In contrast to the normal -- kexec system call this system call takes file descriptors for the -- kernel and initramfs as arguments. -- --config ARCH_HAS_KEXEC_PURGATORY -- def_bool y -- depends on KEXEC_FILE -- --config KEXEC_SIG -- bool "Verify kernel signature during kexec_file_load() syscall" -- depends on KEXEC_FILE && MODULE_SIG_FORMAT -- help -- This option makes kernel signature verification mandatory for -- the kexec_file_load() syscall. -- -- In addition to that option, you need to enable signature -- verification for the corresponding kernel image type being -- loaded in order for this to work. -- - config KERNEL_NOBP - def_bool n - prompt "Enable modified branch prediction for the kernel by default" -@@ -728,22 +721,6 @@ config VFIO_AP - - endmenu - --menu "Dump support" -- --config CRASH_DUMP -- bool "kernel crash dumps" -- select KEXEC -- help -- Generate crash dump after being started by kexec. -- Crash dump kernels are loaded in the main kernel with kexec-tools -- into a specially reserved region and then later executed after -- a crash by kdump/kexec. -- Refer to for more details on this. -- This option also enables s390 zfcpdump. -- See also -- --endmenu -- - config CCW - def_bool y - --- -2.51.0 - diff --git a/queue-6.1/s390-select-arch_want_hugetlb_page_optimize_vmemmap.patch b/queue-6.1/s390-select-arch_want_hugetlb_page_optimize_vmemmap.patch deleted file mode 100644 index 6d1ee3cc17..0000000000 --- a/queue-6.1/s390-select-arch_want_hugetlb_page_optimize_vmemmap.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 15f5cbe846e3035b2f30ae88bbf0d4f6c940711b Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Tue, 19 Jul 2022 11:08:37 +0200 -Subject: s390: select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP - -From: Gerald Schaefer - -[ Upstream commit 00a34d5a99c0631bd780b14cbe3813d0b39c3886 ] - -Enable HUGETLB_PAGE_OPTIMIZE_VMEMMAP for s390. - -With this, vmemmap pages used to back struct pages for compound tail -pages of hugetlb pages are freed and remapped to compound head page -frame as RO, see also Documentation/vm/vmemmap_dedup.rst. - -For 1M hugetlb pages, this results in freeing 3 of 4 vmemmap pages, -saving 12K of memory for each 1M hugetlb page (~1.2%). -/sys/kernel/debug/kernel_page_tables will show the impact: - ----[ vmemmap Area Start ]--- -[...] -0x0000037202d84000-0x0000037202d85000 4K PTE RW NX -0x0000037202d85000-0x0000037202d88000 12K PTE RO NX - -For 2G hugetlb pages, this results in freeing 8191 of 8192 vmemmap -pages, saving 32764K of memory for each 2G hugetlb page (~1.6%) -/sys/kernel/debug/kernel_page_tables will show the impact: - ----[ vmemmap Area Start ]--- -[...] -0x000003720a000000-0x000003720a001000 4K PTE RW NX -0x000003720a001000-0x000003720c000000 32764K PTE RO NX - -The memory savings come with some costs: -- vmemmap mapping for compound hugetlb pages is not a PMD mapping any - more, but split to 4K PTE mappings, and it will not be coalesced back - to PMD mapping after freeing hugetlb pages from the pool. - Apart from theoretical performance impact, this will also (slightly) - relativize the memory savings because of additional 2K PTE pagetable - allocations. -- Workload using "on the fly" hugetlb allocations via - "nr_overcommit_hugepages" instead of using the hugetlb pool via - "nr_hugepages" will suffer from considerably increased fault handling - time, see also description from commit 78f39084b41d - ("mm: hugetlb_vmemmap: add hugetlb_optimize_vmemmap sysctl"). -- Freeing hugetlb pages from the pool will require re-allocation of the - freed struct pages, and therefore needs some memory available to the - kernel. This might fail in memory constrained scenarios. -- For the same reason, memory offline might fail even for ZONE_MOVABLE - when hugetlb pages are present (but not for s390, since we do not - support ARCH_ENABLE_HUGEPAGE_MIGRATION, and therefore cannot have - hugetlb pages in ZONE_MOVABLE). -- General increased complexity and overhead in kernel handling of - compound (head) pages. - -Therefore, this feature is disabled by default, and has to be enabled -explicitly either by adding "hugetlb_free_vmemmap=on" kernel parameter, -or during run-time via "/proc/sys/vm/hugetlb_optimize_vmemmap" sysctl. - -Acked-by: Heiko Carstens -Signed-off-by: Gerald Schaefer -Signed-off-by: Alexander Gordeev -Stable-dep-of: dd3411959b57 ("s390/kexec: Make KEXEC_SIG available when CONFIG_MODULES=n") -Signed-off-by: Sasha Levin ---- - arch/s390/Kconfig | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/arch/s390/Kconfig b/arch/s390/Kconfig -index de575af02ffea..ef87c38a7b841 100644 ---- a/arch/s390/Kconfig -+++ b/arch/s390/Kconfig -@@ -121,6 +121,7 @@ config S390 - select ARCH_WANTS_NO_INSTR - select ARCH_WANT_DEFAULT_BPF_JIT - select ARCH_WANT_IPC_PARSE_VERSION -+ select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP - select BUILDTIME_TABLE_SORT - select CLONE_BACKWARDS2 - select DMA_OPS if PCI --- -2.51.0 - diff --git a/queue-6.1/series b/queue-6.1/series index 850d90e05e..806c2bc496 100644 --- a/queue-6.1/series +++ b/queue-6.1/series @@ -235,10 +235,6 @@ apparmor-fix-rlimit-for-posix-cpu-timers.patch apparmor-fix-invalid-deref-of-rawdata-when-export_bi.patch asoc-fsl_xcvr-revert-fix-missing-lock-in-fsl_xcvr_mo.patch drm-i915-acpi-free-_dsm-package-when-no-connectors.patch -s390-select-arch_want_hugetlb_page_optimize_vmemmap.patch -s390-kconfig-sort-config-s390-select-list-again.patch -s390-kexec-refactor-for-kernel-kconfig.kexec.patch -s390-kexec-make-kexec_sig-available-when-config_modu.patch btrfs-fix-invalid-leaf-access-in-btrfs_quota_enable-.patch asoc-rockchip-i2s-tdm-use-param-rate-if-not-provided.patch drm-amd-display-use-same-max-plane-scaling-limits-fo.patch