OSDN Git Service

MIPS: relocatable: Use __kaslr_offset in show_kernel_relocation
authorJinyang He <hejinyang@loongson.cn>
Fri, 5 Feb 2021 10:11:22 +0000 (18:11 +0800)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Tue, 9 Feb 2021 09:56:04 +0000 (10:56 +0100)
The type of the VMLINUX_LOAD_ADDRESS macro is the (unsigned long long)
in 32bits kernel but (unsigned long) in the 64-bit kernel. Although there
is no error here, avoid using it to calculate kaslr_offset.

Signed-off-by: Jinyang He <hejinyang@loongson.cn>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/kernel/relocate.c

index 95abb9c..e73c4fd 100644 (file)
@@ -430,13 +430,9 @@ out:
  */
 static void show_kernel_relocation(const char *level)
 {
-       unsigned long offset;
-
-       offset = __pa_symbol(_text) - __pa_symbol(VMLINUX_LOAD_ADDRESS);
-
-       if (IS_ENABLED(CONFIG_RELOCATABLE) && offset > 0) {
+       if (__kaslr_offset > 0) {
                printk(level);
-               pr_cont("Kernel relocated by 0x%pK\n", (void *)offset);
+               pr_cont("Kernel relocated by 0x%pK\n", (void *)__kaslr_offset);
                pr_cont(" .text @ 0x%pK\n", _text);
                pr_cont(" .data @ 0x%pK\n", _sdata);
                pr_cont(" .bss  @ 0x%pK\n", __bss_start);