arm64: Use __pa_symbol for empty_zero_page
authorGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 24 Jan 2017 11:43:40 +0000 (12:43 +0100)
committerWill Deacon <will.deacon@arm.com>
Thu, 26 Jan 2017 12:14:50 +0000 (12:14 +0000)
If CONFIG_DEBUG_VIRTUAL=y and CONFIG_ARM64_SW_TTBR0_PAN=y:

    virt_to_phys used for non-linear address: ffffff8008cc0000 (empty_zero_page+0x0/0x1000)
    WARNING: CPU: 0 PID: 0 at arch/arm64/mm/physaddr.c:14 __virt_to_phys+0x28/0x60
    ...
    [<ffffff800809abb4>] __virt_to_phys+0x28/0x60
    [<ffffff8008a02600>] setup_arch+0x46c/0x4d4

Fixes: 2077be6783b5936c ("arm64: Use __pa_symbol for kernel symbols")
Acked-by: Mark Rutland <mark.rutland@arm.com>
Acked-by: Laura Abbott <labbott@redhat.com>
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/kernel/setup.c

index 669fc9ff728b227f991ef61462a9607d1027bafd..b5222094ab52db6fb56ea196767ba45e547a5920 100644 (file)
@@ -298,7 +298,7 @@ void __init setup_arch(char **cmdline_p)
         * faults in case uaccess_enable() is inadvertently called by the init
         * thread.
         */
-       init_task.thread_info.ttbr0 = virt_to_phys(empty_zero_page);
+       init_task.thread_info.ttbr0 = __pa_symbol(empty_zero_page);
 #endif
 
 #ifdef CONFIG_VT