+++ /dev/null
-From 95205166306b73bd8ff367fec4e3ecabeb19eff8 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 1 Mar 2023 09:41:06 +0100
-Subject: s390/Kconfig: sort config S390 select list again
-
-From: Heiko Carstens <hca@linux.ibm.com>
-
-[ Upstream commit 6ca6b58107a8891e4b08087843188fdc5737ec08 ]
-
-Keep the config S390 select list sorted.
-
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Stable-dep-of: dd3411959b57 ("s390/kexec: Make KEXEC_SIG available when CONFIG_MODULES=n")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-
+++ /dev/null
-From d0e348e682c13febce498f807c6fdd2f479087a3 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Mon, 16 Feb 2026 07:29:16 +0100
-Subject: s390/kexec: Make KEXEC_SIG available when CONFIG_MODULES=n
-
-From: Alexander Egorenkov <egorenar@linux.ibm.com>
-
-[ 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 <hca@linux.ibm.com>
-Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
-Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-
+++ /dev/null
-From d6af6983bb2036fe740cb4127145d0fad0d5aa9b Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Wed, 12 Jul 2023 12:15:43 -0400
-Subject: s390/kexec: refactor for kernel/Kconfig.kexec
-
-From: Eric DeVolder <eric.devolder@oracle.com>
-
-[ 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 <eric.devolder@oracle.com>
-Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
-Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
-Stable-dep-of: dd3411959b57 ("s390/kexec: Make KEXEC_SIG available when CONFIG_MODULES=n")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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 <file:Documentation/s390/zfcpdump.rst> for more details on this.
-+ This option also enables s390 zfcpdump.
-+ See also <file:Documentation/s390/zfcpdump.rst>
-+
- 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 <file:Documentation/s390/zfcpdump.rst> for more details on this.
-- This option also enables s390 zfcpdump.
-- See also <file:Documentation/s390/zfcpdump.rst>
--
--endmenu
--
- config CCW
- def_bool y
-
---
-2.51.0
-
+++ /dev/null
-From 15f5cbe846e3035b2f30ae88bbf0d4f6c940711b Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Tue, 19 Jul 2022 11:08:37 +0200
-Subject: s390: select ARCH_WANT_HUGETLB_PAGE_OPTIMIZE_VMEMMAP
-
-From: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
-
-[ 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 <hca@linux.ibm.com>
-Signed-off-by: Gerald Schaefer <gerald.schaefer@linux.ibm.com>
-Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
-Stable-dep-of: dd3411959b57 ("s390/kexec: Make KEXEC_SIG available when CONFIG_MODULES=n")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- 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
-
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