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: [3/3] EDAC, sb_edac: Fix reporting wrong DIMM when patrol scrubber finds error From: "Luck, Tony" Message-Id: <20180904210759.3814-4-tony.luck@intel.com> Date: Tue, 4 Sep 2018 14:07:59 -0700 To: Borislav Petkov Cc: Qiuxu Zhuo , Tony Luck , Borislav Petkov , Mauro Carvalho Chehab , Aristeu Rozanski , linux-edac@vger.kernel.org List-ID: RnJvbTogUWl1eHUgWmh1byA8cWl1eHUuemh1b0BpbnRlbC5jb20+CgpFREFDIGRyaXZlciBzb21l dGltZXMgcmVwb3J0cyB0aGUgd3JvbmcgRElNTSBmb3IgYSBtZW1vcnkKZXJyb3IgZm91bmQgYnkg dGhlIHBhdHJvbCBzY3J1YmJlci4gSXQncyByb290ZWQgaW4gaC93IHRoYXQKb25seSBwcm92aWRl cyBhIDRLQiBwYWdlIGFsaWduZWQgYWRkcmVzcyBmb3IgdGhlIGVycm9yIGNhc2UuClRoaXMgbWVh bnMgdGhhdCB0aGUgRURBQyBkcml2ZXIgd2lsbCBwb2ludCBhdCB0aGUgRElNTSBtYXRjaGluZwpv ZmZzZXQgMHgwIGluIHRoZSA0S0IgcGFnZSwgYnV0IGJlY2F1c2Ugb2YgaW50ZXJsZWF2aW5nIGFj cm9zcwpjaGFubmVscyBhbmQgcmFua3MgdGhlIGFjdHVhbCBESU1NIGludm9sdmVkIG1heSBiZSBk aWZmZXJlbnQKaWYgdGhlIGVycm9yIGlzIG9uIHNvbWUgb3RoZXIgY2FjaGUgbGluZSB3aXRoaW4g dGhlIHBhZ2UuCgpGb3IgdGhpcyBlcnJvciBjYXNlLCB3ZSBjb3VsZCBwYXNzIHRoZSBzb2NrZXQv aU1DL2NoYW5uZWwKaW5mb3JtYXRpb24gZnJvbSB0aGUgIm1jZSIgc3RydWN0dXJlIHBhc3NlZCB0 aGUgRURBQyBkcml2ZXIKYW5kICJkaW1tPS0xIiB0byB0aGUgRURBQyBjb3JlLiBTbyBpdCB3aWxs IHJlcG9ydCBhbGwgdGhlCkRJTU1zIG9uIHRoYXQgY2hhbm5lbCBtYXkgYmUgYWZmZWN0ZWQuCgpT aWduZWQtb2ZmLWJ5OiBRaXV4dSBaaHVvIDxxaXV4dS56aHVvQGludGVsLmNvbT4KU2lnbmVkLW9m Zi1ieTogVG9ueSBMdWNrIDx0b255Lmx1Y2tAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZWRhYy9z Yl9lZGFjLmMgfCA5NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0K IDEgZmlsZSBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZWRhYy9zYl9lZGFjLmMgYi9kcml2ZXJzL2VkYWMvc2JfZWRhYy5jCmlu ZGV4IGYzNjc4Y2RhZGE4My4uZjYwMDljN2Q0NTJiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2VkYWMv c2JfZWRhYy5jCisrKyBiL2RyaXZlcnMvZWRhYy9zYl9lZGFjLmMKQEAgLTMyNiw2ICszMjYsNyBA QCBzdHJ1Y3Qgc2JyaWRnZV9pbmZvIHsKIAljb25zdCBzdHJ1Y3QgaW50ZXJsZWF2ZV9wa2cgKmlu dGVybGVhdmVfcGtnOwogCXU4CQltYXhfc2FkOwogCXU4CQkoKmdldF9ub2RlX2lkKShzdHJ1Y3Qg c2JyaWRnZV9wdnQgKnB2dCk7CisJdTgJCSgqZ2V0X2hhKSh1OCBiYW5rKTsKIAllbnVtIG1lbV90 eXBlCSgqZ2V0X21lbW9yeV90eXBlKShzdHJ1Y3Qgc2JyaWRnZV9wdnQgKnB2dCk7CiAJZW51bSBk ZXZfdHlwZQkoKmdldF93aWR0aCkoc3RydWN0IHNicmlkZ2VfcHZ0ICpwdnQsIHUzMiBtdHIpOwog CXN0cnVjdCBwY2lfZGV2CSpwY2lfdnRkOwpAQCAtMTAwMiw2ICsxMDAzLDIyIEBAIHN0YXRpYyB1 OCBrbmxfZ2V0X25vZGVfaWQoc3RydWN0IHNicmlkZ2VfcHZ0ICpwdnQpCiAJcmV0dXJuIEdFVF9C SVRGSUVMRChyZWcsIDAsIDIpOwogfQogCitzdGF0aWMgdTggc2JyaWRnZV9nZXRfaGEodTggYmFu aykKK3sKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHU4IGlicmlkZ2VfZ2V0X2hhKHU4IGJhbmsp Cit7CisJc3dpdGNoIChiYW5rKSB7CisJY2FzZSA3IC4uLiA4OgorCQlyZXR1cm4gYmFuayAtIDc7 CisJY2FzZSA5IC4uLiAxNjoKKwkJcmV0dXJuIChiYW5rIC0gOSkgLyA0OworCWRlZmF1bHQ6CisJ CXJldHVybiAtRUlOVkFMOworCX0KK30KIAogc3RhdGljIHU2NCBoYXN3ZWxsX2dldF90b2xtKHN0 cnVjdCBzYnJpZGdlX3B2dCAqcHZ0KQogewpAQCAtMjIwNyw2ICsyMjI0LDU2IEBAIHN0YXRpYyBp bnQgZ2V0X21lbW9yeV9lcnJvcl9kYXRhKHN0cnVjdCBtZW1fY3RsX2luZm8gKm1jaSwKIAlyZXR1 cm4gMDsKIH0KIAorc3RhdGljIGludCBnZXRfbWVtb3J5X2Vycm9yX2RhdGFfZnJvbV9tY2Uoc3Ry dWN0IG1lbV9jdGxfaW5mbyAqbWNpLAorCQkJCQkgIGNvbnN0IHN0cnVjdCBtY2UgKm0sIHU4ICpz b2NrZXQsCisJCQkJCSAgdTggKmhhLCBsb25nICpjaGFubmVsX21hc2ssCisJCQkJCSAgY2hhciAq bXNnKQoreworCXUzMiByZWcsIGNoYW5uZWwgPSBHRVRfQklURklFTEQobS0+c3RhdHVzLCAwLCAz KTsKKwlzdHJ1Y3QgbWVtX2N0bF9pbmZvICpuZXdfbWNpOworCXN0cnVjdCBzYnJpZGdlX3B2dCAq cHZ0OworCXN0cnVjdCBwY2lfZGV2ICpwY2lfaGE7CisJYm9vbCB0YWQwOworCisJaWYgKGNoYW5u ZWwgPj0gTlVNX0NIQU5ORUxTKSB7CisJCXNwcmludGYobXNnLCAiSW52YWxpZCBjaGFubmVsIDB4 JXgiLCBjaGFubmVsKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcHZ0ID0gbWNpLT5wdnRf aW5mbzsKKwkqaGEgPSBwdnQtPmluZm8uZ2V0X2hhKG0tPmJhbmspOworCWlmICgqaGEgIT0gMCAm JiAqaGEgIT0gMSkgeworCQlzcHJpbnRmKG1zZywgIkludmFsaWQgaGEgMHgleCIsICpoYSk7CisJ CXJldHVybiAtRUlOVkFMOworCX0KKworCSpzb2NrZXQgPSBtLT5zb2NrZXRpZDsKKwluZXdfbWNp ID0gZ2V0X21jaV9mb3Jfbm9kZV9pZCgqc29ja2V0LCAqaGEpOworCWlmICghbmV3X21jaSkgewor CQlzdHJjcHkobXNnLCAibWNpIHNvY2tldCBnb3QgY29ycnVwdGVkISIpOworCQlyZXR1cm4gLUVJ TlZBTDsKKwl9CisKKwlwdnQgPSBuZXdfbWNpLT5wdnRfaW5mbzsKKwlwY2lfaGEgPSBwdnQtPnBj aV9oYTsKKwlwY2lfcmVhZF9jb25maWdfZHdvcmQocGNpX2hhLCB0YWRfZHJhbV9ydWxlWzBdLCAm cmVnKTsKKwl0YWQwID0gbS0+YWRkciA8PSBUQURfTElNSVQocmVnKTsKKworCSpjaGFubmVsX21h c2sgPSAxIDw8IGNoYW5uZWw7CisJaWYgKHB2dC0+bWlycm9yX21vZGUgPT0gRlVMTF9NSVJST1JJ TkcgfHwKKwkgICAgKHB2dC0+bWlycm9yX21vZGUgPT0gQUREUl9SQU5HRV9NSVJST1JJTkcgJiYg dGFkMCkpIHsKKwkJKmNoYW5uZWxfbWFzayB8PSAxIDw8ICgoY2hhbm5lbCArIDIpICUgNCk7CisJ CXB2dC0+aXNfY3VyX2FkZHJfbWlycm9yZWQgPSB0cnVlOworCX0gZWxzZSB7CisJCXB2dC0+aXNf Y3VyX2FkZHJfbWlycm9yZWQgPSBmYWxzZTsKKwl9CisKKwlpZiAocHZ0LT5pc19sb2Nrc3RlcCkK KwkJKmNoYW5uZWxfbWFzayB8PSAxIDw8ICgoY2hhbm5lbCArIDEpICUgNCk7CisKKwlyZXR1cm4g MDsKK30KKwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioKIAlEZXZpY2UgaW5pdGlhbGl6YXRpb24gcm91 dGluZXM6IHB1dC9nZXQsIGluaXQvZXhpdAogICoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCkBAIC0yODc3 LDEwICsyOTQ0LDE2IEBAIHN0YXRpYyB2b2lkIHNicmlkZ2VfbWNlX291dHB1dF9lcnJvcihzdHJ1 Y3QgbWVtX2N0bF9pbmZvICptY2ksCiAJdTMyIGVycmNvZGUgPSBHRVRfQklURklFTEQobS0+c3Rh dHVzLCAwLCAxNSk7CiAJdTMyIGNoYW5uZWwgPSBHRVRfQklURklFTEQobS0+c3RhdHVzLCAwLCAz KTsKIAl1MzIgb3B0eXBlbnVtID0gR0VUX0JJVEZJRUxEKG0tPnN0YXR1cywgNCwgNik7CisJLyoK KwkgKiBCaXRzIDUtMCBvZiBNQ2lfTUlTQyBnaXZlIHRoZSBsZWFzdCBzaWduaWZpY2FudCBiaXQg dGhhdCBpcyB2YWxpZC4KKwkgKiBBIHZhbHVlIDYgaXMgZm9yIGNhY2hlIGxpbmUgYWxpZ25lZCBh ZGRyZXNzLCBhIHZhbHVlIDEyIGlzIGZvciBwYWdlCisJICogYWxpZ25lZCBhZGRyZXNzIHJlcG9y dGVkIGJ5IHBhdHJvbCBzY3J1YmJlci4KKwkgKi8KKwl1MzIgbHNiID0gR0VUX0JJVEZJRUxEKG0t Pm1pc2MsIDAsIDUpOwogCWxvbmcgY2hhbm5lbF9tYXNrLCBmaXJzdF9jaGFubmVsOwotCXU4ICBy YW5rLCBzb2NrZXQsIGhhOworCXU4ICByYW5rID0gMHhmZiwgc29ja2V0LCBoYTsKIAlpbnQgcmMs IGRpbW07Ci0JY2hhciAqYXJlYV90eXBlID0gTlVMTDsKKwljaGFyICphcmVhX3R5cGUgPSAiRFJB TSI7CiAKIAlpZiAocHZ0LT5pbmZvLnR5cGUgIT0gU0FORFlfQlJJREdFKQogCQlyZWNvdmVyYWJs ZSA9IHRydWU7CkBAIC0yOTY0LDkgKzMwMzcsMTMgQEAgc3RhdGljIHZvaWQgc2JyaWRnZV9tY2Vf b3V0cHV0X2Vycm9yKHN0cnVjdCBtZW1fY3RsX2luZm8gKm1jaSwKIAkJCQlvcHR5cGUsIG1zZyk7 CiAJCX0KIAkJcmV0dXJuOwotCX0gZWxzZSB7CisJfSBlbHNlIGlmIChsc2IgPCAxMikgewogCQly YyA9IGdldF9tZW1vcnlfZXJyb3JfZGF0YShtY2ksIG0tPmFkZHIsICZzb2NrZXQsICZoYSwKLQkJ CQkmY2hhbm5lbF9tYXNrLCAmcmFuaywgJmFyZWFfdHlwZSwgbXNnKTsKKwkJCQkJICAgJmNoYW5u ZWxfbWFzaywgJnJhbmssCisJCQkJCSAgICZhcmVhX3R5cGUsIG1zZyk7CisJfSBlbHNlIHsKKwkJ cmMgPSBnZXRfbWVtb3J5X2Vycm9yX2RhdGFfZnJvbV9tY2UobWNpLCBtLCAmc29ja2V0LCAmaGEs CisJCQkJCQkgICAgJmNoYW5uZWxfbWFzaywgbXNnKTsKIAl9CiAKIAlpZiAocmMgPCAwKQpAQCAt Mjk4MSwxNCArMzA1OCwxNSBAQCBzdGF0aWMgdm9pZCBzYnJpZGdlX21jZV9vdXRwdXRfZXJyb3Io c3RydWN0IG1lbV9jdGxfaW5mbyAqbWNpLAogCiAJZmlyc3RfY2hhbm5lbCA9IGZpbmRfZmlyc3Rf Yml0KCZjaGFubmVsX21hc2ssIE5VTV9DSEFOTkVMUyk7CiAKLQlpZiAocmFuayA8IDQpCisJaWYg KHJhbmsgPT0gMHhmZikKKwkJZGltbSA9IC0xOworCWVsc2UgaWYgKHJhbmsgPCA0KQogCQlkaW1t ID0gMDsKIAllbHNlIGlmIChyYW5rIDwgOCkKIAkJZGltbSA9IDE7CiAJZWxzZQogCQlkaW1tID0g MjsKIAotCiAJLyoKIAkgKiBGSVhNRTogT24gc29tZSBtZW1vcnkgY29uZmlndXJhdGlvbnMgKG1p cnJvciwgbG9ja3N0ZXApLCB0aGUKIAkgKiBNZW1vcnkgQ29udHJvbGxlciBjYW4ndCBwb2ludCB0 aGUgZXJyb3IgdG8gYSBzaW5nbGUgRElNTS4gVGhlCkBAIC0zMTc1LDYgKzMyNTMsNyBAQCBzdGF0 aWMgaW50IHNicmlkZ2VfcmVnaXN0ZXJfbWNpKHN0cnVjdCBzYnJpZGdlX2RldiAqc2JyaWRnZV9k ZXYsIGVudW0gdHlwZSB0eXBlKQogCQlwdnQtPmluZm8uZHJhbV9ydWxlID0gaWJyaWRnZV9kcmFt X3J1bGU7CiAJCXB2dC0+aW5mby5nZXRfbWVtb3J5X3R5cGUgPSBnZXRfbWVtb3J5X3R5cGU7CiAJ CXB2dC0+aW5mby5nZXRfbm9kZV9pZCA9IGdldF9ub2RlX2lkOworCQlwdnQtPmluZm8uZ2V0X2hh ID0gaWJyaWRnZV9nZXRfaGE7CiAJCXB2dC0+aW5mby5yaXJfbGltaXQgPSByaXJfbGltaXQ7CiAJ CXB2dC0+aW5mby5zYWRfbGltaXQgPSBzYWRfbGltaXQ7CiAJCXB2dC0+aW5mby5pbnRlcmxlYXZl X21vZGUgPSBpbnRlcmxlYXZlX21vZGU7CkBAIC0zMTk5LDYgKzMyNzgsNyBAQCBzdGF0aWMgaW50 IHNicmlkZ2VfcmVnaXN0ZXJfbWNpKHN0cnVjdCBzYnJpZGdlX2RldiAqc2JyaWRnZV9kZXYsIGVu dW0gdHlwZSB0eXBlKQogCQlwdnQtPmluZm8uZHJhbV9ydWxlID0gc2JyaWRnZV9kcmFtX3J1bGU7 CiAJCXB2dC0+aW5mby5nZXRfbWVtb3J5X3R5cGUgPSBnZXRfbWVtb3J5X3R5cGU7CiAJCXB2dC0+ aW5mby5nZXRfbm9kZV9pZCA9IGdldF9ub2RlX2lkOworCQlwdnQtPmluZm8uZ2V0X2hhID0gc2Jy aWRnZV9nZXRfaGE7CiAJCXB2dC0+aW5mby5yaXJfbGltaXQgPSByaXJfbGltaXQ7CiAJCXB2dC0+ aW5mby5zYWRfbGltaXQgPSBzYWRfbGltaXQ7CiAJCXB2dC0+aW5mby5pbnRlcmxlYXZlX21vZGUg PSBpbnRlcmxlYXZlX21vZGU7CkBAIC0zMjIzLDYgKzMzMDMsNyBAQCBzdGF0aWMgaW50IHNicmlk Z2VfcmVnaXN0ZXJfbWNpKHN0cnVjdCBzYnJpZGdlX2RldiAqc2JyaWRnZV9kZXYsIGVudW0gdHlw ZSB0eXBlKQogCQlwdnQtPmluZm8uZHJhbV9ydWxlID0gaWJyaWRnZV9kcmFtX3J1bGU7CiAJCXB2 dC0+aW5mby5nZXRfbWVtb3J5X3R5cGUgPSBoYXN3ZWxsX2dldF9tZW1vcnlfdHlwZTsKIAkJcHZ0 LT5pbmZvLmdldF9ub2RlX2lkID0gaGFzd2VsbF9nZXRfbm9kZV9pZDsKKwkJcHZ0LT5pbmZvLmdl dF9oYSA9IGlicmlkZ2VfZ2V0X2hhOwogCQlwdnQtPmluZm8ucmlyX2xpbWl0ID0gaGFzd2VsbF9y aXJfbGltaXQ7CiAJCXB2dC0+aW5mby5zYWRfbGltaXQgPSBzYWRfbGltaXQ7CiAJCXB2dC0+aW5m by5pbnRlcmxlYXZlX21vZGUgPSBpbnRlcmxlYXZlX21vZGU7CkBAIC0zMjQ3LDYgKzMzMjgsNyBA QCBzdGF0aWMgaW50IHNicmlkZ2VfcmVnaXN0ZXJfbWNpKHN0cnVjdCBzYnJpZGdlX2RldiAqc2Jy aWRnZV9kZXYsIGVudW0gdHlwZSB0eXBlKQogCQlwdnQtPmluZm8uZHJhbV9ydWxlID0gaWJyaWRn ZV9kcmFtX3J1bGU7CiAJCXB2dC0+aW5mby5nZXRfbWVtb3J5X3R5cGUgPSBoYXN3ZWxsX2dldF9t ZW1vcnlfdHlwZTsKIAkJcHZ0LT5pbmZvLmdldF9ub2RlX2lkID0gaGFzd2VsbF9nZXRfbm9kZV9p ZDsKKwkJcHZ0LT5pbmZvLmdldF9oYSA9IGlicmlkZ2VfZ2V0X2hhOwogCQlwdnQtPmluZm8ucmly X2xpbWl0ID0gaGFzd2VsbF9yaXJfbGltaXQ7CiAJCXB2dC0+aW5mby5zYWRfbGltaXQgPSBzYWRf bGltaXQ7CiAJCXB2dC0+aW5mby5pbnRlcmxlYXZlX21vZGUgPSBpbnRlcmxlYXZlX21vZGU7CkBA IC0zMjcxLDYgKzMzNTMsNyBAQCBzdGF0aWMgaW50IHNicmlkZ2VfcmVnaXN0ZXJfbWNpKHN0cnVj dCBzYnJpZGdlX2RldiAqc2JyaWRnZV9kZXYsIGVudW0gdHlwZSB0eXBlKQogCQlwdnQtPmluZm8u ZHJhbV9ydWxlID0ga25sX2RyYW1fcnVsZTsKIAkJcHZ0LT5pbmZvLmdldF9tZW1vcnlfdHlwZSA9 IGtubF9nZXRfbWVtb3J5X3R5cGU7CiAJCXB2dC0+aW5mby5nZXRfbm9kZV9pZCA9IGtubF9nZXRf bm9kZV9pZDsKKwkJcHZ0LT5pbmZvLmdldF9oYSA9IE5VTEw7CiAJCXB2dC0+aW5mby5yaXJfbGlt aXQgPSBOVUxMOwogCQlwdnQtPmluZm8uc2FkX2xpbWl0ID0ga25sX3NhZF9saW1pdDsKIAkJcHZ0 LT5pbmZvLmludGVybGVhdmVfbW9kZSA9IGtubF9pbnRlcmxlYXZlX21vZGU7Cg==