arm64: mm: BUG on unsupported manipulations of live kernel mappings
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Fri, 21 Oct 2016 11:22:56 +0000 (12:22 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 7 Nov 2016 18:15:03 +0000 (18:15 +0000)
commite98216b52176ba2bfa4bdb02f178f4d08832d465
tree60967848509e807f43fc5d42183c6345c62844f3
parentb7b941afe557638b29aa6bab7070cc706f3231c1
arm64: mm: BUG on unsupported manipulations of live kernel mappings

Now that we take care not manipulate the live kernel page tables in a
way that may lead to TLB conflicts, the case where a table mapping is
replaced by a block mapping can no longer occur. So remove the handling
of this at the PUD and PMD levels, and instead, BUG() on any occurrence
of live kernel page table manipulations that modify anything other than
the permission bits.

Since mark_rodata_ro() is the only caller where the kernel mappings that
are being manipulated are actually live, drop the various conditional
flush_tlb_all() invocations, and add a single call to mark_rodata_ro()
instead.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/mm/mmu.c