diff options
author | Ma Wupeng <mawupeng1@huawei.com> | 2024-01-09 12:15:36 +0800 |
---|---|---|
committer | Andrew Morton <akpm@linux-foundation.org> | 2024-01-12 15:20:47 -0800 |
commit | 7ea6ec4c25294e8bc8788148ef854df92ee8dc5e (patch) | |
tree | d8008ff33eaacb7b91f64f2b4672eaeeedb64a70 /mm/mm_init.c | |
parent | 7bb943806ff61e83ae4cceef8906b7fe52453e8a (diff) |
efi: disable mirror feature during crashkernel
If the system has no mirrored memory or uses crashkernel.high while
kernelcore=mirror is enabled on the command line then during crashkernel,
there will be limited mirrored memory and this usually leads to OOM.
To solve this problem, disable the mirror feature during crashkernel.
Link: https://lkml.kernel.org/r/20240109041536.3903042-1-mawupeng1@huawei.com
Signed-off-by: Ma Wupeng <mawupeng1@huawei.com>
Acked-by: Mike Rapoport (IBM) <rppt@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/mm_init.c')
-rw-r--r-- | mm/mm_init.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/mm/mm_init.c b/mm/mm_init.c index 89dc29f1e6c6..2c19f5515e36 100644 --- a/mm/mm_init.c +++ b/mm/mm_init.c @@ -26,6 +26,7 @@ #include <linux/pgtable.h> #include <linux/swap.h> #include <linux/cma.h> +#include <linux/crash_dump.h> #include "internal.h" #include "slab.h" #include "shuffle.h" @@ -381,6 +382,11 @@ static void __init find_zone_movable_pfns_for_nodes(void) goto out; } + if (is_kdump_kernel()) { + pr_warn("The system is under kdump, ignore kernelcore=mirror.\n"); + goto out; + } + for_each_mem_region(r) { if (memblock_is_mirror(r)) continue; |