Use ptep_clear() instead of pte_clear(): when CONFIG_PAGE_TABLE_CHECK=y,
ptep_clear() adds some accounting, missing which would cause a BUG later.

Signed-off-by: Hugh Dickins <[email protected]>
Reported-by: Qi Zheng <[email protected]>
Closes: 
https://lore.kernel.org/linux-mm/[email protected]/
---
 mm/khugepaged.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/khugepaged.c b/mm/khugepaged.c
index bb76a5d454de..78fc1a24a1cc 100644
--- a/mm/khugepaged.c
+++ b/mm/khugepaged.c
@@ -1603,7 +1603,7 @@ int collapse_pte_mapped_thp(struct mm_struct *mm, 
unsigned long addr,
                 * TLB flush can be left until pmdp_collapse_flush() does it.
                 * PTE dirty? Shmem page is already dirty; file is read-only.
                 */
-               pte_clear(mm, addr, pte);
+               ptep_clear(mm, addr, pte);
                page_remove_rmap(page, vma, false);
                nr_ptes++;
        }
-- 
2.35.3

Reply via email to