mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-12-22 12:17:45 +01:00
The new memfd code fails to link without SHMEM:
aarch64-linux-ld: mm/memfd_luo.o: in function `memfd_luo_retrieve_folios':
memfd_luo.c:(.text.memfd_luo_retrieve_folios+0xdc): undefined reference to `shmem_add_to_page_cache'
memfd_luo.c:(.text.memfd_luo_retrieve_folios+0x11c): undefined reference to `shmem_inode_acct_blocks'
memfd_luo.c:(.text.memfd_luo_retrieve_folios+0x134): undefined reference to `shmem_recalc_inode'
Add a Kconfig dependency to disallow that configuration.
Link: https://lkml.kernel.org/r/20251204100203.1034394-1-arnd@kernel.org
Fixes: b3749f174d ("mm: memfd_luo: allow preserving memfd")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Pratyush Yadav <pratyush@kernel.org>
Acked-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
Reviewed-by: Pasha Tatashin <pasha.tatashin@soleen.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
77 lines
2.5 KiB
Plaintext
77 lines
2.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
menu "Live Update and Kexec HandOver"
|
|
depends on !DEFERRED_STRUCT_PAGE_INIT
|
|
|
|
config KEXEC_HANDOVER
|
|
bool "kexec handover"
|
|
depends on ARCH_SUPPORTS_KEXEC_HANDOVER && ARCH_SUPPORTS_KEXEC_FILE
|
|
depends on !DEFERRED_STRUCT_PAGE_INIT
|
|
select MEMBLOCK_KHO_SCRATCH
|
|
select KEXEC_FILE
|
|
select LIBFDT
|
|
select CMA
|
|
help
|
|
Allow kexec to hand over state across kernels by generating and
|
|
passing additional metadata to the target kernel. This is useful
|
|
to keep data or state alive across the kexec. For this to work,
|
|
both source and target kernels need to have this option enabled.
|
|
|
|
config KEXEC_HANDOVER_DEBUG
|
|
bool "Enable Kexec Handover debug checks"
|
|
depends on KEXEC_HANDOVER
|
|
help
|
|
This option enables extra sanity checks for the Kexec Handover
|
|
subsystem. Since, KHO performance is crucial in live update
|
|
scenarios and the extra code might be adding overhead it is
|
|
only optionally enabled.
|
|
|
|
config KEXEC_HANDOVER_DEBUGFS
|
|
bool "kexec handover debugfs interface"
|
|
default KEXEC_HANDOVER
|
|
depends on KEXEC_HANDOVER
|
|
select DEBUG_FS
|
|
help
|
|
Allow to control kexec handover device tree via debugfs
|
|
interface, i.e. finalize the state or aborting the finalization.
|
|
Also, enables inspecting the KHO fdt trees with the debugfs binary
|
|
blobs.
|
|
|
|
config KEXEC_HANDOVER_ENABLE_DEFAULT
|
|
bool "Enable kexec handover by default"
|
|
depends on KEXEC_HANDOVER
|
|
help
|
|
Enable Kexec Handover by default. This avoids the need to
|
|
explicitly pass 'kho=on' on the kernel command line.
|
|
|
|
This is useful for systems where KHO is a prerequisite for other
|
|
features, such as Live Update, ensuring the mechanism is always
|
|
active.
|
|
|
|
The default behavior can still be overridden at boot time by
|
|
passing 'kho=off'.
|
|
|
|
config LIVEUPDATE
|
|
bool "Live Update Orchestrator"
|
|
depends on KEXEC_HANDOVER
|
|
depends on SHMEM
|
|
help
|
|
Enable the Live Update Orchestrator. Live Update is a mechanism,
|
|
typically based on kexec, that allows the kernel to be updated
|
|
while keeping selected devices operational across the transition.
|
|
These devices are intended to be reclaimed by the new kernel and
|
|
re-attached to their original workload without requiring a device
|
|
reset.
|
|
|
|
Ability to handover a device from current to the next kernel depends
|
|
on specific support within device drivers and related kernel
|
|
subsystems.
|
|
|
|
This feature primarily targets virtual machine hosts to quickly update
|
|
the kernel hypervisor with minimal disruption to the running virtual
|
|
machines.
|
|
|
|
If unsure, say N.
|
|
|
|
endmenu
|