OSDN Git Service

ARM: 9097/1: mmu: Declare section start/end correctly
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 17 Jun 2021 10:50:49 +0000 (11:50 +0100)
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Mon, 21 Jun 2021 10:39:39 +0000 (11:39 +0100)
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 definitely
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@intel.com>
Fixes: 6e121df14ccd ("ARM: 9090/1: Map the lowmem and kernel separately")
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
arch/arm/include/asm/memory.h

index ca213d7..cfc9dfd 100644 (file)
@@ -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