From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: FAILED: patch "[PATCH] acpi/nfit, x86/mce: Handle only uncorrectable machine checks" failed to apply to 4.14-stable tree From: Greg Kroah-Hartman Message-Id: <1542624487149204@kroah.com> Date: Mon, 19 Nov 2018 11:48:07 +0100 To: vishal.l.verma@intel.com, arnd@arndb.de, bp@suse.de, dan.j.williams@intel.com, dave.jiang@intel.com, hpa@zytor.com, lenb@kernel.org, linux-edac@vger.kernel.org, mingo@redhat.com, omar.avelar@intel.com, qiuxu.zhuo@intel.com, rjw@rjwysocki.net, stable@vger.kernel.org, tglx@linutronix.de, tony.luck@intel.com, x86@kernel.org, yazen.ghannam@amd.com, zwisler@kernel.org List-ID: VGhlIHBhdGNoIGJlbG93IGRvZXMgbm90IGFwcGx5IHRvIHRoZSA0LjE0LXN0YWJsZSB0cmVlLgpJ ZiBzb21lb25lIHdhbnRzIGl0IGFwcGxpZWQgdGhlcmUsIG9yIHRvIGFueSBvdGhlciBzdGFibGUg b3IgbG9uZ3Rlcm0KdHJlZSwgdGhlbiBwbGVhc2UgZW1haWwgdGhlIGJhY2twb3J0LCBpbmNsdWRp bmcgdGhlIG9yaWdpbmFsIGdpdCBjb21taXQKaWQgdG8gPHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmc+ LgoKdGhhbmtzLAoKZ3JlZyBrLWgKCi0tLS0tLS0tLS0tLS0tLS0tLSBvcmlnaW5hbCBjb21taXQg aW4gTGludXMncyB0cmVlIC0tLS0tLS0tLS0tLS0tLS0tLQoKRnJvbSA1ZDk2YzkzNDJjMjNlZTFk MDg0ODAyZGNmMDY0Y2FhNjdlY2FhNDViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBW aXNoYWwgVmVybWEgPHZpc2hhbC5sLnZlcm1hQGludGVsLmNvbT4KRGF0ZTogVGh1LCAyNSBPY3Qg MjAxOCAxODozNzoyOCAtMDYwMApTdWJqZWN0OiBbUEFUQ0hdIGFjcGkvbmZpdCwgeDg2L21jZTog SGFuZGxlIG9ubHkgdW5jb3JyZWN0YWJsZSBtYWNoaW5lIGNoZWNrcwoKVGhlIE1DRSBoYW5kbGVy IGZvciBuZml0IGRldmljZXMgaXMgY2FsbGVkIGZvciBtZW1vcnkgZXJyb3JzIG9uIGEKTm9uLVZv bGF0aWxlIERJTU0gYW5kIGFkZHMgdGhlIGVycm9yIGxvY2F0aW9uIHRvIGEgJ2JhZGJsb2Nrcycg bGlzdC4KVGhpcyBsaXN0IGlzIHVzZWQgYnkgdGhlIHZhcmlvdXMgTlZESU1NIGRyaXZlcnMgdG8g YXZvaWQgY29uc3VtaW5nIGtub3duCnBvaXNvbiBsb2NhdGlvbnMgZHVyaW5nIElPLgoKVGhlIE1D RSBoYW5kbGVyIGdldHMgY2FsbGVkIGZvciBib3RoIGNvcnJlY3RlZCBhbmQgdW5jb3JyZWN0YWJs ZSBlcnJvcnMuClVudGlsIG5vdywgYm90aCBraW5kcyBvZiBlcnJvcnMgaGF2ZSBiZWVuIGFkZGVk IHRvIHRoZSBiYWRibG9ja3MgbGlzdC4KSG93ZXZlciwgY29ycmVjdGVkIG1lbW9yeSBlcnJvcnMg aW5kaWNhdGUgdGhhdCB0aGUgcHJvYmxlbSBoYXMgYWxyZWFkeQpiZWVuIGZpeGVkIGJ5IGhhcmR3 YXJlLCBhbmQgdGhlIHJlc3VsdGluZyBpbnRlcnJ1cHQgaXMgbWVyZWx5IGEKbm90aWZpY2F0aW9u IHRvIExpbnV4LgoKQXMgZmFyIGFzIGZ1dHVyZSBhY2Nlc3NlcyB0byB0aGF0IGxvY2F0aW9uIGFy ZSBjb25jZXJuZWQsIGl0IGlzCnBlcmZlY3RseSBmaW5lIHRvIHVzZSwgYW5kIHRodXMgZG9lc24n dCBuZWVkIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBhYm92ZQpiYWRibG9ja3MgbGlzdC4KCkFkZCBh IGNoZWNrIGluIHRoZSBuZml0IE1DRSBoYW5kbGVyIHRvIGZpbHRlciBvdXQgY29ycmVjdGVkIG1j ZSBldmVudHMsCmFuZCBvbmx5IHByb2Nlc3MgdW5jb3JyZWN0YWJsZSBlcnJvcnMuCgpGaXhlczog NjgzOWE2ZDk2ZjRlICgibmZpdDogZG8gYW4gQVJTIHNjcnViIG9uIGhpdHRpbmcgYSBsYXRlbnQg bWVkaWEgZXJyb3IiKQpSZXBvcnRlZC1ieTogT21hciBBdmVsYXIgPG9tYXIuYXZlbGFyQGludGVs LmNvbT4KU2lnbmVkLW9mZi1ieTogVmlzaGFsIFZlcm1hIDx2aXNoYWwubC52ZXJtYUBpbnRlbC5j b20+ClNpZ25lZC1vZmYtYnk6IEJvcmlzbGF2IFBldGtvdiA8YnBAc3VzZS5kZT4KQ0M6IEFybmQg QmVyZ21hbm4gPGFybmRAYXJuZGIuZGU+CkNDOiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1z QGludGVsLmNvbT4KQ0M6IERhdmUgSmlhbmcgPGRhdmUuamlhbmdAaW50ZWwuY29tPgpDQzogZWxs aW90dEBocGUuY29tCkNDOiAiSC4gUGV0ZXIgQW52aW4iIDxocGFAenl0b3IuY29tPgpDQzogSW5n byBNb2xuYXIgPG1pbmdvQHJlZGhhdC5jb20+CkNDOiBMZW4gQnJvd24gPGxlbmJAa2VybmVsLm9y Zz4KQ0M6IGxpbnV4LWFjcGlAdmdlci5rZXJuZWwub3JnCkNDOiBsaW51eC1lZGFjIDxsaW51eC1l ZGFjQHZnZXIua2VybmVsLm9yZz4KQ0M6IGxpbnV4LW52ZGltbUBsaXN0cy4wMS5vcmcKQ0M6IFFp dXh1IFpodW8gPHFpdXh1LnpodW9AaW50ZWwuY29tPgpDQzogIlJhZmFlbCBKLiBXeXNvY2tpIiA8 cmp3QHJqd3lzb2NraS5uZXQ+CkNDOiBSb3NzIFp3aXNsZXIgPHp3aXNsZXJAa2VybmVsLm9yZz4K Q0M6IHN0YWJsZSA8c3RhYmxlQHZnZXIua2VybmVsLm9yZz4KQ0M6IFRob21hcyBHbGVpeG5lciA8 dGdseEBsaW51dHJvbml4LmRlPgpDQzogVG9ueSBMdWNrIDx0b255Lmx1Y2tAaW50ZWwuY29tPgpD QzogeDg2LW1sIDx4ODZAa2VybmVsLm9yZz4KQ0M6IFlhemVuIEdoYW5uYW0gPHlhemVuLmdoYW5u YW1AYW1kLmNvbT4KTGluazogaHR0cDovL2xrbWwua2VybmVsLm9yZy9yLzIwMTgxMDI2MDAzNzI5 Ljg0MjAtMS12aXNoYWwubC52ZXJtYUBpbnRlbC5jb20KCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9p bmNsdWRlL2FzbS9tY2UuaCBiL2FyY2gveDg2L2luY2x1ZGUvYXNtL21jZS5oCmluZGV4IDRkYTli MWM1OGQyOC4uZGJkOWZlMmY2MTYzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9t Y2UuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9tY2UuaApAQCAtMjIxLDYgKzIyMSw3IEBA IHN0YXRpYyBpbmxpbmUgdm9pZCBtY2VfaHlnb25fZmVhdHVyZV9pbml0KHN0cnVjdCBjcHVpbmZv X3g4NiAqYykgeyByZXR1cm4gbWNlX2FtCiAKIGludCBtY2VfYXZhaWxhYmxlKHN0cnVjdCBjcHVp bmZvX3g4NiAqYyk7CiBib29sIG1jZV9pc19tZW1vcnlfZXJyb3Ioc3RydWN0IG1jZSAqbSk7Citi b29sIG1jZV9pc19jb3JyZWN0YWJsZShzdHJ1Y3QgbWNlICptKTsKIAogREVDTEFSRV9QRVJfQ1BV KHVuc2lnbmVkLCBtY2VfZXhjZXB0aW9uX2NvdW50KTsKIERFQ0xBUkVfUEVSX0NQVSh1bnNpZ25l ZCwgbWNlX3BvbGxfY291bnQpOwpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hl Y2svbWNlLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2UuYwppbmRleCA4YzY2ZDJm YzhmODEuLjc3NTI3YjhlYTk4MiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2hl Y2svbWNlLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2hlY2svbWNlLmMKQEAgLTUzNCw3 ICs1MzQsNyBAQCBib29sIG1jZV9pc19tZW1vcnlfZXJyb3Ioc3RydWN0IG1jZSAqbSkKIH0KIEVY UE9SVF9TWU1CT0xfR1BMKG1jZV9pc19tZW1vcnlfZXJyb3IpOwogCi1zdGF0aWMgYm9vbCBtY2Vf aXNfY29ycmVjdGFibGUoc3RydWN0IG1jZSAqbSkKK2Jvb2wgbWNlX2lzX2NvcnJlY3RhYmxlKHN0 cnVjdCBtY2UgKm0pCiB7CiAJaWYgKG0tPmNwdXZlbmRvciA9PSBYODZfVkVORE9SX0FNRCAmJiBt LT5zdGF0dXMgJiBNQ0lfU1RBVFVTX0RFRkVSUkVEKQogCQlyZXR1cm4gZmFsc2U7CkBAIC01NDcs NiArNTQ3LDcgQEAgc3RhdGljIGJvb2wgbWNlX2lzX2NvcnJlY3RhYmxlKHN0cnVjdCBtY2UgKm0p CiAKIAlyZXR1cm4gdHJ1ZTsKIH0KK0VYUE9SVF9TWU1CT0xfR1BMKG1jZV9pc19jb3JyZWN0YWJs ZSk7CiAKIHN0YXRpYyBib29sIGNlY19hZGRfbWNlKHN0cnVjdCBtY2UgKm0pCiB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2FjcGkvbmZpdC9tY2UuYyBiL2RyaXZlcnMvYWNwaS9uZml0L21jZS5jCmlu ZGV4IGU5NjI2YmY2Y2EyOS4uN2E1MTcwN2Y4N2U5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2FjcGkv bmZpdC9tY2UuYworKysgYi9kcml2ZXJzL2FjcGkvbmZpdC9tY2UuYwpAQCAtMjUsOCArMjUsOCBA QCBzdGF0aWMgaW50IG5maXRfaGFuZGxlX21jZShzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLCB1 bnNpZ25lZCBsb25nIHZhbCwKIAlzdHJ1Y3QgYWNwaV9uZml0X2Rlc2MgKmFjcGlfZGVzYzsKIAlz dHJ1Y3QgbmZpdF9zcGEgKm5maXRfc3BhOwogCi0JLyogV2Ugb25seSBjYXJlIGFib3V0IG1lbW9y eSBlcnJvcnMgKi8KLQlpZiAoIW1jZV9pc19tZW1vcnlfZXJyb3IobWNlKSkKKwkvKiBXZSBvbmx5 IGNhcmUgYWJvdXQgdW5jb3JyZWN0YWJsZSBtZW1vcnkgZXJyb3JzICovCisJaWYgKCFtY2VfaXNf bWVtb3J5X2Vycm9yKG1jZSkgfHwgbWNlX2lzX2NvcnJlY3RhYmxlKG1jZSkpCiAJCXJldHVybiBO T1RJRllfRE9ORTsKIAogCS8qCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out4-smtp.messagingengine.com ([66.111.4.28]:34051 "EHLO out4-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727879AbeKSVL0 (ORCPT ); Mon, 19 Nov 2018 16:11:26 -0500 Subject: FAILED: patch "[PATCH] acpi/nfit, x86/mce: Handle only uncorrectable machine checks" failed to apply to 4.14-stable tree To: vishal.l.verma@intel.com, arnd@arndb.de, bp@suse.de, dan.j.williams@intel.com, dave.jiang@intel.com, hpa@zytor.com, lenb@kernel.org, linux-edac@vger.kernel.org, mingo@redhat.com, omar.avelar@intel.com, qiuxu.zhuo@intel.com, rjw@rjwysocki.net, stable@vger.kernel.org, tglx@linutronix.de, tony.luck@intel.com, x86@kernel.org, yazen.ghannam@amd.com, zwisler@kernel.org Cc: From: Date: Mon, 19 Nov 2018 11:48:07 +0100 Message-ID: <1542624487149204@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org List-ID: The patch below does not apply to the 4.14-stable tree. If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to . thanks, greg k-h ------------------ original commit in Linus's tree ------------------ >>From 5d96c9342c23ee1d084802dcf064caa67ecaa45b Mon Sep 17 00:00:00 2001 From: Vishal Verma Date: Thu, 25 Oct 2018 18:37:28 -0600 Subject: [PATCH] acpi/nfit, x86/mce: Handle only uncorrectable machine checks The MCE handler for nfit devices is called for memory errors on a Non-Volatile DIMM and adds the error location to a 'badblocks' list. This list is used by the various NVDIMM drivers to avoid consuming known poison locations during IO. The MCE handler gets called for both corrected and uncorrectable errors. Until now, both kinds of errors have been added to the badblocks list. However, corrected memory errors indicate that the problem has already been fixed by hardware, and the resulting interrupt is merely a notification to Linux. As far as future accesses to that location are concerned, it is perfectly fine to use, and thus doesn't need to be included in the above badblocks list. Add a check in the nfit MCE handler to filter out corrected mce events, and only process uncorrectable errors. Fixes: 6839a6d96f4e ("nfit: do an ARS scrub on hitting a latent media error") Reported-by: Omar Avelar Signed-off-by: Vishal Verma Signed-off-by: Borislav Petkov CC: Arnd Bergmann CC: Dan Williams CC: Dave Jiang CC: elliott@hpe.com CC: "H. Peter Anvin" CC: Ingo Molnar CC: Len Brown CC: linux-acpi@vger.kernel.org CC: linux-edac CC: linux-nvdimm@lists.01.org CC: Qiuxu Zhuo CC: "Rafael J. Wysocki" CC: Ross Zwisler CC: stable CC: Thomas Gleixner CC: Tony Luck CC: x86-ml CC: Yazen Ghannam Link: http://lkml.kernel.org/r/20181026003729.8420-1-vishal.l.verma@intel.com diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h index 4da9b1c58d28..dbd9fe2f6163 100644 --- a/arch/x86/include/asm/mce.h +++ b/arch/x86/include/asm/mce.h @@ -221,6 +221,7 @@ static inline void mce_hygon_feature_init(struct cpuinfo_x86 *c) { return mce_am int mce_available(struct cpuinfo_x86 *c); bool mce_is_memory_error(struct mce *m); +bool mce_is_correctable(struct mce *m); DECLARE_PER_CPU(unsigned, mce_exception_count); DECLARE_PER_CPU(unsigned, mce_poll_count); diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 8c66d2fc8f81..77527b8ea982 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -534,7 +534,7 @@ bool mce_is_memory_error(struct mce *m) } EXPORT_SYMBOL_GPL(mce_is_memory_error); -static bool mce_is_correctable(struct mce *m) +bool mce_is_correctable(struct mce *m) { if (m->cpuvendor == X86_VENDOR_AMD && m->status & MCI_STATUS_DEFERRED) return false; @@ -547,6 +547,7 @@ static bool mce_is_correctable(struct mce *m) return true; } +EXPORT_SYMBOL_GPL(mce_is_correctable); static bool cec_add_mce(struct mce *m) { diff --git a/drivers/acpi/nfit/mce.c b/drivers/acpi/nfit/mce.c index e9626bf6ca29..7a51707f87e9 100644 --- a/drivers/acpi/nfit/mce.c +++ b/drivers/acpi/nfit/mce.c @@ -25,8 +25,8 @@ static int nfit_handle_mce(struct notifier_block *nb, unsigned long val, struct acpi_nfit_desc *acpi_desc; struct nfit_spa *nfit_spa; - /* We only care about memory errors */ - if (!mce_is_memory_error(mce)) + /* We only care about uncorrectable memory errors */ + if (!mce_is_memory_error(mce) || mce_is_correctable(mce)) return NOTIFY_DONE; /*