linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH stable-5.10] mm/memory-failure: fix an incorrect use of tail pages
@ 2024-03-07 12:48 Liu Shixin
  2024-03-11  1:51 ` Liu Shixin
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Liu Shixin @ 2024-03-07 12:48 UTC (permalink / raw)
  To: Matthew Wilcox, Andrew Morton, Sasha Levin, Dan Williams,
	Naoya Horiguchi
  Cc: linux-kernel, linux-mm, stable, Liu Shixin

When backport commit c79c5a0a00a9 to 5.10-stable, there is a mistake change.
The head page instead of tail page should be passed to try_to_unmap(),
otherwise unmap will failed as follows.

 Memory failure: 0x121c10: failed to unmap page (mapcount=1)
 Memory failure: 0x121c10: recovery action for unmapping failed page: Ignored

Fixes: 70168fdc743b ("mm/memory-failure: check the mapcount of the precise page")
Signed-off-by: Liu Shixin <liushixin2@huawei.com>
---
 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 f320ff02cc19..dba2936292cf 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -1075,7 +1075,7 @@ static bool hwpoison_user_mappings(struct page *p, unsigned long pfn,
 				unmap_success = false;
 			}
 		} else {
-			unmap_success = try_to_unmap(p, ttu);
+			unmap_success = try_to_unmap(hpage, ttu);
 		}
 	}
 	if (!unmap_success)
-- 
2.25.1



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH stable-5.10] mm/memory-failure: fix an incorrect use of tail pages
  2024-03-07 12:48 [PATCH stable-5.10] mm/memory-failure: fix an incorrect use of tail pages Liu Shixin
@ 2024-03-11  1:51 ` Liu Shixin
  2024-03-25  3:36 ` Liu Shixin
  2024-03-30  9:20 ` Patch "mm/memory-failure: fix an incorrect use of tail pages" has been added to the 5.10-stable tree gregkh
  2 siblings, 0 replies; 6+ messages in thread
From: Liu Shixin @ 2024-03-11  1:51 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Matthew Wilcox, Andrew Morton, Sasha Levin, Dan Williams,
	Naoya Horiguchi, linux-kernel, linux-mm, stable

Hi, Greg,

There is a bugfix for 5.10-stable, 5.4-stable, 4.19-stable. Introduced when backport

commit c79c5a0a00a9 ("mm/memory-failure: check the mapcount of the precise page").

[1]: https://lore.kernel.org/stable/20240307124841.2838010-1-liushixin2@huawei.com/

[2]: https://lore.kernel.org/stable/20240307125053.2847205-1-liushixin2@huawei.com/

[3]: https://lore.kernel.org/stable/20240307125150.2849068-1-liushixin2@huawei.com/


Thanks,


On 2024/3/7 20:48, Liu Shixin wrote:
> When backport commit c79c5a0a00a9 to 5.10-stable, there is a mistake change.
> The head page instead of tail page should be passed to try_to_unmap(),
> otherwise unmap will failed as follows.
>
>  Memory failure: 0x121c10: failed to unmap page (mapcount=1)
>  Memory failure: 0x121c10: recovery action for unmapping failed page: Ignored
>
> Fixes: 70168fdc743b ("mm/memory-failure: check the mapcount of the precise page")
> Signed-off-by: Liu Shixin <liushixin2@huawei.com>
> ---
>  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 f320ff02cc19..dba2936292cf 100644
> --- a/mm/memory-failure.c
> +++ b/mm/memory-failure.c
> @@ -1075,7 +1075,7 @@ static bool hwpoison_user_mappings(struct page *p, unsigned long pfn,
>  				unmap_success = false;
>  			}
>  		} else {
> -			unmap_success = try_to_unmap(p, ttu);
> +			unmap_success = try_to_unmap(hpage, ttu);
>  		}
>  	}
>  	if (!unmap_success)



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH stable-5.10] mm/memory-failure: fix an incorrect use of tail pages
  2024-03-07 12:48 [PATCH stable-5.10] mm/memory-failure: fix an incorrect use of tail pages Liu Shixin
  2024-03-11  1:51 ` Liu Shixin
@ 2024-03-25  3:36 ` Liu Shixin
  2024-03-25  3:57   ` Matthew Wilcox
  2024-03-30  9:20 ` Patch "mm/memory-failure: fix an incorrect use of tail pages" has been added to the 5.10-stable tree gregkh
  2 siblings, 1 reply; 6+ messages in thread
