On 2/1/22 15:46, Matthew Wilcox wrote: > On Mon, Jan 31, 2022 at 08:54:39PM +0000, Joao Martins wrote: >> On 1/31/22 20:29, Matthew Wilcox wrote: >>> Unless I am mistaken, you have to pass the compound head of the page >>> which has the error to collect_procs(). Am I mistaken? >>> >> -rc2 already has a fix for it: >> >> https://lore.kernel.org/linux-mm/20220129021420.PgBIZm-q9%25akpm@xxxxxxxxxxxxxxxxxxxx/ >> >> Earlier in that function there's a: >> >> page = compound_head(page); >> >> So the @page passed to collect_procs() already is a head page. > > It's wrong though ;-( You set the HWPoison bit on the page after > calling compound_head(), so you set the bit on the head page instead > of the precise page that had the poison. > Considering that on device-dax we would unmap the whole 2M page regardless of the poisoned subpage isn't that actually representative still? > I'm fixing this up as part of the folio patches, but you may wish to > fix it earlier than that.