[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPcyv4hQvR+KND8F1zGoX=jBJQ6bXhLtmEAPVb=O7rDwzHniiQ@mail.gmail.com>
Date: Fri, 20 Aug 2021 09:54:06 -0700
From: Dan Williams <dan.j.williams@...el.com>
To: Jane Chu <jane.chu@...cle.com>
Cc: Shiyang Ruan <ruansy.fnst@...itsu.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
linux-xfs <linux-xfs@...r.kernel.org>,
Linux NVDIMM <nvdimm@...ts.linux.dev>,
Linux MM <linux-mm@...ck.org>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
device-mapper development <dm-devel@...hat.com>,
"Darrick J. Wong" <djwong@...nel.org>, david <david@...morbit.com>,
Christoph Hellwig <hch@....de>,
Alasdair Kergon <agk@...hat.com>,
Mike Snitzer <snitzer@...hat.com>
Subject: Re: [PATCH RESEND v6 3/9] mm: factor helpers for memory_failure_dev_pagemap
On Thu, Aug 5, 2021 at 6:01 PM Jane Chu <jane.chu@...cle.com> wrote:
>
>
> On 7/30/2021 3:01 AM, Shiyang Ruan wrote:
> > - /*
> > - * Prevent the inode from being freed while we are interrogating
> > - * the address_space, typically this would be handled by
> > - * lock_page(), but dax pages do not use the page lock. This
> > - * also prevents changes to the mapping of this pfn until
> > - * poison signaling is complete.
> > - */
> > - cookie = dax_lock_page(page);
> > - if (!cookie)
> > - goto out;
> > -
> > if (hwpoison_filter(page)) {
> > rc = 0;
> > - goto unlock;
> > + goto out;
> > }
>
> why isn't dax_lock_page() needed for hwpoison_filter() check?
Good catch. hwpoison_filter() is indeed consulting page->mapping->host
which needs to be synchronized against inode lifetime.
Powered by blists - more mailing lists