summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArd Biesheuvel <ardb@kernel.org>2023-11-29 12:16:16 +0100
committerWill Deacon <will@kernel.org>2023-12-12 11:13:53 +0000
commit50f176175e96ea5d7cbd8536c0dd774de796ef63 (patch)
treeb00b0267319f2d3dd652bdfc6cf1da3529054c9c
parentea48626f8f0efc697555d17bb5853df92461e280 (diff)
arm64/kernel: Move 'nokaslr' parsing out of early idreg code
Parsing and ignoring 'nokaslr' can be done from anywhere, except from the code that runs very early and is therefore built with limitations on the kind of relocations it is permitted to use. So move it to a source file that is part of the ordinary kernel build. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20231129111555.3594833-63-ardb@google.com Signed-off-by: Will Deacon <will@kernel.org>
-rw-r--r--arch/arm64/kernel/idreg-override.c7
-rw-r--r--arch/arm64/kernel/kaslr.c7
2 files changed, 7 insertions, 7 deletions
diff --git a/arch/arm64/kernel/idreg-override.c b/arch/arm64/kernel/idreg-override.c
index 9646f94094ed..e30fd9e32ef3 100644
--- a/arch/arm64/kernel/idreg-override.c
+++ b/arch/arm64/kernel/idreg-override.c
@@ -199,13 +199,6 @@ static const struct {
{ "nokaslr", "arm64_sw.nokaslr=1" },
};
-static int __init parse_nokaslr(char *unused)
-{
- /* nokaslr param handling is done by early cpufeature code */
- return 0;
-}
-early_param("nokaslr", parse_nokaslr);
-
static int __init parse_hexdigit(const char *p, u64 *v)
{
// skip "0x" if it comes next
diff --git a/arch/arm64/kernel/kaslr.c b/arch/arm64/kernel/kaslr.c
index 94a269cd1f07..12c7f3c8ba76 100644
--- a/arch/arm64/kernel/kaslr.c
+++ b/arch/arm64/kernel/kaslr.c
@@ -36,3 +36,10 @@ void __init kaslr_init(void)
pr_info("KASLR enabled\n");
__kaslr_is_enabled = true;
}
+
+static int __init parse_nokaslr(char *unused)
+{
+ /* nokaslr param handling is done by early cpufeature code */
+ return 0;
+}
+early_param("nokaslr", parse_nokaslr);