Rebase rhel9 kernel kexec/kdump code to upstream kernel 6.0
Bugzilla: https://bugzilla.redhat.com/2119002
Upstream: Linus's tree
This mainly aligns the generic part of kernel code with upstream kernel 6.0. The architecture part of kexec/kdump code in each arch folder is not related. I think they can be carried in in the arch rebase code.
fs/proc/kcore.c
fs/proc/vmcore.c
kernel/crash_core.c
kernel/crash_dump.c
kernel/kexec.c
kernel/kexec_core.c
kernel/kexec_elf.c
kernel/kexec_file.c
kernel/kexec_internal.h
Anything I missed, or the arch part of code I should or can carry in this rebase, please help point out.
v3->v4:
Added the 1st commit and the x86 commit from patch series "kexec: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef". This patchset is to optimize the code compilation and linking. The arm64 commit has been back ported before by other people. The risc-v commit is skipped because it's not supported by rhel9, and it has conflict. People can entirely back port the risc-v code to rhel9 w/o conflict later if there's tiny possibility it's required by rhel9.
d339f1584f0a arm64: mm: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
4ece09be9913 x86/setup: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
d414cb379ac3 riscv: mm: init: use IS_ENABLED(CONFIG_KEXEC_CORE) instead of #ifdef
f05fa10901aa kexec: make crashk_res, crashk_low_res and crash_notes symbols always visible
v2->v3:
Backed ported those s390 patches, otherwise s390 kdump will be broken. Jerry pointed out this during MR reviewing, thx a lot to Jerry.
Signed-off-by: Baoquan He bhe@redhat.com