Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1381623
| Path | csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod |
|---|---|
| From | Konstantin Khlebnikov <khlebnikov@yandex-team.ru> |
| Newsgroups | linux.kernel |
| Subject | [PATCH] mm/memory-failure: fix race with compound page split/merge |
| Date | Mon, 18 Apr 2016 13:50:01 +0200 |
| Message-ID | <rpfQJ-4Ut-11@gated-at.bofh.it> (permalink) |
| Dkim-Signature | v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1460979828; bh=y3R1wSUnZIuCRVaNzjDjU8o7uVrRRjMgdtDhjsj/Qms=; h=Subject:From:To:Cc:Date:Message-ID:User-Agent:MIME-Version: Content-Type:Content-Transfer-Encoding; b=bAGbNeJZ2tEuj1p15IycO096sFCrF+iQEEmO0c5Ul4Pd+KobKSPzt2kieZ3mD2bdz p56PSVUGiKAurJwVlxFWBze0vSTnllLJZpnTFcDCnMiyNRBlRl/6lTyICyJkEsE2Vl Bh6sUqUAHm63zlGfB87gY1JK/TzG3hV33iFW9UNQ= |
| Authentication-Results | smtpcorp1m.mail.yandex.net; dkim=pass header.i=@yandex-team.ru |
| User-Agent | StGit/0.17.1-dirty |
| MIME-Version | 1.0 |
| Content-Type | text/plain; charset="utf-8" |
| Content-Transfer-Encoding | 7bit |
| Sender | robomod@news.nic.it |
| List-ID | <linux-kernel.vger.kernel.org> |
| X-Mailing-List | linux-kernel@vger.kernel.org |
| Approved | robomod@news.nic.it |
| Lines | 28 |
| Organization | linux.* mail to news gateway |
| X-Original-Cc | linux-kernel@vger.kernel.org, "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com> |
| X-Original-Date | Mon, 18 Apr 2016 14:43:45 +0300 |
| X-Original-Message-ID | <146097982568.15733.13924990169211134049.stgit@buzz> |
| X-Original-Sender | linux-kernel-owner@vger.kernel.org |
| Xref | csiph.com linux.kernel:1381623 |
Show key headers only | View raw
Get_hwpoison_page() must recheck relation between head and tail pages.
Signed-off-by: Konstantin Khlebnikov <khlebnikov@yandex-team.ru>
---
mm/memory-failure.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/mm/memory-failure.c b/mm/memory-failure.c
index 78f5f2641b91..ca5acee53b7a 100644
--- a/mm/memory-failure.c
+++ b/mm/memory-failure.c
@@ -888,7 +888,15 @@ int get_hwpoison_page(struct page *page)
}
}
- return get_page_unless_zero(head);
+ if (get_page_unless_zero(head)) {
+ if (head == compound_head(page))
+ return 1;
+
+ pr_info("MCE: %#lx cannot catch tail\n", page_to_pfn(page));
+ put_page(head);
+ }
+
+ return 0;
}
EXPORT_SYMBOL_GPL(get_hwpoison_page);
Back to linux.kernel | Previous | Next — Next in thread | Find similar | Unroll thread
[PATCH] mm/memory-failure: fix race with compound page split/merge Konstantin Khlebnikov <khlebnikov@yandex-team.ru> - 2016-04-18 13:50 +0200
Re: [PATCH] mm/memory-failure: fix race with compound page split/merge Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> - 2016-04-19 01:20 +0200
Re: [PATCH] mm/memory-failure: fix race with compound page split/merge Konstantin Khlebnikov <koct9i@gmail.com> - 2016-04-19 08:00 +0200
Re: [PATCH] mm/memory-failure: fix race with compound page split/merge Andrew Morton <akpm@linux-foundation.org> - 2016-04-22 01:50 +0200
csiph-web