lkml.org 
[lkml]   [2021]   [Nov]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [stable 5.10 v2 PATCH 1/2] mm: hwpoison: remove the unnecessary THP check
On Thu, Nov 04, 2021 at 02:07:51PM -0700, Yang Shi wrote:
> commit c7cb42e94473aafe553c0f2a3d8ca904599399ed upstream.
>
> When handling THP hwpoison checked if the THP is in allocation or free
> stage since hwpoison may mistreat it as hugetlb page. After commit
> 415c64c1453a ("mm/memory-failure: split thp earlier in memory error
> handling") the problem has been fixed, so this check is no longer
> needed. Remove it. The side effect of the removal is hwpoison may
> report unsplit THP instead of unknown error for shmem THP. It seems not
> like a big deal.
>
> The following patch "mm: filemap: check if THP has hwpoisoned subpage
> for PMD page fault" depends on this, which fixes shmem THP with
> hwpoisoned subpage(s) are mapped PMD wrongly. So this patch needs to be
> backported to -stable as well.
>
> Link: https://lkml.kernel.org/r/20211020210755.23964-2-shy828301@gmail.com
> Signed-off-by: Yang Shi <shy828301@gmail.com>
> Suggested-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
> Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
> Cc: Hugh Dickins <hughd@google.com>
> Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
> Cc: Matthew Wilcox <willy@infradead.org>
> Cc: Oscar Salvador <osalvador@suse.de>
> Cc: Peter Xu <peterx@redhat.com>
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
> ---
> mm/memory-failure.c | 14 --------------
> 1 file changed, 14 deletions(-)
>
> diff --git a/mm/memory-failure.c b/mm/memory-failure.c
> index 01445ddff58d..bd2cd4dd59b6 100644
> --- a/mm/memory-failure.c
> +++ b/mm/memory-failure.c
> @@ -956,20 +956,6 @@ static int get_hwpoison_page(struct page *page)
> {
> struct page *head = compound_head(page);
>
> - if (!PageHuge(head) && PageTransHuge(head)) {
> - /*
> - * Non anonymous thp exists only in allocation/free time. We
> - * can't handle such a case correctly, so let's give it up.
> - * This should be better than triggering BUG_ON when kernel
> - * tries to touch the "partially handled" page.
> - */
> - if (!PageAnon(head)) {
> - pr_err("Memory failure: %#lx: non anonymous thp\n",
> - page_to_pfn(page));
> - return 0;
> - }
> - }
> -
> if (get_page_unless_zero(head)) {
> if (head == compound_head(page))
> return 1;
> --
> 2.26.2
>

Thanks, both now queued up.

greg k-h

\
 
 \ /
  Last update: 2021-11-08 09:07    [W:0.032 / U:0.280 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site