From: Liu Shixin @ 2024-03-25  3:36 UTC (permalink / raw)
  To: Matthew Wilcox, stable, Greg Kroah-Hartman
  Cc: Andrew Morton, Sasha Levin, Dan Williams, Naoya Horiguchi,
	linux-kernel, linux-mm

Hi,

After backport commit c79c5a0a00a9 ("mm/memory-failure: check the mapcount of the precise page"),

I got an error message as written on the patch. The problem can be fixed by the patch or just revert.

Now I prefer to revert because I think it is related to folio and no impact in stable, or maybe I'm wrong.


Thanks,


On 2024/3/7 20:48, Liu Shixin wrote:
> When backport commit c79c5a0a00a9 to 5.10-stable, there is a mistake change.
> The head page instead of tail page should be passed to try_to_unmap(),
> otherwise unmap will failed as follows.
>
>  Memory failure: 0x121c10: failed to unmap page (mapcount=1)
>  Memory failure: 0x121c10: recovery action for unmapping failed page: Ignored
>
> Fixes: 70168fdc743b ("mm/memory-failure: check the mapcount of the precise page")
> Signed-off-by: Liu Shixin <liushixin2@huawei.com>
> ---
>  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 f320ff02cc19..dba2936292cf 100644
> --- a/mm/memory-failure.c
> +++ b/mm/memory-failure.c
> @@ -1075,7 +1075,7 @@ static bool hwpoison_user_mappings(struct page *p, unsigned long pfn,
>  				unmap_success = false;
>  			}
>  		} else {
> -			unmap_success = try_to_unmap(p, ttu);
> +			unmap_success = try_to_unmap(hpage, ttu);
>  		}
>  	}
>  	if (!unmap_success)



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH stable-5.10] mm/memory-failure: fix an incorrect use of tail pages
  2024-03-25  3:36 ` Liu Shixin
@ 2024-03-25  3:57   ` Matthew Wilcox
  2024-03-30  9:12     ` Greg Kroah-Hartman
  0 siblings, 1 reply; 6+ messages in thread
From: Matthew Wilcox @ 2024-03-25  3:57 UTC (permalink / raw)
  To: Liu Shixin
  Cc: stable, Greg Kroah-Hartman, Andrew Morton, Sasha Levin,
	Dan Williams, Naoya Horiguchi, linux-kernel, linux-mm

On Mon, Mar 25, 2024 at 11:36:49AM +0800, Liu Shixin wrote:
> Hi,
> 
> After backport commit c79c5a0a00a9 ("mm/memory-failure: check the mapcount of the precise page"),
> 
> I got an error message as written on the patch. The problem can be fixed by the patch or just revert.
> 
> Now I prefer to revert because I think it is related to folio and no impact in stable, or maybe I'm wrong.

I checked out what is going wrong here, and Liu Shixin is correct.

Commit c79c5a0a00a9 was incorrectly backported to v5.10 and
commit 70168fdc743b changees the page passed to try_to_unmap().
It now passes the tail page, and should always have passed hpage.
Please apply the patch below to v5.10 (and any other trees that
c79c5a0a00a9 got backported to).

> 
> Thanks,
> 
> 
> On 2024/3/7 20:48, Liu Shixin wrote:
> > When backport commit c79c5a0a00a9 to 5.10-stable, there is a mistake change.
> > The head page instead of tail page should be passed to try_to_unmap(),
> > otherwise unmap will failed as follows.
> >
> >  Memory failure: 0x121c10: failed to unmap page (mapcount=1)
> >  Memory failure: 0x121c10: recovery action for unmapping failed page: Ignored
> >
> > Fixes: 70168fdc743b ("mm/memory-failure: check the mapcount of the precise page")
> > Signed-off-by: Liu Shixin <liushixin2@huawei.com>
> > ---
> >  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 f320ff02cc19..dba2936292cf 100644
> > --- a/mm/memory-failure.c
> > +++ b/mm/memory-failure.c
> > @@ -1075,7 +1075,7 @@ static bool hwpoison_user_mappings(struct page *p, unsigned long pfn,
> >  				unmap_success = false;
> >  			}
> >  		} else {
> > -			unmap_success = try_to_unmap(p, ttu);
> > +			unmap_success = try_to_unmap(hpage, ttu);
> >  		}
> >  	}
> >  	if (!unmap_success)
> 
> 


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH stable-5.10] mm/memory-failure: fix an incorrect use of tail pages
  2024-03-25  3:57   ` Matthew Wilcox
