Re: [PATCH v8 06/15] kpageflags: Use is_page_hwpoison() to set KPF_HWPOISON

[email protected] Mon, 3 Aug 2026 23:44:28 -0700
Newsgroups gmane.linux.file-systems,gmane.linux.kernel.mm
Message-ID <[email protected]>

On 7/31/2026 1:07 PM, Matthew Wilcox (Oracle) wrote:
> Instead of knowing how hugetlb handles hwpoison, just ask 
> is_page_hwpoison(). This gives us the flexibility to change how hwpoison 
> is handled without updating this function in the future. Signed-off-by: 
> Matthew Wilcox (Oracle) <willy@ infradead. org>
> 
> 
> Instead of knowing how hugetlb handles hwpoison, just ask
> is_page_hwpoison().  This gives us the flexibility to change how hwpoison
> is handled without updating this function in the future.
> 
> Signed-off-by: Matthew Wilcox (Oracle) <[email protected]>
> ---
>   fs/proc/page.c | 8 ++------
>   1 file changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/fs/proc/page.c b/fs/proc/page.c
> index 7d9387143435..28c9a7b724f3 100644
> --- a/fs/proc/page.c
> +++ b/fs/proc/page.c
> @@ -233,12 +233,8 @@ u64 stable_page_flags(const struct page *page)
>   	u |= kpf_copy_bit(k, KPF_UNEVICTABLE,	PG_unevictable);
>   	u |= kpf_copy_bit(k, KPF_MLOCKED,	PG_mlocked);
>   
> -#ifdef CONFIG_MEMORY_FAILURE
> -	if (u & (1 << KPF_HUGE))
> -		u |= kpf_copy_bit(k, KPF_HWPOISON,	PG_hwpoison);
> -	else
> -		u |= kpf_copy_bit(ps.page_snapshot.flags.f, KPF_HWPOISON, PG_hwpoison);
> -#endif
> +	if (is_page_hwpoison(page))
> +		u |= KPF_HWPOISON;
>   
>   	u |= kpf_copy_bit(k, KPF_RESERVED,	PG_reserved);
>   	u |= kpf_copy_bit(k, KPF_OWNER_2,	PG_owner_2);
> -- 
> 2.47.3
> 

Good idea, but agreed with Sushiko about the bit setting issue,
with that fixed,

Reviewed-by: Jane Chu <[email protected]>

thanks,
-jane