[PATCH] ARM: mmu: Declare section start/end correctly

Linus Walleij linus.walleij at linaro.org
Thu Jun 17 03:01:52 PDT 2021


The kernel test robot reported an interesting bug:

A debug print was using %08x with kernel_sec_start and kernel_sec_end being
phys_addr_t which can be either u32 or u64 (possibly more).

Actually these should just be declared as u32 to begin with: they are declared
as such in the assembly in head.S and the kernel definately boots in a 32 bit
physical address space. Redeclare the kernel_sec_start and kernel_sec_end
to rid the bug.

Reported-by: kernel test robot <lkp at intel.com>
Fixes: 6e121df14ccd ("ARM: 9090/1: Map the lowmem and kernel separately")
Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
---
 arch/arm/include/asm/memory.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/include/asm/memory.h b/arch/arm/include/asm/memory.h
index ca213d7d095f..cfc9dfd70aad 100644
--- a/arch/arm/include/asm/memory.h
+++ b/arch/arm/include/asm/memory.h
@@ -162,8 +162,8 @@ extern unsigned long vectors_base;
  * Physical start and end address of the kernel sections. These addresses are
  * 2MB-aligned to match the section mappings placed over the kernel.
  */
-extern phys_addr_t kernel_sec_start;
-extern phys_addr_t kernel_sec_end;
+extern u32 kernel_sec_start;
+extern u32 kernel_sec_end;
 
 /*
  * Physical vs virtual RAM address space conversion.  These are
-- 
2.31.1




More information about the linux-arm-kernel mailing list