Re: [PATCHv5 10/12] arm64/kexec: Add PE image format support
From: Pingfan Liu <hidden>
Date: 2025-08-20 03:09:34
Also in:
bpf, kexec
On Tue, Aug 19, 2025 at 09:24:26AM +0800, Pingfan Liu wrote:
quoted hunk ↗ jump to hunk
Now everything is ready for kexec PE image parser. Select it on arm64 for zboot and UKI image support. Signed-off-by: Pingfan Liu <redacted> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will@kernel.org> To: linux-arm-kernel@lists.infradead.org --- arch/arm64/Kconfig | 1 + arch/arm64/include/asm/kexec.h | 1 + arch/arm64/kernel/machine_kexec_file.c | 3 +++ 3 files changed, 5 insertions(+)diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index e9bbfacc35a64..97d9595a5ee86 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig@@ -1608,6 +1608,7 @@ config ARCH_SELECTS_KEXEC_FILE def_bool y depends on KEXEC_FILE select HAVE_IMA_KEXEC if IMA + select KEXEC_PE_IMAGE
According to the kernel test robot's report, this may fail due to a dependency issue.
I will fix it in the next version as:
select KEXEC_PE_IMAGE if DEBUG_INFO_BTF && BPF_SYSCALL
This dependency is introduced in patch [5/12].
Cc Catalin, since I'm making changes to address this issue, I'll drop your ack
in the next version and would appreciate if you could review it again.
Thanks,
Pingfanquoted hunk ↗ jump to hunk
config ARCH_SUPPORTS_KEXEC_SIG def_bool ydiff --git a/arch/arm64/include/asm/kexec.h b/arch/arm64/include/asm/kexec.h index 4d9cc7a76d9ca..d50796bd2f1e6 100644 --- a/arch/arm64/include/asm/kexec.h +++ b/arch/arm64/include/asm/kexec.h@@ -120,6 +120,7 @@ struct kimage_arch { #ifdef CONFIG_KEXEC_FILE extern const struct kexec_file_ops kexec_image_ops; +extern const struct kexec_file_ops kexec_pe_image_ops; int arch_kimage_file_post_load_cleanup(struct kimage *image); #define arch_kimage_file_post_load_cleanup arch_kimage_file_post_load_cleanupdiff --git a/arch/arm64/kernel/machine_kexec_file.c b/arch/arm64/kernel/machine_kexec_file.c index af1ca875c52ce..7c544c385a9ab 100644 --- a/arch/arm64/kernel/machine_kexec_file.c +++ b/arch/arm64/kernel/machine_kexec_file.c@@ -24,6 +24,9 @@ const struct kexec_file_ops * const kexec_file_loaders[] = { &kexec_image_ops, +#ifdef CONFIG_KEXEC_PE_IMAGE + &kexec_pe_image_ops, +#endif NULL };-- 2.49.0