xtensa: define update_mmu_tlb function
authorMax Filippov <jcmvbkbc@gmail.com>
Mon, 3 Jan 2022 20:08:31 +0000 (12:08 -0800)
committerMax Filippov <jcmvbkbc@gmail.com>
Tue, 22 Mar 2022 16:45:09 +0000 (09:45 -0700)
commit1c4664faa38923330d478f046dc743a00c1e2dec
treee00e486d8838a5f2e9d48b2c8989bae1cb60a16f
parenta3d0245c58f962ee99d4440ea0eaf45fb7f5a5cc
xtensa: define update_mmu_tlb function

Before the commit f9ce0be71d1f ("mm: Cleanup faultaround and finish_fault()
codepaths") there was a call to update_mmu_cache in alloc_set_pte that
used to invalidate TLB entry caching invalid PTE that caused a page
fault. That commit removed that call so now invalid TLB entry survives
causing repetitive page faults on the CPU that took the initial fault
until that TLB entry is occasionally evicted. This issue is spotted by
the xtensa TLB sanity checker.

Fix this issue by defining update_mmu_tlb function that flushes TLB entry
for the faulting address.

Cc: stable@vger.kernel.org # 5.12+
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
arch/xtensa/include/asm/pgtable.h
arch/xtensa/mm/tlb.c