On Thu, Jul 06, 2023 at 03:50:29PM -0700, Axel Rasmussen wrote:
diff --git a/mm/madvise.c b/mm/madvise.c index 886f06066622..59e954586e2a 100644 --- a/mm/madvise.c +++ b/mm/madvise.c @@ -660,7 +660,7 @@ static int madvise_free_pte_range(pmd_t *pmd, unsigned long addr, free_swap_and_cache(entry); pte_clear_not_present_full(mm, addr, pte, tlb->fullmm); } else if (is_hwpoison_entry(entry) ||
is_swapin_error_entry(entry)) {
is_error_swp_entry(entry)) {
is_error_swp_entry() made me think whether we should call this marker as ERROR at all - it's too generic, is_error_swp_entry() can be easily read as "this swap entry is not legal". Can we come up with a less generic one?
PTE_MARKER_PAGE_POISONED / PTE_MARKER_POISONED / PTE_MARKER_PAGE_ERR / ...?
We do use poisoned only in real bad physical pages before, but I think we can still keep using it when applying it to a pte. I think it's fine to call a pte poisoned if it's not legal to access, just like a poisoned page.
pte_clear_not_present_full(mm, addr, pte, tlb->fullmm); } continue;
The code change across the whole patch look good to me otherwise, thanks.