[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1409926097-2101-3-git-send-email-bhe@redhat.com>
Date: Fri, 5 Sep 2014 22:08:15 +0800
From: Baoquan He <bhe@...hat.com>
To: linux-kernel@...r.kernel.org
Cc: ak@...ux.intel.com, mingo@...hat.com, whissi@...ssi.de,
dyoung@...hat.com, tglx@...utronix.de, vgoyal@...hat.com,
keescook@...omium.org, chaowang@...hat.com,
Baoquan He <bhe@...hat.com>
Subject: [PATCH 2/4] kaslr: check if the random addr is available
Currently kaslr enabling can extend the kernel virtual address space
to 1G, next is for modules. So if kernel is loaded to above 1G, system
running will be exceptional, This happened when kexec/kdump load kernel.
So add a check to see if the decompression output region is contained
in 1G.
Signed-off-by: Baoquan He <bhe@...hat.com>
---
arch/x86/boot/compressed/misc.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c
index 7780a5b..d2a0eaa 100644
--- a/arch/x86/boot/compressed/misc.c
+++ b/arch/x86/boot/compressed/misc.c
@@ -250,6 +250,11 @@ static void handle_relocations(void *output, unsigned long output_len)
}
#endif
+ if (max_addr > CONFIG_RANDOMIZE_BASE_MAX_OFFSET) {
+ debug_putstr("Random addr is not allowed. No relocation needed... \n");
+ return;
+ }
+
/*
* Calculate the delta between where vmlinux was linked to load
* and where it was actually loaded.
--
1.8.5.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists