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: [v7,3/3] acpi: apei: Do not panic() on PCIe errors reported through GHES From: Alexandru Gagniuc Message-Id: <20180525155352.22350-4-mr.nuke.me@gmail.com> Date: Fri, 25 May 2018 10:53:48 -0500 To: linux-acpi@vger.kernel.org Cc: alex_gagniuc@dellteam.com, austin_bolen@dell.com, shyam_iyer@dell.com, Alexandru Gagniuc , Tony Luck , Borislav Petkov , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, "Rafael J. Wysocki" , Len Brown , Mauro Carvalho Chehab , Robert Moore , Erik Schmauss , Tyler Baicar , Will Deacon , James Morse , "Jonathan (Zhixiong) Zhang" , Dongjiu Geng , linux-edac@vger.kernel.org, linux-kernel@vger.kernel.org, devel@acpica.org List-ID: QXMgcHJldmlvdXNseSBub3RlZCwgdGhlIHBvbGljeSB0byBwYW5pYyBvbiBhbnkgIkZhdGFsIiBH SEVTIGVycm9yIGlzCm5vdCBzdWl0YWJsZSBmb3Igc2V2ZXJhbCBjbGFzc2VzIG9mIGVycm9ycy4g VGhlIG1vc3Qgbm90YWJsZSBpcwplcnJvciBjb250YWlubWVudC4gVGhlIGNvcnJlY3QgcG9saWN5 IGlzIHRvIGFjaGlldmUgaWRlbnRpY2FsIGJlaGF2aW9yCnRvIG5hdGl2ZSBlcnJvciBoYW5kbGlu ZyAtLSBpLmUuIHdoZW4gbm90IHJlcG9ydGVkIHRocm91Z2ggR0hFUy4gVGhpcywKaW4gc3BlY2lh bCBjYXNlcywgbWF5IG5vdCBiZSBwb3NzaWJsZSwgYXMgd2UgaGF2ZSB0byBleGl0IE5NSXMsIHdo aWNoCnJlcXVpcmVzIHRoZXNlIHNwZWNpYWwgY29uc2lkZXJhdGlvbnMKClBDSWUgQUVSIGVycm9y cyBhcmUgY29udGFpbmVkIGFuZCByZXBvcnRlZCBhdCB0aGUgcm9vdCBwb3J0LiBPbiBEUEMKY2Fw YWJsZSBoYXJkd2FyZSwgY29udGFpbm1lbnQgY2FuIGJlIGRvbmUgYnkgYWxsIGRvd25zdHJlYW0g cG9ydHMuIERQQwphbHNvIGhhcyB0aGUgYWRkZWQgYWR2YW50YWdlIG9mIHByZXZlbnRpbmcgZnV0 dXJlIGVycm9ycy4gU2luY2UgdGhlc2UKZXJyb3JzIHN0b3AgYXQgdGhlIHJvb3QgcG9ydCwgd2Ug Y2FuIGRvIGFsbCB0aGUgd29yayB3ZSBuZWVkIHRvIGV4aXQKTk1JIGFuZCByZWFjaCB0aGUgZXJy b3IgaGFuZGxlci4KClRoaXMgcGF0Y2ggZG9lcyBhd2F5IHdpdGggdGhlIG1pbmRsZXNzIGNyYXNo aW5nIG9mIHRoZSBzeXN0ZW0sIGFuZApjb3JyZWN0bHkgaW52b2tlcyB0aGUgQUVSIGhhbmRsZXIu IFdoZW4gQUVSIGlzIG5vdCBlbmFibGVkLCBvciB0aGUKZmlybXdhcmUgZG9lc24ndCBwcm92aWRl IHN1ZmZpY2llbnQgaW5mb3JtYXRpb24gdG8gaWRlbnRpZnkgdGhlIHNvdXJjZQpvZiB0aGUgZXJy b3IsIHRoZSBvcmlnaW5hbCBwYW5pYygpIGJlaGF2aW9yIGlzIG1haW50YWluZWQuCgpTaWduZWQt b2ZmLWJ5OiBBbGV4YW5kcnUgR2Fnbml1YyA8bXIubnVrZS5tZUBnbWFpbC5jb20+Ci0tLQogZHJp dmVycy9hY3BpL2FwZWkvZ2hlcy5jIHwgNDMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKyksIDIgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9hY3BpL2FwZWkvZ2hlcy5jIGIvZHJpdmVycy9h Y3BpL2FwZWkvZ2hlcy5jCmluZGV4IDFiMjJlMTgxNjhmNS4uZjcxMjZmNmQ4ZDUyIDEwMDY0NAot LS0gYS9kcml2ZXJzL2FjcGkvYXBlaS9naGVzLmMKKysrIGIvZHJpdmVycy9hY3BpL2FwZWkvZ2hl cy5jCkBAIC00MjUsNyArNDI1LDcgQEAgc3RhdGljIHZvaWQgZ2hlc19oYW5kbGVfbWVtb3J5X2Zh aWx1cmUoc3RydWN0IGFjcGlfaGVzdF9nZW5lcmljX2RhdGEgKmdkYXRhLCBpbnQKICAqIEdIRVNf U0VWX1JFQ09WRVJBQkxFIC0+IEFFUl9OT05GQVRBTAogICogR0hFU19TRVZfUkVDT1ZFUkFCTEUg JiYgQ1BFUl9TRUNfUkVTRVQgLT4gQUVSX0ZBVEFMCiAgKiAgICAgVGhlc2UgYm90aCBuZWVkIHRv IGJlIHJlcG9ydGVkIGFuZCByZWNvdmVyZWQgZnJvbSBieSB0aGUgQUVSIGRyaXZlci4KLSAqIEdI RVNfU0VWX0ZBVEFMIGRvZXMgbm90IG1ha2UgaXQgdG8gdGhpcyBoYW5kbGVyCisgKiBHSEVTX1NF Vl9GQVRBTCAtPiBBRVJfRkFUQUwKICAqLwogc3RhdGljIHZvaWQgZ2hlc19oYW5kbGVfYWVyKHN0 cnVjdCBhY3BpX2hlc3RfZ2VuZXJpY19kYXRhICpnZGF0YSkKIHsKQEAgLTgzNyw2ICs4MzcsNDUg QEAgc3RhdGljIGlubGluZSB2b2lkIGdoZXNfc2VhX3JlbW92ZShzdHJ1Y3QgZ2hlcyAqZ2hlcykg eyB9CiBzdGF0aWMgc3RydWN0IGxsaXN0X2hlYWQgZ2hlc19lc3RhdHVzX2xsaXN0Owogc3RhdGlj IHN0cnVjdCBpcnFfd29yayBnaGVzX3Byb2NfaXJxX3dvcms7CiAKKy8qIFBDSWUgQUVSIGVycm9y cyBhcmUgc2FmZSBpZiBBRVIgc2VjdGlvbiBjb250YWlucyBlbm91Z2ggaW5mby4gKi8KK3N0YXRp YyBpbnQgZ2hlc19wY2llX2hhc19zYWZlX2hhbmRsZXIoc3RydWN0IGFjcGlfaGVzdF9nZW5lcmlj X2RhdGEgKmdkYXRhKQoreworCXN0cnVjdCBjcGVyX3NlY19wY2llICpwY2llX2VyciA9IGFjcGlf aGVzdF9nZXRfcGF5bG9hZChnZGF0YSk7CisKKwlpZiAocGNpZV9lcnItPnZhbGlkYXRpb25fYml0 cyAmIENQRVJfUENJRV9WQUxJRF9ERVZJQ0VfSUQgJiYKKwkJcGNpZV9lcnItPnZhbGlkYXRpb25f Yml0cyAmIENQRVJfUENJRV9WQUxJRF9BRVJfSU5GTyAmJgorCQlJU19FTkFCTEVEKENPTkZJR19B Q1BJX0FQRUlfUENJRUFFUikpCisJCXJldHVybiB0cnVlOworCisJcmV0dXJuIGZhbHNlOworfQor CisvKgorICogRG8gd2UgaGF2ZSBhbiBlcnJvciBoYW5kbGVyIHRoYXQgd2UgY2FuIHNhZmVseSBy ZWFjaD8gV2UncmUgY29uY2VybmVkIHdpdGgKKyAqIGJlaW5nIGFibGUgdG8gbm90aWZ5IGFuIGVy cm9yIGhhbmRsZXIgYnkgY3Jvc3NpbmcgdGhlIE5NSS9JUlEgYm91bmRhcnksCisgKiBiZWluZyBh YmxlIHRvIHNjaGVkdWxlX3dvcmssIGFuZCBzbyBmb3J0aC4KKyAqLworc3RhdGljIGludCBnaGVz X2hhc19mYXRhbF9oYW5kbGVyKHN0cnVjdCBnaGVzICpnaGVzKQoreworCWludCB3b3JzdF9zZXYs IHNlY19zZXY7CisJYm9vbCBzYWZlID0gdHJ1ZTsKKwlzdHJ1Y3QgYWNwaV9oZXN0X2dlbmVyaWNf ZGF0YSAqZ2RhdGE7CisJY29uc3QgZ3VpZF90ICpzZWN0aW9uX3R5cGU7CisJY29uc3Qgc3RydWN0 IGFjcGlfaGVzdF9nZW5lcmljX3N0YXR1cyAqZXN0YXR1cyA9IGdoZXMtPmVzdGF0dXM7CisKKwlh cGVpX2VzdGF0dXNfZm9yX2VhY2hfc2VjdGlvbihlc3RhdHVzLCBnZGF0YSkgeworCQlzZWN0aW9u X3R5cGUgPSAoZ3VpZF90ICopZ2RhdGEtPnNlY3Rpb25fdHlwZTsKKworCQlpZiAoZ3VpZF9lcXVh bChzZWN0aW9uX3R5cGUsICZDUEVSX1NFQ19QQ0lFKSkKKwkJCXNhZmUgPSBnaGVzX3BjaWVfaGFz X3NhZmVfaGFuZGxlcihnZGF0YSk7CisKKwkJaWYgKCFzYWZlKQorCQkJYnJlYWs7CisJfQorCisJ cmV0dXJuIHNhZmU7Cit9CisKIC8qCiAgKiBOTUkgbWF5IGJlIHRyaWdnZXJlZCBvbiBhbnkgQ1BV LCBzbyBnaGVzX2luX25taSBpcyB1c2VkIGZvcgogICogaGF2aW5nIG9ubHkgb25lIGNvbmN1cnJl bnQgcmVhZGVyLgpAQCAtOTQ0LDcgKzk4Myw3IEBAIHN0YXRpYyBpbnQgZ2hlc19ub3RpZnlfbm1p KHVuc2lnbmVkIGludCBjbWQsIHN0cnVjdCBwdF9yZWdzICpyZWdzKQogCQl9CiAKIAkJc2V2ID0g Z2hlc19jcGVyX3NldmVyaXR5KGdoZXMtPmVzdGF0dXMtPmVycm9yX3NldmVyaXR5KTsKLQkJaWYg KHNldiA+PSBHSEVTX1NFVl9GQVRBTCkgeworCQlpZiAoKHNldiA+PSBHSEVTX1NFVl9GQVRBTCkg JiYgIWdoZXNfaGFzX2ZhdGFsX2hhbmRsZXIoZ2hlcykpIHsKIAkJCW9vcHNfYmVnaW4oKTsKIAkJ CWdoZXNfcHJpbnRfcXVldWVkX2VzdGF0dXMoKTsKIAkJCV9fZ2hlc19wYW5pYyhnaGVzKTsK