mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 21:15:53 +02:00
riscv: Flush the tlb when a page directory is freed
[ Upstream commit97cf301fa4] The riscv privileged specification mandates to flush the TLB whenever a page directory is modified, so add that to tlb_flush(). Fixes:c5e9b2c2ae("riscv: Improve tlb_flush()") Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com> Reviewed-by: Charlie Jenkins <charlie@rivosinc.com> Link: https://lore.kernel.org/r/20240128120405.25876-1-alexghiti@rivosinc.com Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
aceb4ab968
commit
f4b69db0ef
|
|
@ -16,7 +16,7 @@ static void tlb_flush(struct mmu_gather *tlb);
|
|||
static inline void tlb_flush(struct mmu_gather *tlb)
|
||||
{
|
||||
#ifdef CONFIG_MMU
|
||||
if (tlb->fullmm || tlb->need_flush_all)
|
||||
if (tlb->fullmm || tlb->need_flush_all || tlb->freed_tables)
|
||||
flush_tlb_mm(tlb->mm);
|
||||
else
|
||||
flush_tlb_mm_range(tlb->mm, tlb->start, tlb->end,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user