summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorMa Wupeng <mawupeng1@huawei.com>2024-01-09 05:15:36 +0100
committerAndrew Morton <akpm@linux-foundation.org>2024-01-13 00:20:47 +0100
commit7ea6ec4c25294e8bc8788148ef854df92ee8dc5e (patch)
treed8008ff33eaacb7b91f64f2b4672eaeeedb64a70 /mm
parentkexec: do syscore_shutdown() in kernel_kexec (diff)
downloadlinux-7ea6ec4c25294e8bc8788148ef854df92ee8dc5e.tar.xz
linux-7ea6ec4c25294e8bc8788148ef854df92ee8dc5e.zip
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')
-rw-r--r--mm/mm_init.c6
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;