Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: [3/3] x86/cpuid: Make cpuinfo_x86.x86_model_id global From: Borislav Petkov Message-Id: <20181114212843.16954-4-bp@alien8.de> Date: Wed, 14 Nov 2018 22:28:43 +0100 To: Thomas Gleixner Cc: X86 ML , LKML , linux-pm@vger.kernel.org, linux-edac@vger.kernel.org, linux-hwmon@vger.kernel.org, platform-driver-x86@vger.kernel.org List-ID: RnJvbTogQm9yaXNsYXYgUGV0a292IDxicEBzdXNlLmRlPgoKLi4uIGFuZCBfX3JvX2FmdGVyX2lu aXQuIFNpbmNlIHRoZSBicmFuZCBzdHJpbmcgaXMgYmVpbmcgcmVhZCBlYXJsaWVyCm5vdywgaW4g ZWFybHlfaWRlbnRpZnlfY3B1KCksIGdldF9tb2RlbF9uYW1lKCkgbmVlZHMgdG8gcmVhZCBvdXQg dGhlCmV4dGVuZGVkIENQVUlEIGxldmVsIGZvciB0aGUgYnJhbmQgc3RyaW5nLiBUaGlzIGlzIHRl bXBvcmFyeSBvbmx5LCB1bnRpbAp0aGUgZnVsbCBDUFVJRCByZWFkIG91dCBoYXMgYmVlbiBhZGRl ZC4KClNpZ25lZC1vZmYtYnk6IEJvcmlzbGF2IFBldGtvdiA8YnBAc3VzZS5kZT4KQ2M6IGxpbnV4 LXBtQHZnZXIua2VybmVsLm9yZwpDYzogbGludXgtZWRhY0B2Z2VyLmtlcm5lbC5vcmcKQ2M6IGxp bnV4LWh3bW9uQHZnZXIua2VybmVsLm9yZwpDYzogcGxhdGZvcm0tZHJpdmVyLXg4NkB2Z2VyLmtl cm5lbC5vcmcKLS0tCiBhcmNoL3g4Ni9pbmNsdWRlL2FzbS9wcm9jZXNzb3IuaCAgICAgfCAgMiAr LQogYXJjaC94ODYva2VybmVsL2NwdS9hbWQuYyAgICAgICAgICAgIHwgIDQgKystLQogYXJjaC94 ODYva2VybmVsL2NwdS9jZW50YXVyLmMgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L2tlcm5lbC9j cHUvY29tbW9uLmMgICAgICAgICB8IDI4ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIGFy Y2gveDg2L2tlcm5lbC9jcHUvY3lyaXguYyAgICAgICAgICB8ICA1ICsrLS0tCiBhcmNoL3g4Ni9r ZXJuZWwvY3B1L2ludGVsLmMgICAgICAgICAgfCAgMiArLQogYXJjaC94ODYva2VybmVsL2NwdS9w cm9jLmMgICAgICAgICAgIHwgIDIgKy0KIGFyY2gveDg2L2tlcm5lbC9zZXR1cC5jICAgICAgICAg ICAgICB8ICAyICsrCiBkcml2ZXJzL2NwdWZyZXEvcG93ZXJub3ctazguYyAgICAgICAgfCAgMiAr LQogZHJpdmVycy9jcHVmcmVxL3NwZWVkc3RlcC1jZW50cmluby5jIHwgIDYgKysrLS0tCiBkcml2 ZXJzL2NwdWZyZXEvc3BlZWRzdGVwLWxpYi5jICAgICAgfCAgMiArLQogZHJpdmVycy9lZGFjL2U3 NTJ4X2VkYWMuYyAgICAgICAgICAgIHwgIDMgKy0tCiBkcml2ZXJzL2h3bW9uL2NvcmV0ZW1wLmMg ICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9od21vbi9rMTB0ZW1wLmMgICAgICAgICAgICAg IHwgIDIgKy0KIGRyaXZlcnMvcGxhdGZvcm0veDg2L2ludGVsX2lwcy5jICAgICB8ICA2ICsrKy0t LQogMTUgZmlsZXMgY2hhbmdlZCwgMzUgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvYXJjaC94ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmggYi9hcmNoL3g4Ni9p bmNsdWRlL2FzbS9wcm9jZXNzb3IuaAppbmRleCAyZjZmNzkzOWRmZTAuLmFjZTFmMzY0ZmIwYyAx MDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKKysrIGIvYXJjaC94 ODYvaW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKQEAgLTcwLDYgKzcwLDcgQEAgZXh0ZXJuIHUxNiBf X3JlYWRfbW9zdGx5IHRsYl9sbGRfNG1bTlJfSU5GT107CiBleHRlcm4gdTE2IF9fcmVhZF9tb3N0 bHkgdGxiX2xsZF8xZ1tOUl9JTkZPXTsKIAogZXh0ZXJuIGNoYXIgeDg2X3ZlbmRvcl9pZFsxNl07 CitleHRlcm4gY2hhciB4ODZfbW9kZWxfaWRbNjRdOwogCiAvKgogICogIENQVSB0eXBlIGFuZCBo YXJkd2FyZSBidWcgZmxhZ3MuIEtlcHQgc2VwYXJhdGVseSBmb3IgZWFjaCBDUFUuCkBAIC05NSw3 ICs5Niw2IEBAIHN0cnVjdCBjcHVpbmZvX3g4NiB7CiAJLyogTWF4aW11bSBzdXBwb3J0ZWQgQ1BV SUQgbGV2ZWwsIC0xPW5vIENQVUlEOiAqLwogCWludAkJCWNwdWlkX2xldmVsOwogCV9fdTMyCQkJ eDg2X2NhcGFiaWxpdHlbTkNBUElOVFMgKyBOQlVHSU5UU107Ci0JY2hhcgkJCXg4Nl9tb2RlbF9p ZFs2NF07CiAJLyogaW4gS0IgLSB2YWxpZCBmb3IgQ1BVUyB3aGljaCBzdXBwb3J0IHRoaXMgY2Fs bDogKi8KIAl1bnNpZ25lZCBpbnQJCXg4Nl9jYWNoZV9zaXplOwogCWludAkJCXg4Nl9jYWNoZV9h bGlnbm1lbnQ7CS8qIEluIGJ5dGVzICovCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1 L2FtZC5jIGIvYXJjaC94ODYva2VybmVsL2NwdS9hbWQuYwppbmRleCBlZWVhNjM0YmVlMGEuLjQ3 YWVkYzEyNDBhMiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9hbWQuYworKysgYi9h cmNoL3g4Ni9rZXJuZWwvY3B1L2FtZC5jCkBAIC03MzcsOCArNzM3LDggQEAgc3RhdGljIHZvaWQg aW5pdF9hbWRfazgoc3RydWN0IGNwdWluZm9feDg2ICpjKQogCQl9CiAJfQogCi0JaWYgKCFjLT54 ODZfbW9kZWxfaWRbMF0pCi0JCXN0cmNweShjLT54ODZfbW9kZWxfaWQsICJIYW1tZXIiKTsKKwlp ZiAoIXg4Nl9tb2RlbF9pZFswXSkKKwkJc3RyY3B5KHg4Nl9tb2RlbF9pZCwgIkhhbW1lciIpOwog CiAjaWZkZWYgQ09ORklHX1NNUAogCS8qCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1 L2NlbnRhdXIuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY2VudGF1ci5jCmluZGV4IDE0NDMzZmY1 YjgyOC4uYmFiNDNhMTU4OGJjIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NlbnRh dXIuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NlbnRhdXIuYwpAQCAtMjM5LDcgKzIzOSw3 IEBAIHN0YXRpYyB2b2lkIGluaXRfY2VudGF1cihzdHJ1Y3QgY3B1aW5mb194ODYgKmMpCiAJCQkv KiBBZGQgTDEgZGF0YSBhbmQgY29kZSBjYWNoZSBzaXplcy4gKi8KIAkJCWMtPng4Nl9jYWNoZV9z aXplID0gKGNjPj4yNCkrKGRkPj4yNCk7CiAJCX0KLQkJc3ByaW50ZihjLT54ODZfbW9kZWxfaWQs ICJXaW5DaGlwICVzIiwgbmFtZSk7CisJCXNwcmludGYoeDg2X21vZGVsX2lkLCAiV2luQ2hpcCAl cyIsIG5hbWUpOwogCQlicmVhazsKICNlbmRpZgogCWNhc2UgNjoKZGlmZiAtLWdpdCBhL2FyY2gv eDg2L2tlcm5lbC9jcHUvY29tbW9uLmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2NvbW1vbi5jCmlu ZGV4IGY3N2NhMTE2ZmJhNy4uMGE5NmI2ZDU2ZjEzIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJu ZWwvY3B1L2NvbW1vbi5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uLmMKQEAgLTk1 LDkgKzk1LDkgQEAgc3RhdGljIHZvaWQgZGVmYXVsdF9pbml0KHN0cnVjdCBjcHVpbmZvX3g4NiAq YykKIAlpZiAoYy0+Y3B1aWRfbGV2ZWwgPT0gLTEpIHsKIAkJLyogTm8gY3B1aWQuIEl0IG11c3Qg YmUgYW4gYW5jaWVudCBDUFUgKi8KIAkJaWYgKGMtPng4NiA9PSA0KQotCQkJc3RyY3B5KGMtPng4 Nl9tb2RlbF9pZCwgIjQ4NiIpOworCQkJc3RyY3B5KHg4Nl9tb2RlbF9pZCwgIjQ4NiIpOwogCQll bHNlIGlmIChjLT54ODYgPT0gMykKLQkJCXN0cmNweShjLT54ODZfbW9kZWxfaWQsICIzODYiKTsK KwkJCXN0cmNweSh4ODZfbW9kZWxfaWQsICIzODYiKTsKIAl9CiAjZW5kaWYKIH0KQEAgLTU2MSwx NyArNTYxLDE4IEBAIHN0YXRpYyB2b2lkIGdldF9tb2RlbF9uYW1lKHN0cnVjdCBjcHVpbmZvX3g4 NiAqYykKIAl1bnNpZ25lZCBpbnQgKnY7CiAJY2hhciAqcCwgKnEsICpzOwogCisJYy0+ZXh0ZW5k ZWRfY3B1aWRfbGV2ZWwgPSBjcHVpZF9lYXgoMHg4MDAwMDAwMCk7CiAJaWYgKGMtPmV4dGVuZGVk X2NwdWlkX2xldmVsIDwgMHg4MDAwMDAwNCkKIAkJcmV0dXJuOwogCi0JdiA9ICh1bnNpZ25lZCBp bnQgKiljLT54ODZfbW9kZWxfaWQ7CisJdiA9ICh1bnNpZ25lZCBpbnQgKil4ODZfbW9kZWxfaWQ7 CiAJY3B1aWQoMHg4MDAwMDAwMiwgJnZbMF0sICZ2WzFdLCAmdlsyXSwgJnZbM10pOwogCWNwdWlk KDB4ODAwMDAwMDMsICZ2WzRdLCAmdls1XSwgJnZbNl0sICZ2WzddKTsKIAljcHVpZCgweDgwMDAw MDA0LCAmdls4XSwgJnZbOV0sICZ2WzEwXSwgJnZbMTFdKTsKLQljLT54ODZfbW9kZWxfaWRbNDhd ID0gMDsKKwl4ODZfbW9kZWxfaWRbNDhdID0gMDsKIAogCS8qIFRyaW0gd2hpdGVzcGFjZSAqLwot CXAgPSBxID0gcyA9ICZjLT54ODZfbW9kZWxfaWRbMF07CisJcCA9IHEgPSBzID0geDg2X21vZGVs X2lkOwogCiAJd2hpbGUgKCpwID09ICcgJykKIAkJcCsrOwpAQCAtMTA4OSw2ICsxMDkwLDcgQEAg c3RhdGljIHZvaWQgX19pbml0IGVhcmx5X2lkZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYg KmMpCiAJLyogY3lyaXggY291bGQgaGF2ZSBjcHVpZCBlbmFibGVkIHZpYSBjX2lkZW50aWZ5KCkq LwogCWlmIChoYXZlX2NwdWlkX3AoKSkgewogCQljcHVfZ2V0X3ZlbmRvcl9uYW1lKCk7CisJCWdl dF9tb2RlbF9uYW1lKGMpOwogCQljcHVfZGV0ZWN0KGMpOwogCQlnZXRfY3B1X3ZlbmRvcihjKTsK IAkJZ2V0X2NwdV9jYXAoYyk7CkBAIC0xMjMyLDggKzEyMzQsNiBAQCBzdGF0aWMgdm9pZCBnZW5l cmljX2lkZW50aWZ5KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIAkJYy0+cGh5c19wcm9jX2lkID0g Yy0+aW5pdGlhbF9hcGljaWQ7CiAJfQogCi0JZ2V0X21vZGVsX25hbWUoYyk7IC8qIERlZmF1bHQg bmFtZSAqLwotCiAJZGV0ZWN0X251bGxfc2VnX2JlaGF2aW9yKGMpOwogCiAJLyoKQEAgLTEzMDgs NyArMTMwOCw2IEBAIHN0YXRpYyB2b2lkIGlkZW50aWZ5X2NwdShzdHJ1Y3QgY3B1aW5mb194ODYg KmMpCiAJYy0+eDg2X2NhY2hlX3NpemUgPSAwOwogCWMtPng4Nl92ZW5kb3IgPSBYODZfVkVORE9S X1VOS05PV047CiAJYy0+eDg2X21vZGVsID0gYy0+eDg2X3N0ZXBwaW5nID0gMDsJLyogU28gZmFy IHVua25vd24uLi4gKi8KLQljLT54ODZfbW9kZWxfaWRbMF0gPSAnXDAnOyAgLyogVW5zZXQgKi8K IAljLT54ODZfbWF4X2NvcmVzID0gMTsKIAljLT54ODZfY29yZWlkX2JpdHMgPSAwOwogCWMtPmN1 X2lkID0gMHhmZjsKQEAgLTEzNjcsMTQgKzEzNjYsMTUgQEAgc3RhdGljIHZvaWQgaWRlbnRpZnlf Y3B1KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIAlmaWx0ZXJfY3B1aWRfZmVhdHVyZXMoYywgdHJ1 ZSk7CiAKIAkvKiBJZiB0aGUgbW9kZWwgbmFtZSBpcyBzdGlsbCB1bnNldCwgZG8gdGFibGUgbG9v a3VwLiAqLwotCWlmICghYy0+eDg2X21vZGVsX2lkWzBdKSB7CisJaWYgKCF4ODZfbW9kZWxfaWRb MF0pIHsKIAkJY29uc3QgY2hhciAqcDsKKwogCQlwID0gdGFibGVfbG9va3VwX21vZGVsKGMpOwog CQlpZiAocCkKLQkJCXN0cmNweShjLT54ODZfbW9kZWxfaWQsIHApOworCQkJc3RyY3B5KHg4Nl9t b2RlbF9pZCwgcCk7CiAJCWVsc2UKIAkJCS8qIExhc3QgcmVzb3J0Li4uICovCi0JCQlzcHJpbnRm KGMtPng4Nl9tb2RlbF9pZCwgIiUwMngvJTAyeCIsCisJCQlzcHJpbnRmKHg4Nl9tb2RlbF9pZCwg IiUwMngvJTAyeCIsCiAJCQkJYy0+eDg2LCBjLT54ODZfbW9kZWwpOwogCX0KIApAQCAtMTQ4OSwx MSArMTQ4OSwxMSBAQCB2b2lkIHByaW50X2NwdV9pbmZvKHN0cnVjdCBjcHVpbmZvX3g4NiAqYykK IAkJCXZlbmRvciA9IHg4Nl92ZW5kb3JfaWQ7CiAJfQogCi0JaWYgKHZlbmRvciAmJiAhc3Ryc3Ry KGMtPng4Nl9tb2RlbF9pZCwgdmVuZG9yKSkKKwlpZiAodmVuZG9yICYmICFzdHJzdHIoeDg2X21v ZGVsX2lkLCB2ZW5kb3IpKQogCQlwcl9jb250KCIlcyAiLCB2ZW5kb3IpOwogCi0JaWYgKGMtPng4 Nl9tb2RlbF9pZFswXSkKLQkJcHJfY29udCgiJXMiLCBjLT54ODZfbW9kZWxfaWQpOworCWlmICh4 ODZfbW9kZWxfaWRbMF0pCisJCXByX2NvbnQoIiVzIiwgeDg2X21vZGVsX2lkKTsKIAllbHNlCiAJ CXByX2NvbnQoIiVkODYiLCBjLT54ODYpOwogCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwv Y3B1L2N5cml4LmMgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2N5cml4LmMKaW5kZXggMWYxZjcyNGRk NGMzLi5lNTM5NDI1MTE3NWMgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUvY3lyaXgu YworKysgYi9hcmNoL3g4Ni9rZXJuZWwvY3B1L2N5cml4LmMKQEAgLTE5MSw3ICsxOTEsNiBAQCBz dGF0aWMgdm9pZCBlYXJseV9pbml0X2N5cml4KHN0cnVjdCBjcHVpbmZvX3g4NiAqYykKIHN0YXRp YyB2b2lkIGluaXRfY3lyaXgoc3RydWN0IGNwdWluZm9feDg2ICpjKQogewogCXVuc2lnbmVkIGNo YXIgZGlyMCwgZGlyMF9tc24sIGRpcjBfbHNuLCBkaXIxID0gMDsKLQljaGFyICpidWYgPSBjLT54 ODZfbW9kZWxfaWQ7CiAJY29uc3QgY2hhciAqcCA9IE5VTEw7CiAKIAkvKgpAQCAtMzUxLDkgKzM1 MCw5IEBAIHN0YXRpYyB2b2lkIGluaXRfY3lyaXgoc3RydWN0IGNwdWluZm9feDg2ICpjKQogCQlk aXIwX21zbiA9IDc7CiAJCWJyZWFrOwogCX0KLQlzdHJjcHkoYnVmLCBDeDg2X21vZGVsW2RpcjBf bXNuICYgN10pOworCXN0cmNweSh4ODZfbW9kZWxfaWQsIEN4ODZfbW9kZWxbZGlyMF9tc24gJiA3 XSk7CiAJaWYgKHApCi0JCXN0cmNhdChidWYsIHApOworCQlzdHJjYXQoeDg2X21vZGVsX2lkLCBw KTsKIAlyZXR1cm47CiB9CiAKZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWwu YyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvaW50ZWwuYwppbmRleCBmYzNjMDdmZTdkZjUuLmYxODEx NTc3OWUwNyAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVsL2NwdS9pbnRlbC5jCisrKyBiL2Fy Y2gveDg2L2tlcm5lbC9jcHUvaW50ZWwuYwpAQCAtNzQ1LDcgKzc0NSw3IEBAIHN0YXRpYyB2b2lk IGluaXRfaW50ZWwoc3RydWN0IGNwdWluZm9feDg2ICpjKQogCQl9CiAKIAkJaWYgKHApCi0JCQlz dHJjcHkoYy0+eDg2X21vZGVsX2lkLCBwKTsKKwkJCXN0cmNweSh4ODZfbW9kZWxfaWQsIHApOwog CX0KIAogCWlmIChjLT54ODYgPT0gMTUpCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvY3B1 L3Byb2MuYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvcHJvYy5jCmluZGV4IDk5OTM3MWRkZmVkYi4u ZDA0OGIyMmNiMzA0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L3Byb2MuYworKysg Yi9hcmNoL3g4Ni9rZXJuZWwvY3B1L3Byb2MuYwpAQCAtNzAsNyArNzAsNyBAQCBzdGF0aWMgaW50 IHNob3dfY3B1aW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnYpCiAJCSAgIHg4Nl92ZW5k b3JfaWRbMF0gPyB4ODZfdmVuZG9yX2lkIDogInVua25vd24iLAogCQkgICBjLT54ODYsCiAJCSAg IGMtPng4Nl9tb2RlbCwKLQkJICAgYy0+eDg2X21vZGVsX2lkWzBdID8gYy0+eDg2X21vZGVsX2lk IDogInVua25vd24iKTsKKwkJICAgeDg2X21vZGVsX2lkWzBdID8geDg2X21vZGVsX2lkIDogInVu a25vd24iKTsKIAogCWlmIChjLT54ODZfc3RlcHBpbmcgfHwgYy0+Y3B1aWRfbGV2ZWwgPj0gMCkK IAkJc2VxX3ByaW50ZihtLCAic3RlcHBpbmdcdDogJWRcbiIsIGMtPng4Nl9zdGVwcGluZyk7CmRp ZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYyBiL2FyY2gveDg2L2tlcm5lbC9zZXR1 cC5jCmluZGV4IDlmMjFmNTk1ZjBkZS4uMjFjMzcyYzY2NDk4IDEwMDY0NAotLS0gYS9hcmNoL3g4 Ni9rZXJuZWwvc2V0dXAuYworKysgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXAuYwpAQCAtMTYyLDYg KzE2Miw4IEBAIHN0YXRpYyBzdHJ1Y3QgcmVzb3VyY2UgYnNzX3Jlc291cmNlID0gewogfTsKIAog Y2hhciB4ODZfdmVuZG9yX2lkWzE2XSBfX3JvX2FmdGVyX2luaXQ7CitjaGFyIHg4Nl9tb2RlbF9p ZFs2NF0gX19yb19hZnRlcl9pbml0OworRVhQT1JUX1NZTUJPTF9HUEwoeDg2X21vZGVsX2lkKTsK IAogI2lmZGVmIENPTkZJR19YODZfMzIKIC8qIGNwdSBkYXRhIGFzIGRldGVjdGVkIGJ5IHRoZSBh c3NlbWJseSBjb2RlIGluIGhlYWRfMzIuUyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcHVmcmVx L3Bvd2Vybm93LWs4LmMgYi9kcml2ZXJzL2NwdWZyZXEvcG93ZXJub3ctazguYwppbmRleCBmYjc3 YjM5YTRjZTMuLjQ3NmJiY2EyZmQ0MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9jcHVmcmVxL3Bvd2Vy bm93LWs4LmMKKysrIGIvZHJpdmVycy9jcHVmcmVxL3Bvd2Vybm93LWs4LmMKQEAgLTEyMDQsNyAr MTIwNCw3IEBAIHN0YXRpYyBpbnQgcG93ZXJub3drOF9pbml0KHZvaWQpCiAJCXJldHVybiByZXQ7 CiAKIAlwcl9pbmZvKCJGb3VuZCAlZCAlcyAoJWQgY3B1IGNvcmVzKSAoIiBWRVJTSU9OICIpXG4i LAotCQludW1fb25saW5lX25vZGVzKCksIGJvb3RfY3B1X2RhdGEueDg2X21vZGVsX2lkLCBzdXBw b3J0ZWRfY3B1cyk7CisJCW51bV9vbmxpbmVfbm9kZXMoKSwgeDg2X21vZGVsX2lkLCBzdXBwb3J0 ZWRfY3B1cyk7CiAKIAlyZXR1cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcHVmcmVx L3NwZWVkc3RlcC1jZW50cmluby5jIGIvZHJpdmVycy9jcHVmcmVxL3NwZWVkc3RlcC1jZW50cmlu by5jCmluZGV4IGExZmI3MzU2ODVkYi4uYzAzODVmZmIyNzMyIDEwMDY0NAotLS0gYS9kcml2ZXJz L2NwdWZyZXEvc3BlZWRzdGVwLWNlbnRyaW5vLmMKKysrIGIvZHJpdmVycy9jcHVmcmVxL3NwZWVk c3RlcC1jZW50cmluby5jCkBAIC0yMzgsMjEgKzIzOCwyMSBAQCBzdGF0aWMgaW50IGNlbnRyaW5v X2NwdV9pbml0X3RhYmxlKHN0cnVjdCBjcHVmcmVxX3BvbGljeSAqcG9saWN5KQogCWZvcihtb2Rl bCA9IG1vZGVsczsgbW9kZWwtPmNwdV9pZCAhPSBOVUxMOyBtb2RlbCsrKQogCQlpZiAoY2VudHJp bm9fdmVyaWZ5X2NwdV9pZChjcHUsIG1vZGVsLT5jcHVfaWQpICYmCiAJCSAgICAobW9kZWwtPm1v ZGVsX25hbWUgPT0gTlVMTCB8fAotCQkgICAgIHN0cmNtcChjcHUtPng4Nl9tb2RlbF9pZCwgbW9k ZWwtPm1vZGVsX25hbWUpID09IDApKQorCQkgICAgIHN0cmNtcCh4ODZfbW9kZWxfaWQsIG1vZGVs LT5tb2RlbF9uYW1lKSA9PSAwKSkKIAkJCWJyZWFrOwogCiAJaWYgKG1vZGVsLT5jcHVfaWQgPT0g TlVMTCkgewogCQkvKiBObyBtYXRjaCBhdCBhbGwgKi8KIAkJcHJfZGVidWcoIm5vIHN1cHBvcnQg Zm9yIENQVSBtb2RlbCBcIiVzXCI6ICIKIAkJICAgICAgICJzZW5kIC9wcm9jL2NwdWluZm8gdG8g IiBNQUlOVEFJTkVSICJcbiIsCi0JCSAgICAgICBjcHUtPng4Nl9tb2RlbF9pZCk7CisJCSAgICAg ICB4ODZfbW9kZWxfaWQpOwogCQlyZXR1cm4gLUVOT0VOVDsKIAl9CiAKIAlpZiAobW9kZWwtPm9w X3BvaW50cyA9PSBOVUxMKSB7CiAJCS8qIE1hdGNoZWQgYSBub24tbWF0Y2ggKi8KIAkJcHJfZGVi dWcoIm5vIHRhYmxlIHN1cHBvcnQgZm9yIENQVSBtb2RlbCBcIiVzXCJcbiIsCi0JCSAgICAgICBj cHUtPng4Nl9tb2RlbF9pZCk7CisJCSAgICAgICB4ODZfbW9kZWxfaWQpOwogCQlwcl9kZWJ1Zygi dHJ5IHVzaW5nIHRoZSBhY3BpLWNwdWZyZXEgZHJpdmVyXG4iKTsKIAkJcmV0dXJuIC1FTk9FTlQ7 CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jcHVmcmVxL3NwZWVkc3RlcC1saWIuYyBiL2RyaXZl cnMvY3B1ZnJlcS9zcGVlZHN0ZXAtbGliLmMKaW5kZXggY2FiYjZmNDhlYjc3Li5hYTgzNDk2Zjg3 MzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvY3B1ZnJlcS9zcGVlZHN0ZXAtbGliLmMKKysrIGIvZHJp dmVycy9jcHVmcmVxL3NwZWVkc3RlcC1saWIuYwpAQCAtMzEyLDcgKzMxMiw3IEBAIGVudW0gc3Bl ZWRzdGVwX3Byb2Nlc3NvciBzcGVlZHN0ZXBfZGV0ZWN0X3Byb2Nlc3Nvcih2b2lkKQogCQkJICog c3RyaW5nCiAJCQkgKi8KIAkJCWlmICgoZWJ4ID09IDB4MGUpIHx8Ci0JCQkJKHN0cnN0cihjLT54 ODZfbW9kZWxfaWQsCisJCQkJKHN0cnN0cih4ODZfbW9kZWxfaWQsCiAJCQkJICAgICJNb2JpbGUg SW50ZWwoUikgUGVudGl1bShSKSA0IikgIT0gTlVMTCkpCiAJCQkJcmV0dXJuIFNQRUVEU1RFUF9D UFVfUDRNOwogCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2VkYWMvZTc1MnhfZWRhYy5j IGIvZHJpdmVycy9lZGFjL2U3NTJ4X2VkYWMuYwppbmRleCBiNWRlOWExM2VhM2YuLjc2MzA0Y2Jj ZDU1ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9lZGFjL2U3NTJ4X2VkYWMuYworKysgYi9kcml2ZXJz L2VkYWMvZTc1MnhfZWRhYy5jCkBAIC0xMjExLDE0ICsxMjExLDEzIEBAIHN0YXRpYyBpbnQgZTc1 MnhfZ2V0X2RldnMoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGludCBkZXZfaWR4LAogICovCiBzdGF0 aWMgdm9pZCBlNzUyeF9pbml0X3N5c2J1c19wYXJpdHlfbWFzayhzdHJ1Y3QgZTc1MnhfcHZ0ICpw dnQpCiB7Ci0JY2hhciAqY3B1X2lkID0gY3B1X2RhdGEoMCkueDg2X21vZGVsX2lkOwogCXN0cnVj dCBwY2lfZGV2ICpkZXYgPSBwdnQtPmRldl9kMGYxOwogCWludCBlbmFibGUgPSAxOwogCiAJLyog QWxsb3cgbW9kdWxlIHBhcmFtZXRlciBvdmVycmlkZSwgZWxzZSBzZWUgaWYgQ1BVIHN1cHBvcnRz IHBhcml0eSAqLwogCWlmIChzeXNidXNfcGFyaXR5ICE9IC0xKSB7CiAJCWVuYWJsZSA9IHN5c2J1 c19wYXJpdHk7Ci0JfSBlbHNlIGlmIChjcHVfaWRbMF0gJiYgIXN0cnN0cihjcHVfaWQsICJYZW9u IikpIHsKKwl9IGVsc2UgaWYgKHg4Nl9tb2RlbF9pZFswXSAmJiAhc3Ryc3RyKHg4Nl9tb2RlbF9p ZCwgIlhlb24iKSkgewogCQllNzUyeF9wcmludGsoS0VSTl9JTkZPLCAiU3lzdGVtIEJ1cyBQYXJp dHkgbm90ICIKIAkJCSAgICAgInN1cHBvcnRlZCBieSBDUFUsIGRpc2FibGluZ1xuIik7CiAJCWVu YWJsZSA9IDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2NvcmV0ZW1wLmMgYi9kcml2ZXJz L2h3bW9uL2NvcmV0ZW1wLmMKaW5kZXggMTA2NDVjOWJiN2JlLi5iM2U0NDQ5NzU5MzAgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvaHdtb24vY29yZXRlbXAuYworKysgYi9kcml2ZXJzL2h3bW9uL2NvcmV0 ZW1wLmMKQEAgLTI2Miw3ICsyNjIsNyBAQCBzdGF0aWMgaW50IGFkanVzdF90am1heChzdHJ1Y3Qg Y3B1aW5mb194ODYgKmMsIHUzMiBpZCwgc3RydWN0IGRldmljZSAqZGV2KQogCX0KIAogCWZvciAo aSA9IDA7IGkgPCBBUlJBWV9TSVpFKHRqbWF4X3RhYmxlKTsgaSsrKSB7Ci0JCWlmIChzdHJzdHIo Yy0+eDg2X21vZGVsX2lkLCB0am1heF90YWJsZVtpXS5pZCkpCisJCWlmIChzdHJzdHIoeDg2X21v ZGVsX2lkLCB0am1heF90YWJsZVtpXS5pZCkpCiAJCQlyZXR1cm4gdGptYXhfdGFibGVbaV0udGpt YXg7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2h3bW9uL2sxMHRlbXAuYyBiL2RyaXZlcnMv aHdtb24vazEwdGVtcC5jCmluZGV4IDJjZWYwYzM3ZmY2Zi4uMTA1N2MxNGI1MGM5IDEwMDY0NAot LS0gYS9kcml2ZXJzL2h3bW9uL2sxMHRlbXAuYworKysgYi9kcml2ZXJzL2h3bW9uL2sxMHRlbXAu YwpAQCAtMzQzLDcgKzM0Myw3IEBAIHN0YXRpYyBpbnQgazEwdGVtcF9wcm9iZShzdHJ1Y3QgcGNp X2RldiAqcGRldiwKIAkJY29uc3Qgc3RydWN0IHRjdGxfb2Zmc2V0ICplbnRyeSA9ICZ0Y3RsX29m ZnNldF90YWJsZVtpXTsKIAogCQlpZiAoYm9vdF9jcHVfZGF0YS54ODYgPT0gZW50cnktPm1vZGVs ICYmCi0JCSAgICBzdHJzdHIoYm9vdF9jcHVfZGF0YS54ODZfbW9kZWxfaWQsIGVudHJ5LT5pZCkp IHsKKwkJICAgIHN0cnN0cih4ODZfbW9kZWxfaWQsIGVudHJ5LT5pZCkpIHsKIAkJCWRhdGEtPnRl bXBfb2Zmc2V0ID0gZW50cnktPm9mZnNldDsKIAkJCWJyZWFrOwogCQl9CmRpZmYgLS1naXQgYS9k cml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbF9pcHMuYyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2lu dGVsX2lwcy5jCmluZGV4IDIyNTYzOGExYjA5ZS4uNDMwOWYxOThjYmFkIDEwMDY0NAotLS0gYS9k cml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbF9pcHMuYworKysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4 Ni9pbnRlbF9pcHMuYwpAQCAtMTM2NywxMSArMTM2NywxMSBAQCBzdGF0aWMgc3RydWN0IGlwc19t Y3BfbGltaXRzICppcHNfZGV0ZWN0X2NwdShzdHJ1Y3QgaXBzX2RyaXZlciAqaXBzKQogCWVsc2UK IAkJaXBzLT50dXJib190b2dnbGVfYWxsb3dlZCA9IGZhbHNlOwogCi0JaWYgKHN0cnN0cihib290 X2NwdV9kYXRhLng4Nl9tb2RlbF9pZCwgIkNQVSAgICAgICBNIikpCisJaWYgKHN0cnN0cih4ODZf bW9kZWxfaWQsICJDUFUgICAgICAgTSIpKQogCQlsaW1pdHMgPSAmaXBzX3N2X2xpbWl0czsKLQll bHNlIGlmIChzdHJzdHIoYm9vdF9jcHVfZGF0YS54ODZfbW9kZWxfaWQsICJDUFUgICAgICAgTCIp KQorCWVsc2UgaWYgKHN0cnN0cih4ODZfbW9kZWxfaWQsICJDUFUgICAgICAgTCIpKQogCQlsaW1p dHMgPSAmaXBzX2x2X2xpbWl0czsKLQllbHNlIGlmIChzdHJzdHIoYm9vdF9jcHVfZGF0YS54ODZf bW9kZWxfaWQsICJDUFUgICAgICAgVSIpKQorCWVsc2UgaWYgKHN0cnN0cih4ODZfbW9kZWxfaWQs ICJDUFUgICAgICAgVSIpKQogCQlsaW1pdHMgPSAmaXBzX3Vsdl9saW1pdHM7CiAJZWxzZSB7CiAJ CWRldl9pbmZvKGlwcy0+ZGV2LCAiTm8gQ1BVSUQgbWF0Y2ggZm91bmQuXG4iKTsK