Unverified Commit 852fac5a authored by openeuler-ci-bot's avatar openeuler-ci-bot Committed by Gitee
Browse files

!6581 LoongArch: fix KASLR can not be disabled by nokaslr when boot from old BPI

parents e486ea3e db9925f1
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
#define __LEGACY_BOOT_H_
#include <linux/screen_info.h>
#include <linux/of_address.h>
#include <asm/loongson.h>
#define ADDRESS_TYPE_SYSRAM	1
#define ADDRESS_TYPE_RESERVED	2
#define ADDRESS_TYPE_ACPI	3
@@ -87,4 +88,6 @@ extern int __init
pch_msi_parse_madt(union acpi_subtable_headers *header,
		const unsigned long end);
extern struct irq_domain *get_pchpic_irq_domain(void);

extern __init void fw_init_cmdline(unsigned long argc, unsigned long cmdp);
#endif
+5 −1
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@
#include <asm/inst.h>
#include <asm/sections.h>
#include <asm/setup.h>
#include "legacy_boot.h"

#define RELOCATED(x) ((void *)((long)x + reloc_offset))
#define RELOCATED_KASLR(x) ((void *)((long)x + random_offset))
@@ -172,7 +173,10 @@ unsigned long __init relocate_kernel(void)
	void *location_new = _text; /* Default to original kernel start */
	char *cmdline = early_ioremap(fw_arg1, COMMAND_LINE_SIZE); /* Boot command line is passed in fw_arg1 */

	if (fw_arg0 < 2)
		strscpy(boot_command_line, cmdline, COMMAND_LINE_SIZE);
	else
		fw_init_cmdline(fw_arg0, TO_CACHE(fw_arg1)); /* OLD BPI parameters */

#ifdef CONFIG_RANDOMIZE_BASE
	location_new = determine_relocation_address();