arm64/kernel: Move 'nokaslr' parsing out of early idreg code
authorArd Biesheuvel <ardb@kernel.org>
Wed, 29 Nov 2023 11:16:16 +0000 (12:16 +0100)
committerWill Deacon <will@kernel.org>
Tue, 12 Dec 2023 11:13:53 +0000 (11:13 +0000)
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>
arch/arm64/kernel/idreg-override.c
arch/arm64/kernel/kaslr.c

index 9646f94094edcb1b31e6517f161707c0e58818cd..e30fd9e32ef3a1e308ad8dec3722c454eb7deb0f 100644 (file)
@@ -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
index 94a269cd1f07a0e9b2fa7d338f8232318c298449..12c7f3c8ba764f42584a42aa07720349a6366cd4 100644 (file)
@@ -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);