Skip to content
This repository has been archived by the owner on Nov 21, 2022. It is now read-only.

Commit

Permalink
kexec: replace crash_mem_range with range
Browse files Browse the repository at this point in the history
We already have struct range, so just use it.

Link: https://lkml.kernel.org/r/[email protected]
Signed-off-by: Li Chen <[email protected]>
Signed-off-by: Baoquan He <[email protected]>
Acked-by: Baoquan He <[email protected]>
Cc: Michael Ellerman <[email protected]>
Cc: Benjamin Herrenschmidt <[email protected]>
Cc: Paul Mackerras <[email protected]>
Cc: Chen Lifu <[email protected]>
Cc: "Eric W . Biederman" <[email protected]>
Cc: Jianglei Nie <[email protected]>
Cc: Petr Mladek <[email protected]>
Cc: Russell King <[email protected]>
Cc: ye xingchen <[email protected]>
Cc: Zeal Robot <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
  • Loading branch information
FirstLoveLife authored and akpm00 committed Nov 15, 2022
1 parent c432054 commit aa1b3c2
Show file tree
Hide file tree
Showing 4 changed files with 8 additions and 11 deletions.
2 changes: 1 addition & 1 deletion arch/powerpc/kexec/file_load_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ struct umem_info {

/* usable memory ranges to look up */
unsigned int nr_ranges;
const struct crash_mem_range *ranges;
const struct range *ranges;
};

const struct kexec_file_ops * const kexec_file_loaders[] = {
Expand Down
8 changes: 4 additions & 4 deletions arch/powerpc/kexec/ranges.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
static inline unsigned int get_max_nr_ranges(size_t size)
{
return ((size - sizeof(struct crash_mem)) /
sizeof(struct crash_mem_range));
sizeof(struct range));
}

/**
Expand All @@ -51,7 +51,7 @@ static inline size_t get_mem_rngs_size(struct crash_mem *mem_rngs)
return 0;

size = (sizeof(struct crash_mem) +
(mem_rngs->max_nr_ranges * sizeof(struct crash_mem_range)));
(mem_rngs->max_nr_ranges * sizeof(struct range)));

/*
* Memory is allocated in size multiple of MEM_RANGE_CHUNK_SZ.
Expand Down Expand Up @@ -98,7 +98,7 @@ static int __add_mem_range(struct crash_mem **mem_ranges, u64 base, u64 size)
*/
static void __merge_memory_ranges(struct crash_mem *mem_rngs)
{
struct crash_mem_range *ranges;
struct range *ranges;
int i, idx;

if (!mem_rngs)
Expand All @@ -123,7 +123,7 @@ static void __merge_memory_ranges(struct crash_mem *mem_rngs)
/* cmp_func_t callback to sort ranges with sort() */
static int rngcmp(const void *_x, const void *_y)
{
const struct crash_mem_range *x = _x, *y = _y;
const struct range *x = _x, *y = _y;

if (x->start > y->start)
return 1;
Expand Down
7 changes: 2 additions & 5 deletions include/linux/kexec.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

#include <linux/crash_core.h>
#include <asm/io.h>
#include <linux/range.h>

#include <uapi/linux/kexec.h>
#include <linux/verification.h>
Expand Down Expand Up @@ -240,14 +241,10 @@ static inline int arch_kexec_locate_mem_hole(struct kexec_buf *kbuf)
/* Alignment required for elf header segment */
#define ELF_CORE_HEADER_ALIGN 4096

struct crash_mem_range {
u64 start, end;
};

struct crash_mem {
unsigned int max_nr_ranges;
unsigned int nr_ranges;
struct crash_mem_range ranges[];
struct range ranges[];
};

extern int crash_exclude_mem_range(struct crash_mem *mem,
Expand Down
2 changes: 1 addition & 1 deletion kernel/kexec_file.c
Original file line number Diff line number Diff line change
Expand Up @@ -1141,7 +1141,7 @@ int crash_exclude_mem_range(struct crash_mem *mem,
{
int i, j;
unsigned long long start, end, p_start, p_end;
struct crash_mem_range temp_range = {0, 0};
struct range temp_range = {0, 0};

for (i = 0; i < mem->nr_ranges; i++) {
start = mem->ranges[i].start;
Expand Down

0 comments on commit aa1b3c2

Please sign in to comment.