All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: akpm@linux-foundation.org, dan.j.williams@intel.com,
	jane.chu@oracle.com, joao.m.martins@oracle.com,
	linux-mm@kvack.org, mm-commits@vger.kernel.org,
	naoya.horiguchi@nec.com, songmuchun@bytedance.com,
	torvalds@linux-foundation.org
Subject: [patch 04/12] memory-failure: fetch compound_head after pgmap_pfn_valid()
Date: Sat, 29 Jan 2022 13:41:01 -0800	[thread overview]
Message-ID: <20220129214101.N9rZeRVSg%akpm@linux-foundation.org> (raw)
In-Reply-To: <20220129134026.8ccf701012f26eb2c2c269c9@linux-foundation.org>

From: Joao Martins <joao.m.martins@oracle.com>
Subject: memory-failure: fetch compound_head after pgmap_pfn_valid()

memory_failure_dev_pagemap() at the moment assumes base pages (e.g. 
dax_lock_page()).  For devmap with compound pages fetch the compound_head
in case a tail page memory failure is being handled.

Currently this is a nop, but in the advent of compound pages in
dev_pagemap it allows memory_failure_dev_pagemap() to keep working.

Without this fix memory-failure handling (i.e.  MCEs on pmem) with
device-dax configured namespaces will regress (and crash).  

Link: https://lkml.kernel.org/r/20211202204422.26777-2-joao.m.martins@oracle.com
Reported-by: Jane Chu <jane.chu@oracle.com>
Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
Reviewed-by: Naoya Horiguchi <naoya.horiguchi@nec.com>
Reviewed-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Muchun Song <songmuchun@bytedance.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 mm/memory-failure.c |    6 ++++++
 1 file changed, 6 insertions(+)

--- a/mm/memory-failure.c~memory-failure-fetch-compound_head-after-pgmap_pfn_valid
+++ a/mm/memory-failure.c
@@ -1596,6 +1596,12 @@ static int memory_failure_dev_pagemap(un
 	}
 
 	/*
+	 * Pages instantiated by device-dax (not filesystem-dax)
+	 * may be compound pages.
+	 */
+	page = compound_head(page);
+
+	/*
 	 * 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
_


  parent reply	other threads:[~2022-01-29 21:41 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-29 21:40 incoming Andrew Morton
2022-01-29 21:40 ` [patch 01/12] include/linux/sysctl.h: fix register_sysctl_mount_point() return type Andrew Morton
2022-01-29 21:40 ` [patch 02/12] binfmt_misc: fix crash when load/unload module Andrew Morton
2022-01-29 21:40 ` [patch 03/12] ia64: make IA64_MCA_RECOVERY bool instead of tristate Andrew Morton
2022-01-29 21:41 ` Andrew Morton [this message]
2022-01-29 21:41 ` [patch 05/12] mm: page->mapping folio->mapping should have the same offset Andrew Morton
2022-01-29 21:41 ` [patch 06/12] tools/testing/scatterlist: add missing defines Andrew Morton
2022-01-29 21:41 ` [patch 07/12] kasan: test: fix compatibility with FORTIFY_SOURCE Andrew Morton
2022-01-29 21:41 ` [patch 08/12] mm, kasan: use compare-exchange operation to set KASAN page tag Andrew Morton
2022-01-29 21:41 ` [patch 09/12] psi: fix "no previous prototype" warnings when CONFIG_CGROUPS=n Andrew Morton
2022-01-29 21:41 ` [patch 10/12] psi: fix "defined but not used" warnings when CONFIG_PROC_FS=n Andrew Morton
2022-01-29 21:41 ` [patch 11/12] jbd2: export jbd2_journal_[grab|put]_journal_head Andrew Morton
2022-01-29 21:41 ` [patch 12/12] ocfs2: fix a deadlock when commit trans Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220129214101.N9rZeRVSg%akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=dan.j.williams@intel.com \
    --cc=jane.chu@oracle.com \
    --cc=joao.m.martins@oracle.com \
    --cc=linux-mm@kvack.org \
    --cc=mm-commits@vger.kernel.org \
    --cc=naoya.horiguchi@nec.com \
    --cc=songmuchun@bytedance.com \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.