]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit55713b55339f0677ce3c43a13bb5542368cbf731
tree60967848509e807f43fc5d42183c6345c62844f3
parenta7395d4b5cc0e6b5e6fc713c314236743541801c
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