]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: mm: Use __pa_symbol() for set_swapper_pgd()
authorJames Morse <james.morse@arm.com>
Wed, 10 Oct 2018 14:43:22 +0000 (15:43 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Wed, 10 Oct 2018 16:57:06 +0000 (17:57 +0100)
commit3e66fe88f41308fe4d74a03eb4367309e0090c0a
treef05af02283cdb6e3555f0998dfaf88e2f53c1571
parent9a02a200647f23792c803879cb23c4e23e08051c
arm64: mm: Use __pa_symbol() for set_swapper_pgd()

commit 26b2f14b6e47d636d ("arm64/mm: use fixmap to modify
swapper_pg_dir") modifies the swapper_pg_dir via the fixmap
as the kernel page tables have been moved to a read-only
part of the kernel mapping.

Using __pa() to setup the fixmap causes CONFIG_DEBUG_VIRTUAL
to fire, as this function is used on the kernel-image swapper
address. The in_swapper_pgdir() test before each call of this
function means set_swapper_pgd() will only ever be called when
pgdp points somewhere in the kernel-image mapping of
swapper_pd_dir. Use __pa_symbol().

Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Will Deacon <will.deacon@arm.com>
Cc: Jun Yao <yaojun8558363@gmail.com>
Tested-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/mm/mmu.c