On Thu, Aug 5, 2021 at 6:01 PM Jane Chu <jane.chu@xxxxxxxxxx> 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.