@ 2024-03-30  9:12     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 6+ messages in thread
From: Greg Kroah-Hartman @ 2024-03-30  9:12 UTC (permalink / raw)
  To: Matthew Wilcox
  Cc: Liu Shixin, stable, Andrew Morton, Sasha Levin, Dan Williams,
	Naoya Horiguchi, linux-kernel, linux-mm

On Mon, Mar 25, 2024 at 03:57:06AM +0000, Matthew Wilcox wrote:
> On Mon, Mar 25, 2024 at 11:36:49AM +0800, Liu Shixin wrote:
> > Hi,
> > 
> > After backport commit c79c5a0a00a9 ("mm/memory-failure: check the mapcount of the precise page"),
> > 
> > I got an error message as written on the patch. The problem can be fixed by the patch or just revert.
> > 
> > Now I prefer to revert because I think it is related to folio and no impact in stable, or maybe I'm wrong.
> 
> I checked out what is going wrong here, and Liu Shixin is correct.
> 
> Commit c79c5a0a00a9 was incorrectly backported to v5.10 and
> commit 70168fdc743b changees the page passed to try_to_unmap().
> It now passes the tail page, and should always have passed hpage.
> Please apply the patch below to v5.10 (and any other trees that
> c79c5a0a00a9 got backported to).

All now queued up,t hanks.

greg k-h


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Patch "mm/memory-failure: fix an incorrect use of tail pages" has been added to the 5.10-stable tree
  2024-03-07 12:48 [PATCH stable-5.10] mm/memory-failure: fix an incorrect use of tail pages Liu Shixin
  2024-03-11  1:51 ` Liu Shixin
  2024-03-25  3:36 ` Liu Shixin
@ 2024-03-30  9:20 ` gregkh
  2 siblings, 0 replies; 6+ messages in thread
From: gregkh @ 2024-03-30  9:20 UTC (permalink / raw)
  To: akpm, dan.j.williams, gregkh, linux-mm, liushixin2, n-horiguchi,
	sashal, willy
  Cc: stable-commits


This is a note to let you know that I've just added the patch titled

    mm/memory-failure: fix an incorrect use of tail pages

to the 5.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     mm-memory-failure-fix-an-incorrect-use-of-tail-pages.patch
and it can be found in the queue-5.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.


From liushixin2@huawei.com  Sat Mar 30 10:10:31 2024
From: Liu Shixin <liushixin2@huawei.com>
Date: Thu, 7 Mar 2024 20:48:41 +0800
Subject: mm/memory-failure: fix an incorrect use of tail pages
To: Matthew Wilcox <willy@infradead.org>, Andrew Morton <akpm@linux-foundation.org>, Sasha Levin <sashal@kernel.org>, Dan Williams <dan.j.williams@intel.com>, Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Cc: <linux-kernel@vger.kernel.org>, <linux-mm@kvack.org>, <stable@vger.kernel.org>, Liu Shixin <liushixin2@huawei.com>
Message-ID: <20240307124841.2838010-1-liushixin2@huawei.com>

From: Liu Shixin <liushixin2@huawei.com>

When backport commit c79c5a0a00a9 to 5.10-stable, there is a mistake change.
The head page instead of tail page should be passed to try_to_unmap(),
otherwise unmap will failed as follows.

 Memory failure: 0x121c10: failed to unmap page (mapcount=1)
 Memory failure: 0x121c10: recovery action for unmapping failed page: Ignored

Fixes: 70168fdc743b ("mm/memory-failure: check the mapcount of the precise page")
Signed-off-by: Liu Shixin <liushixin2@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 mm/memory-failure.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -1075,7 +1075,7 @@ static bool hwpoison_user_mappings(struc
 				unmap_success = false;
 			}
 		} else {
-			unmap_success = try_to_unmap(p, ttu);
+			unmap_success = try_to_unmap(hpage, ttu);
 		}
 	}
 	if (!unmap_success)


Patches currently in stable-queue which might be from liushixin2@huawei.com are

queue-5.10/mm-memory-failure-fix-an-incorrect-use-of-tail-pages.patch


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-03-30  9:20 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-07 12:48 [PATCH stable-5.10] mm/memory-failure: fix an incorrect use of tail pages Liu Shixin
2024-03-11  1:51 ` Liu Shixin
2024-03-25  3:36 ` Liu Shixin
2024-03-25  3:57   ` Matthew Wilcox
2024-03-30  9:12     ` Greg Kroah-Hartman
2024-03-30  9:20 ` Patch "mm/memory-failure: fix an incorrect use of tail pages" has been added to the 5.10-stable tree gregkh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox