arm64/kprobes: set VM_FLUSH_RESET_PERMS on kprobe instruction pages
authorArd Biesheuvel <ard.biesheuvel@arm.com>
Thu, 23 May 2019 10:22:55 +0000 (11:22 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Mon, 24 Jun 2019 17:10:39 +0000 (18:10 +0100)
commitf83b4f8860046e0f5244eef35b25fc3e405d7fee
tree549e1a313e9ffb8aed756678796125d45ac7e21e
parent4739d53fcd1df8a9f6f72bb02a3a1d852ad252b3
arm64/kprobes: set VM_FLUSH_RESET_PERMS on kprobe instruction pages

In order to avoid transient inconsistencies where freed code pages
are remapped writable while stale TLB entries still exist on other
cores, mark the kprobes text pages with the VM_FLUSH_RESET_PERMS
attribute. This instructs the core vmalloc code not to defer the
TLB flush when this region is unmapped and returned to the page
allocator.

Acked-by: Will Deacon <will@kernel.org>
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/probes/kprobes.c