From: Naoya Horiguchi <naoya.horiguchi@linux.dev>
To: Sidhartha Kumar <sidhartha.kumar@oracle.com>
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
akpm@linux-foundation.org, willy@infradead.org,
linmiaohe@huawei.com, naoya.horiguchi@nec.com,
stable@vger.kernel.org
Subject: Re: [PATCH] mm/memory-failure: fix hardware poison check in unpoison_memory()
Date: Tue, 18 Jul 2023 09:14:09 +0900 [thread overview]
Message-ID: <20230718001409.GA751192@ik1-406-35019.vs.sakura.ne.jp> (raw)
In-Reply-To: <20230717181812.167757-1-sidhartha.kumar@oracle.com>
On Mon, Jul 17, 2023 at 11:18:12AM -0700, Sidhartha Kumar wrote:
> It was pointed out[1] that using folio_test_hwpoison() is wrong
> as we need to check the indiviual page that has poison.
> folio_test_hwpoison() only checks the head page so go back to using
> PageHWPoison().
>
> Reported-by: Matthew Wilcox (Oracle) <willy@infradead.org>
> Fixes: a6fddef49eef ("mm/memory-failure: convert unpoison_memory() to folios")
> Cc: stable@vger.kernel.org #v6.4
> Signed-off-by: Sidhartha Kumar <sidhartha.kumar@oracle.com>
>
> [1]: https://lore.kernel.org/lkml/ZLIbZygG7LqSI9xe@casper.infradead.org/
> ---
> mm/memory-failure.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/mm/memory-failure.c b/mm/memory-failure.c
> index 02b1d8f104d51..a114c8c3039cd 100644
> --- a/mm/memory-failure.c
> +++ b/mm/memory-failure.c
> @@ -2523,7 +2523,7 @@ int unpoison_memory(unsigned long pfn)
> goto unlock_mutex;
> }
>
> - if (!folio_test_hwpoison(folio)) {
> + if (!PageHWPoison(p)) {
I don't think this works for hwpoisoned hugetlb pages that have PageHWPoison
set on the head page, rather than on the raw subpage. In the case of
hwpoisoned thps, PageHWPoison is set on the raw subpage, not on the head
pages. (I believe this is not detected because no one considers the
scenario of unpoisoning hwpoisoned thps, which is a rare case). Perhaps the
function is_page_hwpoison() would be useful for this purpose?
Thanks,
Naoya Horiguchi
> unpoison_pr_info("Unpoison: Page was already unpoisoned %#lx\n",
> pfn, &unpoison_rs);
> goto unlock_mutex;
> --
> 2.41.0
>
>
>
next prev parent reply other threads:[~2023-07-18 0:14 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-17 18:18 Sidhartha Kumar
2023-07-17 19:00 ` Andrew Morton
2023-07-18 14:25 ` Sidhartha Kumar
2023-07-17 23:21 ` Jane Chu
2023-07-18 0:14 ` Naoya Horiguchi [this message]
2023-07-18 0:39 ` Naoya Horiguchi
2023-07-18 14:30 ` Sidhartha Kumar
2023-07-18 23:59 ` Naoya Horiguchi
2023-07-20 9:06 ` Miaohe Lin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230718001409.GA751192@ik1-406-35019.vs.sakura.ne.jp \
--to=naoya.horiguchi@linux.dev \
--cc=akpm@linux-foundation.org \
--cc=linmiaohe@huawei.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=naoya.horiguchi@nec.com \
--cc=sidhartha.kumar@oracle.com \
--cc=stable@vger.kernel.org \
--cc=willy@infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox