mirror of
https://github.com/torvalds/linux.git
synced 2024-11-23 04:31:50 +00:00
af73b9a2dd
The early kaslr code open codes the detection of 'nokaslr' on the kernel command line, and this is no longer necessary now that the feature detection code, which also looks for the same string, executes before this code. Signed-off-by: Ard Biesheuvel <ardb@kernel.org> Link: https://lore.kernel.org/r/20240214122845.2033971-56-ardb+git@google.com Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
44 lines
996 B
C
44 lines
996 B
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
/*
|
|
* Copyright (C) 2016 Linaro Ltd <ard.biesheuvel@linaro.org>
|
|
*/
|
|
|
|
#include <linux/cache.h>
|
|
#include <linux/init.h>
|
|
#include <linux/printk.h>
|
|
|
|
#include <asm/cpufeature.h>
|
|
#include <asm/memory.h>
|
|
|
|
u16 __initdata memstart_offset_seed;
|
|
|
|
bool __ro_after_init __kaslr_is_enabled = false;
|
|
|
|
void __init kaslr_init(void)
|
|
{
|
|
if (kaslr_disabled_cmdline()) {
|
|
pr_info("KASLR disabled on command line\n");
|
|
return;
|
|
}
|
|
|
|
/*
|
|
* The KASLR offset modulo MIN_KIMG_ALIGN is taken from the physical
|
|
* placement of the image rather than from the seed, so a displacement
|
|
* of less than MIN_KIMG_ALIGN means that no seed was provided.
|
|
*/
|
|
if (kaslr_offset() < MIN_KIMG_ALIGN) {
|
|
pr_warn("KASLR disabled due to lack of seed\n");
|
|
return;
|
|
}
|
|
|
|
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);
|