Re: [PATCH STABLE v6.1.y] mm/migrate: set swap entry values of THP tail pages properly.

Greg KH
2024-03-06T13:51:37Z

On Tue, Mar 05, 2024 at 06:13:39PM -0500, Zi Yan wrote:
> On 5 Mar 2024, at 17:32, Greg KH wrote:
>
> > On Tue, Mar 05, 2024 at 11:09:17PM +0100, David Hildenbrand wrote:
> >> On 05.03.24 23:04, Greg KH wrote:
> >>> On Tue, Mar 05, 2024 at 11:13:13AM -0500, Zi Yan wrote:
> >>>> From: Zi Yan <ziy@nvidia.com>
> >>>>
> >>>> The tail pages in a THP can have swap entry information stored in their
> >>>> private field. When migrating to a new page, all tail pages of the new
> >>>> page need to update ->private to avoid future data corruption.
> >>>>
> >>>> Signed-off-by: Zi Yan <ziy@nvidia.com>
> >>>> ---
> >>>> mm/migrate.c | 6 +++++-
> >>>> 1 file changed, 5 insertions(+), 1 deletion(-)
> >>>
> >>> What is the git commit id of this change in Linus's tree?
> >>
> >> Unfortunately, we had to do stable-only versions, because the backport
> >> of the "accidental" fix that removes the per-subpage "private" information
> >> would be non-trivial, especially for pre-folio-converison times.
> >>
> >> The accidental fix is
> >>
> >> 07e09c483cbef2a252f75d95670755a0607288f5
> >
> > None of that is obvious at all here, we need loads of documentation in
> > the changelog text that says all of that please.
>
> How about?
>
> Before 07e09c483cbe ("mm/huge_memory: work on folio->swap instead of
> page->private when splitting folio"), when a THP is added into swapcache,
> each of its subpages has its own swapcache entry and need ->private pointing
> to the right swapcache entry. THP added to swapcache function is added in
> 38d8b4e6bdc87 ("mm, THP, swap: delay splitting THP during swap out").
> When THP migration was added in 616b8371539a6 ("mm: thp: enable thp migration in generic path"), it did not take care of swapcached THP's subpages,
> neither updated subpage's ->private nor replaced subpage pointer in
> the swapcache. Later, e71769ae5260 ("mm: enable thp migration for shmem thp")
> fixed swapcache update part. Now this patch fixes the subpage ->private
> update part.

That's better than what is there now :)

So yes, please resend all of these with the new text and then we can
queue them up.

thanks,

greg k-h