summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHari Bathini <hbathini@linux.ibm.com>2024-02-26 16:00:08 +0530
committerMichael Ellerman <mpe@ellerman.id.au>2024-03-17 13:34:00 +1100
commit56a34d799bfa53064e7b8bd354aacd176aeaecc8 (patch)
tree6a77826c83b50906952df9d55f89e532ada2fbc7
parent78cb0945f7141961781f815168f6873ad2b7ed29 (diff)
downloadlinux-stable-56a34d799bfa53064e7b8bd354aacd176aeaecc8.tar.gz
linux-stable-56a34d799bfa53064e7b8bd354aacd176aeaecc8.tar.bz2
linux-stable-56a34d799bfa53064e7b8bd354aacd176aeaecc8.zip
kexec/kdump: make struct crash_mem available without CONFIG_CRASH_DUMP
struct crash_mem defined under include/linux/crash_core.h represents a list of memory ranges. While it is used to represent memory ranges for kdump kernel, it can also be used for other kind of memory ranges. In fact, KEXEC_FILE_LOAD syscall in powerpc uses this structure to represent reserved memory ranges and exclude memory ranges needed to find the right memory regions to load kexec kernel. So, make the definition of crash_mem structure available for !CONFIG_CRASH_DUMP case too. Signed-off-by: Hari Bathini <hbathini@linux.ibm.com> Acked-by: Baoquan He <bhe@redhat.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/20240226103010.589537-2-hbathini@linux.ibm.com
-rw-r--r--include/linux/crash_core.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/include/linux/crash_core.h b/include/linux/crash_core.h
index 23270b16e1db..d33352c2e386 100644
--- a/include/linux/crash_core.h
+++ b/include/linux/crash_core.h
@@ -8,6 +8,12 @@
struct kimage;
+struct crash_mem {
+ unsigned int max_nr_ranges;
+ unsigned int nr_ranges;
+ struct range ranges[] __counted_by(max_nr_ranges);
+};
+
#ifdef CONFIG_CRASH_DUMP
int crash_shrink_memory(unsigned long new_size);
@@ -51,12 +57,6 @@ static inline unsigned int crash_get_elfcorehdr_size(void) { return 0; }
/* Alignment required for elf header segment */
#define ELF_CORE_HEADER_ALIGN 4096
-struct crash_mem {
- unsigned int max_nr_ranges;
- unsigned int nr_ranges;
- struct range ranges[] __counted_by(max_nr_ranges);
-};
-
extern int crash_exclude_mem_range(struct crash_mem *mem,
unsigned long long mstart,
unsigned long long mend);