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] x86/MCE/AMD: Get address from already initialized block From: Boris Petkov Message-Id: <20180517104124.GA25595@pd.tnic> Date: Thu, 17 May 2018 12:41:24 +0200 To: Johannes Hirte Cc: "Ghannam, Yazen" , "linux-edac@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "tony.luck@intel.com" , "x86@kernel.org" List-ID: T24gVGh1LCBNYXkgMTcsIDIwMTggYXQgMDg6NDk6MzFBTSArMDIwMCwgSm9oYW5uZXMgSGlydGUg d3JvdGU6Cj4gTWF5YmUgSSdtIG1pc3Npbmcgc29tZXRoaW5nLCBidXQgdGhvc2UgUkRNU1IgSVBT cyBkb24ndCBoYXBwZW4gb24KPiBwcmUtU01DQSBzeXN0ZW1zLCByaWdodD8gU28gdGhlIGNhY2hp bmcgc2hvdWxkIGJlIGF2b2lkZWQgaGVyZSwgY2F1c2UKPiB0aGUgd2hvbGUgbG9va3VwIGxvb2tz IG1vcmUgZXhwZW5zaXZlIHRvIG1lIHRoYW4gdGhlIHNpbXBsZSBzd2l0Y2gtYmxvY2sKPiBpbiBn ZXRfYmxvY2tfYWRkcmVzcy4KClllYWgsIGFuZCB3ZSBzaG91bGQgc2ltcGx5IGNhY2hlIGFsbCB0 aG9zZSBNU1IgdmFsdWVzIGFzIEkgc3VnZ2VzdGVkIHRoZW4uCgpUaGUgcGF0Y2ggYXQgdGhlIGVu ZCBzaG91bGQgZml4IHlvdXIgaXNzdWUuCgpZYXplbiwgc28gSSdtIHdvcmtpbmcgb24gdGhlIGFz c3VtcHRpb24gdGhhdCBhbGwgYWRkcmVzc2VzIGFyZSB0aGUgc2FtZQpvbiBldmVyeSBjb3JlIC0g SSBkdW1wZWQgdGhlbSBhbmQgaXQgbG9va3MgbGlrZSB0aGlzOgoKICAgIDEyOCBiYW5rOiAwMCwg YmxvY2s6IDAgOiAweGMwMDAyMDAzCiAgICAxMjggYmFuazogMDAsIGJsb2NrOiAxIDogMHgwCiAg ICAxMjggYmFuazogMDEsIGJsb2NrOiAwIDogMHhjMDAwMjAxMwogICAgMTI4IGJhbms6IDAxLCBi bG9jazogMSA6IDB4MAogICAgMTI4IGJhbms6IDAyLCBibG9jazogMCA6IDB4YzAwMDIwMjMKICAg IDEyOCBiYW5rOiAwMiwgYmxvY2s6IDEgOiAweDAKICAgIDEyOCBiYW5rOiAwMywgYmxvY2s6IDAg OiAweGMwMDAyMDMzCiAgICAxMjggYmFuazogMDMsIGJsb2NrOiAxIDogMHgwCiAgICAxMjggYmFu azogMDQsIGJsb2NrOiAwIDogMHgwCiAgICAxMjggYmFuazogMDUsIGJsb2NrOiAwIDogMHhjMDAw MjA1MwogICAgMTI4IGJhbms6IDA1LCBibG9jazogMSA6IDB4MAogICAgMTI4IGJhbms6IDA2LCBi bG9jazogMCA6IDB4YzAwMDIwNjMKICAgIDEyOCBiYW5rOiAwNiwgYmxvY2s6IDEgOiAweDAKICAg IDEyOCBiYW5rOiAwNywgYmxvY2s6IDAgOiAweGMwMDAyMDczCiAgICAxMjggYmFuazogMDcsIGJs b2NrOiAxIDogMHgwCiAgICAxMjggYmFuazogMDgsIGJsb2NrOiAwIDogMHhjMDAwMjA4MwogICAg MTI4IGJhbms6IDA4LCBibG9jazogMSA6IDB4MAogICAgMTI4IGJhbms6IDA5LCBibG9jazogMCA6 IDB4YzAwMDIwOTMKICAgIDEyOCBiYW5rOiAwOSwgYmxvY2s6IDEgOiAweDAKICAgIDEyOCBiYW5r OiAxMCwgYmxvY2s6IDAgOiAweGMwMDAyMGEzCiAgICAxMjggYmFuazogMTAsIGJsb2NrOiAxIDog MHgwCiAgICAxMjggYmFuazogMTEsIGJsb2NrOiAwIDogMHhjMDAwMjBiMwogICAgMTI4IGJhbms6 IDExLCBibG9jazogMSA6IDB4MAogICAgMTI4IGJhbms6IDEyLCBibG9jazogMCA6IDB4YzAwMDIw YzMKICAgIDEyOCBiYW5rOiAxMiwgYmxvY2s6IDEgOiAweDAKICAgIDEyOCBiYW5rOiAxMywgYmxv Y2s6IDAgOiAweGMwMDAyMGQzCiAgICAxMjggYmFuazogMTMsIGJsb2NrOiAxIDogMHgwCiAgICAx MjggYmFuazogMTQsIGJsb2NrOiAwIDogMHhjMDAwMjBlMwogICAgMTI4IGJhbms6IDE0LCBibG9j azogMSA6IDB4MAogICAgMTI4IGJhbms6IDE1LCBibG9jazogMCA6IDB4YzAwMDIwZjMKICAgIDEy OCBiYW5rOiAxNSwgYmxvY2s6IDEgOiAweDAKICAgIDEyOCBiYW5rOiAxNiwgYmxvY2s6IDAgOiAw eGMwMDAyMTAzCiAgICAxMjggYmFuazogMTYsIGJsb2NrOiAxIDogMHgwCiAgICAxMjggYmFuazog MTcsIGJsb2NrOiAwIDogMHhjMDAwMjExMwogICAgMTI4IGJhbms6IDE3LCBibG9jazogMSA6IDB4 MAogICAgMTI4IGJhbms6IDE4LCBibG9jazogMCA6IDB4YzAwMDIxMjMKICAgIDEyOCBiYW5rOiAx OCwgYmxvY2s6IDEgOiAweDAKICAgIDEyOCBiYW5rOiAxOSwgYmxvY2s6IDAgOiAweGMwMDAyMTMz CiAgICAxMjggYmFuazogMTksIGJsb2NrOiAxIDogMHgwCiAgICAxMjggYmFuazogMjAsIGJsb2Nr OiAwIDogMHhjMDAwMjE0MwogICAgMTI4IGJhbms6IDIwLCBibG9jazogMSA6IDB4MAogICAgMTI4 IGJhbms6IDIxLCBibG9jazogMCA6IDB4YzAwMDIxNTMKICAgIDEyOCBiYW5rOiAyMSwgYmxvY2s6 IDEgOiAweDAKICAgIDEyOCBiYW5rOiAyMiwgYmxvY2s6IDAgOiAweGMwMDAyMTYzCiAgICAxMjgg YmFuazogMjIsIGJsb2NrOiAxIDogMHgwCgpzbyB5b3UgaGF2ZSAxMjggdGltZXMgdGhlIHNhbWUg YWRkcmVzcyBvbiBhIDEyOCBjb3JlIFplbiBib3guCgpJZiB0aGF0IGlzIGNvcnJlY3QsIHRoZW4g d2UgY2FuIHVzZSB0aGlzIG5pY2Ugc2ltcGxpZmljYXRpb24gYW5kIGNhY2hlCnRoZW0gZ2xvYmFs bHkgYW5kIG5vdCBwZXItQ1BVLiBTZWVtcyB0byB3b3JrIGhlcmUuIFNjcmVhbSBpZiBzb21ldGhp bmcncwphbWlzcy4KClRoeC4KLS0tCkZyb20gZDg2MTRlOTA0ZDhmNjNiODlkMmQyMDRkNmZhMjQ3 YzRjNDE2YTFiNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogQm9yaXNsYXYgUGV0a292 IDxicEBzdXNlZGU+CkRhdGU6IFRodSwgMTcgTWF5IDIwMTggMTA6NDY6MjYgKzAyMDAKU3ViamVj dDogW1BBVENIXSBhcnJheSBjYWNoaW5nCgpOb3QtU2lnbmVkLW9mZi1ieTogQm9yaXNsYXYgUGV0 a292IDxicEBzdXNlLmRlPgotLS0KIGFyY2gveDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9hbWQu YyB8IDI5ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNCBp bnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJu ZWwvY3B1L21jaGVjay9tY2VfYW1kLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jaGVjay9tY2Vf YW1kLmMKaW5kZXggZjc2NjZlZWY0YTg3Li5jOGUwMzg4MDA1OTEgMTAwNjQ0Ci0tLSBhL2FyY2gv eDg2L2tlcm5lbC9jcHUvbWNoZWNrL21jZV9hbWQuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1 L21jaGVjay9tY2VfYW1kLmMKQEAgLTk0LDYgKzk0LDExIEBAIHN0YXRpYyBzdHJ1Y3Qgc21jYV9i YW5rX25hbWUgc21jYV9uYW1lc1tdID0gewogCVtTTUNBX1NNVV0JPSB7ICJzbXUiLAkJIlN5c3Rl bSBNYW5hZ2VtZW50IFVuaXQiIH0sCiB9OwogCitzdGF0aWMgdTMyIHNtY2FfYmFua19hZGRyc1tN QVhfTlJfQkFOS1NdW05SX0JMT0NLU10gX19yb19hZnRlcl9pbml0ID0KK3sKKwlbMCAuLi4gTUFY X05SX0JBTktTIC0gMV0gPSB7IFswIC4uLiBOUl9CTE9DS1MgLSAxXSA9IC0xIH0KK307CisKIGNv bnN0IGNoYXIgKnNtY2FfZ2V0X25hbWUoZW51bSBzbWNhX2JhbmtfdHlwZXMgdCkKIHsKIAlpZiAo dCA+PSBOX1NNQ0FfQkFOS19UWVBFUykKQEAgLTQ0MywyMCArNDQ4LDI2IEBAIHN0YXRpYyB1MzIg c21jYV9nZXRfYmxvY2tfYWRkcmVzcyh1bnNpZ25lZCBpbnQgY3B1LCB1bnNpZ25lZCBpbnQgYmFu aywKIAlpZiAoIWJsb2NrKQogCQlyZXR1cm4gTVNSX0FNRDY0X1NNQ0FfTUN4X01JU0MoYmFuayk7 CiAKKwkvKiBDaGVjayBvdXIgY2FjaGUgZmlyc3Q6ICovCisJaWYgKHNtY2FfYmFua19hZGRyc1ti YW5rXVtibG9ja10gIT0gLTEpCisJCXJldHVybiBzbWNhX2JhbmtfYWRkcnNbYmFua11bYmxvY2td OworCiAJLyoKIAkgKiBGb3IgU01DQSBlbmFibGVkIHByb2Nlc3NvcnMsIEJMS1BUUiBmaWVsZCBv ZiB0aGUgZmlyc3QgTUlTQyByZWdpc3RlcgogCSAqIChNQ3hfTUlTQzApIGluZGljYXRlcyBwcmVz ZW5jZSBvZiBhZGRpdGlvbmFsIE1JU0MgcmVncyBzZXQgKE1JU0MxLTQpLgogCSAqLwogCWlmIChy ZG1zcl9zYWZlX29uX2NwdShjcHUsIE1TUl9BTUQ2NF9TTUNBX01DeF9DT05GSUcoYmFuayksICZs b3csICZoaWdoKSkKLQkJcmV0dXJuIGFkZHI7CisJCWdvdG8gb3V0OwogCiAJaWYgKCEobG93ICYg TUNJX0NPTkZJR19NQ0FYKSkKLQkJcmV0dXJuIGFkZHI7CisJCWdvdG8gb3V0OwogCiAJaWYgKCFy ZG1zcl9zYWZlX29uX2NwdShjcHUsIE1TUl9BTUQ2NF9TTUNBX01DeF9NSVNDKGJhbmspLCAmbG93 LCAmaGlnaCkgJiYKIAkgICAgKGxvdyAmIE1BU0tfQkxLUFRSX0xPKSkKLQkJcmV0dXJuIE1TUl9B TUQ2NF9TTUNBX01DeF9NSVNDeShiYW5rLCBibG9jayAtIDEpOworCQlhZGRyID0gTVNSX0FNRDY0 X1NNQ0FfTUN4X01JU0N5KGJhbmssIGJsb2NrIC0gMSk7CiAKK291dDoKKwlzbWNhX2JhbmtfYWRk cnNbYmFua11bYmxvY2tdID0gYWRkcjsKIAlyZXR1cm4gYWRkcjsKIH0KIApAQCAtNDY4LDE4ICs0 NzksNiBAQCBzdGF0aWMgdTMyIGdldF9ibG9ja19hZGRyZXNzKHVuc2lnbmVkIGludCBjcHUsIHUz MiBjdXJyZW50X2FkZHIsIHUzMiBsb3csIHUzMiBoaQogCWlmICgoYmFuayA+PSBtY2FfY2ZnLmJh bmtzKSB8fCAoYmxvY2sgPj0gTlJfQkxPQ0tTKSkKIAkJcmV0dXJuIGFkZHI7CiAKLQkvKiBHZXQg YWRkcmVzcyBmcm9tIGFscmVhZHkgaW5pdGlhbGl6ZWQgYmxvY2suICovCi0JaWYgKHBlcl9jcHUo dGhyZXNob2xkX2JhbmtzLCBjcHUpKSB7Ci0JCXN0cnVjdCB0aHJlc2hvbGRfYmFuayAqYmFua3Ag PSBwZXJfY3B1KHRocmVzaG9sZF9iYW5rcywgY3B1KVtiYW5rXTsKLQotCQlpZiAoYmFua3AgJiYg YmFua3AtPmJsb2NrcykgewotCQkJc3RydWN0IHRocmVzaG9sZF9ibG9jayAqYmxvY2twID0gJmJh bmtwLT5ibG9ja3NbYmxvY2tdOwotCi0JCQlpZiAoYmxvY2twKQotCQkJCXJldHVybiBibG9ja3At PmFkZHJlc3M7Ci0JCX0KLQl9Ci0KIAlpZiAobWNlX2ZsYWdzLnNtY2EpCiAJCXJldHVybiBzbWNh X2dldF9ibG9ja19hZGRyZXNzKGNwdSwgYmFuaywgYmxvY2spOwogCg==