Re: [PATCH 5/6] mm/page_alloc.c: avoid accessing uninitialized pcp page migratetype

From: David Hildenbrand
Date: Wed Sep 01 2021 - 04:10:43 EST


On 01.09.21 10:02, Miaohe Lin wrote:
On 2021/8/31 22:23, David Hildenbrand wrote:
On 31.08.21 15:43, Mel Gorman wrote:
On Mon, Aug 30, 2021 at 10:10:50PM +0800, Miaohe Lin wrote:
If it's not prepared to free unref page, the pcp page migratetype is
unset. Thus We will get rubbish from get_pcppage_migratetype() and
might list_del &page->lru again after it's already deleted from the
list leading to grumble about data corruption.

Fixes: 3dcbe270d8ec ("mm/page_alloc: avoid conflating IRQs disabled with zone->lock")
Signed-off-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>

Acked-by: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>

This fix is fairly important. Take this patch out and send it on its own
so it gets picked up relatively quickly. It does not belong in a series
that is mostly cosmetic cleanups.

I think the commit id is wrong. Shouldn't that be

df1acc856923 ("mm/page_alloc: avoid conflating IRQs disabled with zone->lock")

?


Many thanks for pointing this out.

I used to save the git log in a file to make life easier. But it seems this leads
to the old commit id above.

commit 3dcbe270d8ec57e534f5c605279cdc3ceb1f044a
Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
Date: Fri Jun 4 14:20:03 2021 +1000

mm/page_alloc: avoid conflating IRQs disabled with zone->lock

git name-rev 3dcbe270d8ec
3dcbe270d8ec tags/next-20210604~2^2~196

vs

commit df1acc856923c0a65c28b588585449106c316b71
Author: Mel Gorman <mgorman@xxxxxxxxxxxxxxxxxxx>
Date: Mon Jun 28 19:42:00 2021 -0700

mm/page_alloc: avoid conflating IRQs disabled with zone->lock

git name-rev df1acc856923
df1acc856923 tags/next-20210630~2^2~278

Their contents are same but with different commit id. The previous one
could have been git-rebased.


-mm tree commit ids keep changing until patches are upstream. Therefore, you can observe changing commit ids in -next. Always use the ones from Linus' tree, they are stable.

--
Thanks,

David / dhildenb