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

Chao Fan
2018-02-28T10:51:46Z

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

Signed-off-by: Chao Fan <fanc.fnst@cn.fujitsu.com>
Acked-by: Baoquan He <bhe@redhat.com>
---
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 eb47502fbe54..9fb86248d5c5 100644
--- a/arch/x86/boot/compressed/kaslr.c
+++ b/arch/x86/boot/compressed/kaslr.c
@@ -288,6 +288,16 @@ static int handle_mem_filter(void)
!strstr(args, "kaslr_boot_mem="))
return 0;

+#ifdef CONFIG_MEMORY_HOTPLUG
+ /*
+ * Check if 'kaslr_boot_mem=' specified when 'movable_node' found.
+ * If not, just give a warrning. Otherwise memory hotplug could be
+ * affected if kernel is put on movable memory regions.
+ */
+ if (strstr(args, "movable_node") && !strstr(args, "kaslr_boot_mem="))
+ warn("'kaslr_boot_mem=' should be 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