[PATCH v7 3/5] x86/KASLR: Give a warning if movable_node specified without kaslr_mem=

From: Chao Fan
Date: Wed Jan 17 2018 - 05:57:14 EST


Since only 'movable_node' specified without 'kaslr_mem=' may break
memory hotplug, so reconmmend users using 'kaslr_mem=' when
'movable_node' specified..

Signed-off-by: Chao Fan <fanc.fnst@xxxxxxxxxxxxxx>
---
arch/x86/boot/compressed/kaslr.c | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/arch/x86/boot/compressed/kaslr.c b/arch/x86/boot/compressed/kaslr.c
index b200a7ceafc1..dca846b522fc 100644
--- a/arch/x86/boot/compressed/kaslr.c
+++ b/arch/x86/boot/compressed/kaslr.c
@@ -282,6 +282,16 @@ static int handle_mem_filter(void)
!strstr(args, "kaslr_mem="))
return 0;

+#ifdef CONFIG_MEMORY_HOTPLUG
+ /*
+ * Check if "kaslr_mem=" specified when "movable_node" found. If not,
+ * just give warrning. Otherwise memory hotplug could be
+ * affected if kernel put on movable memory regions.
+ */
+ if (strstr(args, "movable_node") && !strstr(args, "kaslr_mem="))
+ warn("kaslr_mem= should specified when using movable_node.\n");
+#endif
+
tmp_cmdline = malloc(len + 1);
if (!tmp_cmdline)
error("Failed to allocate space for tmp_cmdline");
--
2.14.3