kernel/arch/riscv/mm/cacheflush.c
.. .. @@ -85,7 +85,9 @@ 85 85 { 86 86 struct page *page = pte_page(pte); 87 87 88 - if (!test_and_set_bit(PG_dcache_clean, &page->flags))88 + if (!test_bit(PG_dcache_clean, &page->flags)) {89 89 flush_icache_all(); 90 + set_bit(PG_dcache_clean, &page->flags);91 + }90 92 } 91 93 #endif /* CONFIG_MMU */