arm64: mm: ensure that the zero page is visible to the page table walker
authorWill Deacon <will.deacon@arm.com>
Thu, 10 Dec 2015 16:05:36 +0000 (16:05 +0000)
committerWill Deacon <will.deacon@arm.com>
Fri, 11 Dec 2015 17:33:22 +0000 (17:33 +0000)
commit32d6397805d00573ce1fa55f408ce2bca15b0ad3
treefc55e1a1887e33df4511559978a2facf1fec3642
parent9cb9c9e5ba8453537e8e645318edf231fe54eaf9
arm64: mm: ensure that the zero page is visible to the page table walker

In paging_init, we allocate the zero page, memset it to zero and then
point TTBR0 to it in order to avoid speculative fetches through the
identity mapping.

In order to guarantee that the freshly zeroed page is indeed visible to
the page table walker, we need to execute a dsb instruction prior to
writing the TTBR.

Cc: <stable@vger.kernel.org> # v3.14+, for older kernels need to drop the 'ishst'
Signed-off-by: Will Deacon <will.deacon@arm.com>
arch/arm64/mm/mmu.c