From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Garnier Subject: [PATCH v4 14/27] x86/percpu: Adapt percpu for PIE support Date: Tue, 29 May 2018 15:15:15 -0700 Message-ID: <20180529221625.33541-15-thgarnie__24655.6414677345$1527632167$gmane$org@google.com> References: <20180529221625.33541-1-thgarnie@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1fNmvl-0001ko-WD for xen-devel@lists.xenproject.org; Tue, 29 May 2018 22:17:26 +0000 Received: by mail-pf0-x243.google.com with SMTP id r11-v6so385664pfl.6 for ; Tue, 29 May 2018 15:17:24 -0700 (PDT) In-Reply-To: <20180529221625.33541-1-thgarnie@google.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: kernel-hardening@lists.openwall.com Cc: Nicolas Pitre , Peter Zijlstra , Skip Dave Hansen , Dominik Brodowski , Masahiro Yamada , "H. Peter Anvin" , Christoph Lameter , Boris Ostrovsky , x86@kernel.org, Ingo Molnar , xen-devel@lists.xenproject.org, Borislav Petkov , Alexey Dobriyan , Skip Tom Lendacky , Skip Kees Cook , Skip Frederic Weisbecker , Skip Nicholas Piggin , Tejun Heo , Cao jin , Skip Mathieu Desnoyers , Andy Lutomirski , Josh Poimboeuf , Thomas Gleixner List-Id: xen-devel@lists.xenproject.org UGVycGN1IHVzZXMgYSBjbGV2ZXIgZGVzaWduIHdoZXJlIHRoZSAucGVyY3UgRUxGIHNlY3Rpb24g aGFzIGEgdmlydHVhbAphZGRyZXNzIG9mIHplcm8gYW5kIHRoZSByZWxvY2F0aW9uIGNvZGUgYXZv aWQgcmVsb2NhdGluZyBzcGVjaWZpYwpzeW1ib2xzLiBJdCBtYWtlcyB0aGUgY29kZSBzaW1wbGUg YW5kIGVhc2lseSBhZGFwdGFibGUgd2l0aCBvciB3aXRob3V0ClNNUCBzdXBwb3J0LgoKVGhpcyBk ZXNpZ24gaXMgaW5jb21wYXRpYmxlIHdpdGggUElFIGJlY2F1c2UgZ2VuZXJhdGVkIGNvZGUgYWx3 YXlzIHRyeSB0bwphY2Nlc3MgdGhlIHplcm8gdmlydHVhbCBhZGRyZXNzIHJlbGF0aXZlIHRvIHRo ZSBkZWZhdWx0IG1hcHBpbmcgYWRkcmVzcy4KSXQgYmVjb21lcyBpbXBvc3NpYmxlIHdoZW4gS0FT TFIgaXMgY29uZmlndXJlZCB0byBnbyBiZWxvdyAtMkcuIFRoaXMKcGF0Y2ggc29sdmVzIHRoaXMg cHJvYmxlbSBieSByZW1vdmluZyB0aGUgemVybyBtYXBwaW5nIGFuZCBhZGFwdGluZyB0aGUgR1MK YmFzZSB0byBiZSByZWxhdGl2ZSB0byB0aGUgZXhwZWN0ZWQgYWRkcmVzcy4gVGhlc2UgY2hhbmdl cyBhcmUgZG9uZSBvbmx5CndoZW4gUElFIGlzIGVuYWJsZWQuIFRoZSBvcmlnaW5hbCBpbXBsZW1l bnRhdGlvbiBpcyBrZXB0IGFzLWlzCmJ5IGRlZmF1bHQuCgpUaGUgYXNzZW1ibHkgYW5kIFBFUl9D UFUgbWFjcm9zIGFyZSBjaGFuZ2VkIHRvIHVzZSByZWxhdGl2ZSByZWZlcmVuY2VzCndoZW4gUElF IGlzIGVuYWJsZWQuCgpUaGUgS0FMTFNZTVNfQUJTT0xVVEVfUEVSQ1BVIGNvbmZpZ3VyYXRpb24g aXMgZGlzYWJsZWQgd2l0aCBQSUUgZ2l2ZW4KcGVyY3B1IHN5bWJvbHMgYXJlIG5vdCBhYnNvbHV0 ZSBpbiB0aGlzIGNhc2UuCgpQb3NpdGlvbiBJbmRlcGVuZGVudCBFeGVjdXRhYmxlIChQSUUpIHN1 cHBvcnQgd2lsbCBhbGxvdyB0byBleHRlbmQgdGhlCktBU0xSIHJhbmRvbWl6YXRpb24gcmFuZ2Ug MHhmZmZmZmZmZjgwMDAwMDAwLgoKU2lnbmVkLW9mZi1ieTogVGhvbWFzIEdhcm5pZXIgPHRoZ2Fy bmllQGdvb2dsZS5jb20+Ci0tLQogYXJjaC94ODYvZW50cnkvY2FsbGluZy5oICAgICAgICAgfCAg MiArLQogYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUyAgICAgICAgfCAgNCArKy0tCiBhcmNoL3g4 Ni9pbmNsdWRlL2FzbS9wZXJjcHUuaCAgICB8IDI1ICsrKysrKysrKysrKysrKysrKystLS0tLS0K IGFyY2gveDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIHwgIDQgKysrLQogYXJjaC94ODYva2Vy bmVsL2hlYWRfNjQuUyAgICAgICAgfCAgNCArKysrCiBhcmNoL3g4Ni9rZXJuZWwvc2V0dXBfcGVy Y3B1LmMgICB8ICA1ICsrKystCiBhcmNoL3g4Ni9rZXJuZWwvdm1saW51eC5sZHMuUyAgICB8IDEz ICsrKysrKysrKysrLS0KIGFyY2gveDg2L2xpYi9jbXB4Y2hnMTZiX2VtdS5TICAgIHwgIDggKysr Ky0tLS0KIGFyY2gveDg2L3hlbi94ZW4tYXNtLlMgICAgICAgICAgIHwgMTIgKysrKysrLS0tLS0t CiBpbml0L0tjb25maWcgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiAxMCBmaWxlcyBjaGFu Z2VkLCA1NSBpbnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNo L3g4Ni9lbnRyeS9jYWxsaW5nLmggYi9hcmNoL3g4Ni9lbnRyeS9jYWxsaW5nLmgKaW5kZXggMzUy ZTcwY2QzM2U4Li5kNmM2MGU2YjU5OGYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2VudHJ5L2NhbGxp bmcuaAorKysgYi9hcmNoL3g4Ni9lbnRyeS9jYWxsaW5nLmgKQEAgLTIxOCw3ICsyMTgsNyBAQCBG b3IgMzItYml0IHdlIGhhdmUgdGhlIGZvbGxvd2luZyBjb252ZW50aW9ucyAtIGtlcm5lbCBpcyBi dWlsdCB3aXRoCiAuZW5kbQogCiAjZGVmaW5lIFRISVNfQ1BVX3VzZXJfcGNpZF9mbHVzaF9tYXNr ICAgXAotCVBFUl9DUFVfVkFSKGNwdV90bGJzdGF0ZSkgKyBUTEJfU1RBVEVfdXNlcl9wY2lkX2Zs dXNoX21hc2sKKwlQRVJfQ1BVX1ZBUihjcHVfdGxic3RhdGUgKyBUTEJfU1RBVEVfdXNlcl9wY2lk X2ZsdXNoX21hc2spCiAKIC5tYWNybyBTV0lUQ0hfVE9fVVNFUl9DUjNfTk9TVEFDSyBzY3JhdGNo X3JlZzpyZXEgc2NyYXRjaF9yZWcyOnJlcQogCUFMVEVSTkFUSVZFICJqbXAgLkxlbmRfXEAiLCAi IiwgWDg2X0ZFQVRVUkVfUFRJCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9lbnRyeS9lbnRyeV82NC5T IGIvYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUwppbmRleCAxY2JmNGMzNjE2YTguLmY5YjQyY2E0 YmY2MCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUworKysgYi9hcmNoL3g4 Ni9lbnRyeS9lbnRyeV82NC5TCkBAIC0zNTksNyArMzU5LDcgQEAgRU5UUlkoX19zd2l0Y2hfdG9f YXNtKQogCiAjaWZkZWYgQ09ORklHX0NDX1NUQUNLUFJPVEVDVE9SCiAJbW92cQlUQVNLX3N0YWNr X2NhbmFyeSglcnNpKSwgJXJieAotCW1vdnEJJXJieCwgUEVSX0NQVV9WQVIoaXJxX3N0YWNrX3Vu aW9uKStzdGFja19jYW5hcnlfb2Zmc2V0CisJbW92cQklcmJ4LCBQRVJfQ1BVX1ZBUihpcnFfc3Rh Y2tfdW5pb24gKyBzdGFja19jYW5hcnlfb2Zmc2V0KQogI2VuZGlmCiAKICNpZmRlZiBDT05GSUdf UkVUUE9MSU5FCkBAIC04OTcsNyArODk3LDcgQEAgYXBpY2ludGVycnVwdCBJUlFfV09SS19WRUNU T1IJCQlpcnFfd29ya19pbnRlcnJ1cHQJCXNtcF9pcnFfd29ya19pbnRlcnJ1cHQKIC8qCiAgKiBF eGNlcHRpb24gZW50cnkgcG9pbnRzLgogICovCi0jZGVmaW5lIENQVV9UU1NfSVNUKHgpIFBFUl9D UFVfVkFSKGNwdV90c3NfcncpICsgKFRTU19pc3QgKyAoKHgpIC0gMSkgKiA4KQorI2RlZmluZSBD UFVfVFNTX0lTVCh4KSBQRVJfQ1BVX1ZBUihjcHVfdHNzX3J3ICsgKFRTU19pc3QgKyAoKHgpIC0g MSkgKiA4KSkKIAogLm1hY3JvIGlkdGVudHJ5IHN5bSBkb19zeW0gaGFzX2Vycm9yX2NvZGU6cmVx IHBhcmFub2lkPTAgc2hpZnRfaXN0PS0xCiBFTlRSWShcc3ltKQpkaWZmIC0tZ2l0IGEvYXJjaC94 ODYvaW5jbHVkZS9hc20vcGVyY3B1LmggYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wZXJjcHUuaApp bmRleCBhMDZiMDczOTlkMTcuLjdkMTI3MWI1MzZlYSAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5j bHVkZS9hc20vcGVyY3B1LmgKKysrIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vcGVyY3B1LmgKQEAg LTUsOSArNSwxMSBAQAogI2lmZGVmIENPTkZJR19YODZfNjQKICNkZWZpbmUgX19wZXJjcHVfc2Vn CQlncwogI2RlZmluZSBfX3BlcmNwdV9tb3Zfb3AJCW1vdnEKKyNkZWZpbmUgX19wZXJjcHVfcmVs CQkoJXJpcCkKICNlbHNlCiAjZGVmaW5lIF9fcGVyY3B1X3NlZwkJZnMKICNkZWZpbmUgX19wZXJj cHVfbW92X29wCQltb3ZsCisjZGVmaW5lIF9fcGVyY3B1X3JlbAogI2VuZGlmCiAKICNpZmRlZiBf X0FTU0VNQkxZX18KQEAgLTI4LDEwICszMCwxNCBAQAogI2RlZmluZSBQRVJfQ1BVKHZhciwgcmVn KQkJCQkJCVwKIAlfX3BlcmNwdV9tb3Zfb3AgJV9fcGVyY3B1X3NlZzp0aGlzX2NwdV9vZmYsIHJl ZzsJCVwKIAlsZWEgdmFyKHJlZyksIHJlZwotI2RlZmluZSBQRVJfQ1BVX1ZBUih2YXIpCSVfX3Bl cmNwdV9zZWc6dmFyCisvKiBDb21wYXRpYmxlIHdpdGggUG9zaXRpb24gSW5kZXBlbmRlbnQgQ29k ZSAqLworI2RlZmluZSBQRVJfQ1BVX1ZBUih2YXIpCQklX19wZXJjcHVfc2VnOih2YXIpIyNfX3Bl cmNwdV9yZWwKKy8qIFJhcmUgYWJzb2x1dGUgcmVmZXJlbmNlICovCisjZGVmaW5lIFBFUl9DUFVf VkFSX0FCUyh2YXIpCQklX19wZXJjcHVfc2VnOnZhcgogI2Vsc2UgLyogISBTTVAgKi8KICNkZWZp bmUgUEVSX0NQVSh2YXIsIHJlZykJX19wZXJjcHVfbW92X29wICR2YXIsIHJlZwotI2RlZmluZSBQ RVJfQ1BVX1ZBUih2YXIpCXZhcgorI2RlZmluZSBQRVJfQ1BVX1ZBUih2YXIpCSh2YXIpIyNfX3Bl cmNwdV9yZWwKKyNkZWZpbmUgUEVSX0NQVV9WQVJfQUJTKHZhcikJdmFyCiAjZW5kaWYJLyogU01Q ICovCiAKICNpZmRlZiBDT05GSUdfWDg2XzY0X1NNUApAQCAtMjA5LDI3ICsyMTUsMzQgQEAgZG8g ewkJCQkJCQkJCVwKIAlwZm9fcmV0X187CQkJCQlcCiB9KQogCisvKiBQb3NpdGlvbiBJbmRlcGVu ZGVudCBjb2RlIHVzZXMgcmVsYXRpdmUgYWRkcmVzc2VzIG9ubHkgKi8KKyNpZmRlZiBDT05GSUdf WDg2X1BJRQorI2RlZmluZSBfX3BlcmNwdV9zdGFibGVfYXJnIF9fcGVyY3B1X2FyZyhhMSkKKyNl bHNlCisjZGVmaW5lIF9fcGVyY3B1X3N0YWJsZV9hcmcgX19wZXJjcHVfYXJnKFAxKQorI2VuZGlm CisKICNkZWZpbmUgcGVyY3B1X3N0YWJsZV9vcChvcCwgdmFyKQkJCVwKICh7CQkJCQkJCVwKIAl0 eXBlb2YodmFyKSBwZm9fcmV0X187CQkJCVwKIAlzd2l0Y2ggKHNpemVvZih2YXIpKSB7CQkJCVwK IAljYXNlIDE6CQkJCQkJXAotCQlhc20ob3AgImIgIl9fcGVyY3B1X2FyZyhQMSkiLCUwIglcCisJ CWFzbShvcCAiYiAiX19wZXJjcHVfc3RhYmxlX2FyZyAiLCUwIglcCiAJCSAgICA6ICI9cSIgKHBm b19yZXRfXykJCQlcCiAJCSAgICA6ICJwIiAoJih2YXIpKSk7CQkJXAogCQlicmVhazsJCQkJCVwK IAljYXNlIDI6CQkJCQkJXAotCQlhc20ob3AgIncgIl9fcGVyY3B1X2FyZyhQMSkiLCUwIglcCisJ CWFzbShvcCAidyAiX19wZXJjcHVfc3RhYmxlX2FyZyAiLCUwIglcCiAJCSAgICA6ICI9ciIgKHBm b19yZXRfXykJCQlcCiAJCSAgICA6ICJwIiAoJih2YXIpKSk7CQkJXAogCQlicmVhazsJCQkJCVwK IAljYXNlIDQ6CQkJCQkJXAotCQlhc20ob3AgImwgIl9fcGVyY3B1X2FyZyhQMSkiLCUwIglcCisJ CWFzbShvcCAibCAiX19wZXJjcHVfc3RhYmxlX2FyZyAiLCUwIglcCiAJCSAgICA6ICI9ciIgKHBm b19yZXRfXykJCQlcCiAJCSAgICA6ICJwIiAoJih2YXIpKSk7CQkJXAogCQlicmVhazsJCQkJCVwK IAljYXNlIDg6CQkJCQkJXAotCQlhc20ob3AgInEgIl9fcGVyY3B1X2FyZyhQMSkiLCUwIglcCisJ CWFzbShvcCAicSAiX19wZXJjcHVfc3RhYmxlX2FyZyAiLCUwIglcCiAJCSAgICA6ICI9ciIgKHBm b19yZXRfXykJCQlcCiAJCSAgICA6ICJwIiAoJih2YXIpKSk7CQkJXAogCQlicmVhazsJCQkJCVwK ZGlmZiAtLWdpdCBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oIGIvYXJjaC94ODYv aW5jbHVkZS9hc20vcHJvY2Vzc29yLmgKaW5kZXggN2FlOWZiOTFmN2I1Li44MTYyYjVhMjRkOGMg MTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oCisrKyBiL2FyY2gv eDg2L2luY2x1ZGUvYXNtL3Byb2Nlc3Nvci5oCkBAIC0yNCw2ICsyNCw3IEBAIHN0cnVjdCB2bTg2 OwogI2luY2x1ZGUgPGFzbS9zcGVjaWFsX2luc25zLmg+CiAjaW5jbHVkZSA8YXNtL2ZwdS90eXBl cy5oPgogI2luY2x1ZGUgPGFzbS91bndpbmRfaGludHMuaD4KKyNpbmNsdWRlIDxhc20vc2VjdGlv bnMuaD4KIAogI2luY2x1ZGUgPGxpbnV4L3BlcnNvbmFsaXR5Lmg+CiAjaW5jbHVkZSA8bGludXgv Y2FjaGUuaD4KQEAgLTQwMCw3ICs0MDEsOCBAQCBERUNMQVJFX0lOSVRfUEVSX0NQVShpcnFfc3Rh Y2tfdW5pb24pOwogCiBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgY3B1X2tlcm5lbG1vZGVf Z3NfYmFzZShpbnQgY3B1KQogewotCXJldHVybiAodW5zaWduZWQgbG9uZylwZXJfY3B1KGlycV9z dGFja191bmlvbi5nc19iYXNlLCBjcHUpOworCXJldHVybiAodW5zaWduZWQgbG9uZylwZXJfY3B1 KGlycV9zdGFja191bmlvbi5nc19iYXNlLCBjcHUpIC0KKwkJKHVuc2lnbmVkIGxvbmcpX19wZXJf Y3B1X3N0YXJ0OwogfQogCiBERUNMQVJFX1BFUl9DUFUoY2hhciAqLCBpcnFfc3RhY2tfcHRyKTsK ZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMgYi9hcmNoL3g4Ni9rZXJuZWwv aGVhZF82NC5TCmluZGV4IDdmY2ExOWUxZjU1Ni4uZmRkZWIzZDgxYWE2IDEwMDY0NAotLS0gYS9h cmNoL3g4Ni9rZXJuZWwvaGVhZF82NC5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMK QEAgLTI2OCw3ICsyNjgsMTEgQEAgRU5EUFJPQyhzdGFydF9jcHUwKQogCUdMT0JBTChpbml0aWFs X2NvZGUpCiAJLnF1YWQJeDg2XzY0X3N0YXJ0X2tlcm5lbAogCUdMT0JBTChpbml0aWFsX2dzKQor I2lmZGVmIENPTkZJR19YODZfUElFCisJLnF1YWQJMAorI2Vsc2UKIAkucXVhZAlJTklUX1BFUl9D UFVfVkFSKGlycV9zdGFja191bmlvbikKKyNlbmRpZgogCUdMT0JBTChpbml0aWFsX3N0YWNrKQog CS8qCiAJICogVGhlIFNJWkVPRl9QVFJFR1MgZ2FwIGlzIGEgY29udmVudGlvbiB3aGljaCBoZWxw cyB0aGUgaW4ta2VybmVsCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfcGVyY3B1 LmMgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfcGVyY3B1LmMKaW5kZXggZWE1NTRmODEyZWUxLi5k NjFlY2MzZDJiNmYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9zZXR1cF9wZXJjcHUuYwor KysgYi9hcmNoL3g4Ni9rZXJuZWwvc2V0dXBfcGVyY3B1LmMKQEAgLTI2LDcgKzI2LDcgQEAKIERF RklORV9QRVJfQ1BVX1JFQURfTU9TVExZKGludCwgY3B1X251bWJlcik7CiBFWFBPUlRfUEVSX0NQ VV9TWU1CT0woY3B1X251bWJlcik7CiAKLSNpZmRlZiBDT05GSUdfWDg2XzY0CisjaWYgZGVmaW5l ZChDT05GSUdfWDg2XzY0KSAmJiAhZGVmaW5lZChDT05GSUdfWDg2X1BJRSkKICNkZWZpbmUgQk9P VF9QRVJDUFVfT0ZGU0VUICgodW5zaWduZWQgbG9uZylfX3Blcl9jcHVfbG9hZCkKICNlbHNlCiAj ZGVmaW5lIEJPT1RfUEVSQ1BVX09GRlNFVCAwCkBAIC00MCw2ICs0MCw5IEBAIHVuc2lnbmVkIGxv bmcgX19wZXJfY3B1X29mZnNldFtOUl9DUFVTXSBfX3JvX2FmdGVyX2luaXQgPSB7CiB9OwogRVhQ T1JUX1NZTUJPTChfX3Blcl9jcHVfb2Zmc2V0KTsKIAorLyogVXNlZCB0byBjYWxjdWxhdGUgZ3Nf YmFzZSBmb3IgZWFjaCBDUFUgKi8KK0VYUE9SVF9TWU1CT0woX19wZXJfY3B1X3N0YXJ0KTsKKwog LyoKICAqIE9uIHg4Nl82NCBzeW1ib2xzIHJlZmVyZW5jZWQgZnJvbSBjb2RlIHNob3VsZCBiZSBy ZWFjaGFibGUgdXNpbmcKICAqIDMyYml0IHJlbG9jYXRpb25zLiAgUmVzZXJ2ZSBzcGFjZSBmb3Ig c3RhdGljIHBlcmNwdSB2YXJpYWJsZXMgaW4KZGlmZiAtLWdpdCBhL2FyY2gveDg2L2tlcm5lbC92 bWxpbnV4Lmxkcy5TIGIvYXJjaC94ODYva2VybmVsL3ZtbGludXgubGRzLlMKaW5kZXggNWUxNDU4 ZjYwOWExLi5mNTgyZmM0Nzc2ZGQgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4 Lmxkcy5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4Lmxkcy5TCkBAIC0yMTEsOSArMjEx LDE0IEBAIFNFQ1RJT05TCiAJLyoKIAkgKiBwZXJjcHUgb2Zmc2V0cyBhcmUgemVyby1iYXNlZCBv biBTTVAuICBQRVJDUFVfVkFERFIoKSBjaGFuZ2VzIHRoZQogCSAqIG91dHB1dCBQSERSLCBzbyB0 aGUgbmV4dCBvdXRwdXQgc2VjdGlvbiAtIC5pbml0LnRleHQgLSBzaG91bGQKLQkgKiBzdGFydCBh bm90aGVyIHNlZ21lbnQgLSBpbml0LgorCSAqIHN0YXJ0IGFub3RoZXIgc2VnbWVudCAtIGluaXQu IEZvciBQb3NpdGlvbiBJbmRlcGVuZGVudCBDb2RlLCB0aGUKKwkgKiBwZXItY3B1IHNlY3Rpb24g Y2Fubm90IGJlIHplcm8tYmFzZWQgYmVjYXVzZSBldmVyeXRoaW5nIGlzIHJlbGF0aXZlLgogCSAq LworI2lmZGVmIENPTkZJR19YODZfUElFCisJUEVSQ1BVX1NFQ1RJT04oSU5URVJOT0RFX0NBQ0hF X0JZVEVTKQorI2Vsc2UKIAlQRVJDUFVfVkFERFIoSU5URVJOT0RFX0NBQ0hFX0JZVEVTLCAwLCA6 cGVyY3B1KQorI2VuZGlmCiAJQVNTRVJUKFNJWkVPRiguZGF0YS4ucGVyY3B1KSA8IENPTkZJR19Q SFlTSUNBTF9TVEFSVCwKIAkgICAgICAgInBlci1DUFUgZGF0YSB0b28gbGFyZ2UgLSBpbmNyZWFz ZSBDT05GSUdfUEhZU0lDQUxfU1RBUlQiKQogI2VuZGlmCkBAIC0zODksNyArMzk0LDExIEBAIFNF Q1RJT05TCiAgKiBQZXItY3B1IHN5bWJvbHMgd2hpY2ggbmVlZCB0byBiZSBvZmZzZXQgZnJvbSBf X3Blcl9jcHVfbG9hZAogICogZm9yIHRoZSBib290IHByb2Nlc3Nvci4KICAqLworI2lmZGVmIENP TkZJR19YODZfUElFCisjZGVmaW5lIElOSVRfUEVSX0NQVSh4KSBpbml0X3Blcl9jcHVfXyMjeCA9 IHgKKyNlbHNlCiAjZGVmaW5lIElOSVRfUEVSX0NQVSh4KSBpbml0X3Blcl9jcHVfXyMjeCA9IHgg KyBfX3Blcl9jcHVfbG9hZAorI2VuZGlmCiBJTklUX1BFUl9DUFUoZ2R0X3BhZ2UpOwogSU5JVF9Q RVJfQ1BVKGlycV9zdGFja191bmlvbik7CiAKQEAgLTM5OSw3ICs0MDgsNyBAQCBJTklUX1BFUl9D UFUoaXJxX3N0YWNrX3VuaW9uKTsKIC4gPSBBU1NFUlQoKF9lbmQgLSBfdGV4dCA8PSBLRVJORUxf SU1BR0VfU0laRSksCiAJICAgImtlcm5lbCBpbWFnZSBiaWdnZXIgdGhhbiBLRVJORUxfSU1BR0Vf U0laRSIpOwogCi0jaWZkZWYgQ09ORklHX1NNUAorI2lmIGRlZmluZWQoQ09ORklHX1NNUCkgJiYg IWRlZmluZWQoQ09ORklHX1g4Nl9QSUUpCiAuID0gQVNTRVJUKChpcnFfc3RhY2tfdW5pb24gPT0g MCksCiAgICAgICAgICAgICJpcnFfc3RhY2tfdW5pb24gaXMgbm90IGF0IHN0YXJ0IG9mIHBlci1j cHUgYXJlYSIpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9saWIvY21weGNoZzE2Yl9l bXUuUyBiL2FyY2gveDg2L2xpYi9jbXB4Y2hnMTZiX2VtdS5TCmluZGV4IDliMzMwMjQyZTc0MC4u MjU0OTUwNjA0YWU0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9saWIvY21weGNoZzE2Yl9lbXUuUwor KysgYi9hcmNoL3g4Ni9saWIvY21weGNoZzE2Yl9lbXUuUwpAQCAtMzMsMTMgKzMzLDEzIEBAIEVO VFJZKHRoaXNfY3B1X2NtcHhjaGcxNmJfZW11KQogCXB1c2hmcQogCWNsaQogCi0JY21wcSBQRVJf Q1BVX1ZBUigoJXJzaSkpLCAlcmF4CisJY21wcSBQRVJfQ1BVX1ZBUl9BQlMoKCVyc2kpKSwgJXJh eAogCWpuZSAuTG5vdF9zYW1lCi0JY21wcSBQRVJfQ1BVX1ZBUig4KCVyc2kpKSwgJXJkeAorCWNt cHEgUEVSX0NQVV9WQVJfQUJTKDgoJXJzaSkpLCAlcmR4CiAJam5lIC5Mbm90X3NhbWUKIAotCW1v dnEgJXJieCwgUEVSX0NQVV9WQVIoKCVyc2kpKQotCW1vdnEgJXJjeCwgUEVSX0NQVV9WQVIoOCgl cnNpKSkKKwltb3ZxICVyYngsIFBFUl9DUFVfVkFSX0FCUygoJXJzaSkpCisJbW92cSAlcmN4LCBQ RVJfQ1BVX1ZBUl9BQlMoOCglcnNpKSkKIAogCXBvcGZxCiAJbW92ICQxLCAlYWwKZGlmZiAtLWdp dCBhL2FyY2gveDg2L3hlbi94ZW4tYXNtLlMgYi9hcmNoL3g4Ni94ZW4veGVuLWFzbS5TCmluZGV4 IDgwMTllZGQwMTI1Yy4uYTVkNzNkMzIxOGJlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni94ZW4veGVu LWFzbS5TCisrKyBiL2FyY2gveDg2L3hlbi94ZW4tYXNtLlMKQEAgLTIxLDcgKzIxLDcgQEAKIEVO VFJZKHhlbl9pcnFfZW5hYmxlX2RpcmVjdCkKIAlGUkFNRV9CRUdJTgogCS8qIFVubWFzayBldmVu dHMgKi8KLQltb3ZiICQwLCBQRVJfQ1BVX1ZBUih4ZW5fdmNwdV9pbmZvKSArIFhFTl92Y3B1X2lu Zm9fbWFzaworCW1vdmIgJDAsIFBFUl9DUFVfVkFSKHhlbl92Y3B1X2luZm8gKyBYRU5fdmNwdV9p bmZvX21hc2spCiAKIAkvKgogCSAqIFByZWVtcHQgaGVyZSBkb2Vzbid0IG1hdHRlciBiZWNhdXNl IHRoYXQgd2lsbCBkZWFsIHdpdGggYW55CkBAIC0zMCw3ICszMCw3IEBAIEVOVFJZKHhlbl9pcnFf ZW5hYmxlX2RpcmVjdCkKIAkgKi8KIAogCS8qIFRlc3QgZm9yIHBlbmRpbmcgKi8KLQl0ZXN0YiAk MHhmZiwgUEVSX0NQVV9WQVIoeGVuX3ZjcHVfaW5mbykgKyBYRU5fdmNwdV9pbmZvX3BlbmRpbmcK Kwl0ZXN0YiAkMHhmZiwgUEVSX0NQVV9WQVIoeGVuX3ZjcHVfaW5mbyArIFhFTl92Y3B1X2luZm9f cGVuZGluZykKIAlqeiAxZgogCiAJY2FsbCBjaGVja19ldmVudHMKQEAgLTQ1LDcgKzQ1LDcgQEAg RU5UUlkoeGVuX2lycV9lbmFibGVfZGlyZWN0KQogICogbm9uLXplcm8uCiAgKi8KIEVOVFJZKHhl bl9pcnFfZGlzYWJsZV9kaXJlY3QpCi0JbW92YiAkMSwgUEVSX0NQVV9WQVIoeGVuX3ZjcHVfaW5m bykgKyBYRU5fdmNwdV9pbmZvX21hc2sKKwltb3ZiICQxLCBQRVJfQ1BVX1ZBUih4ZW5fdmNwdV9p bmZvICsgWEVOX3ZjcHVfaW5mb19tYXNrKQogCXJldAogRU5EUFJPQyh4ZW5faXJxX2Rpc2FibGVf ZGlyZWN0KQogCkBAIC01OSw3ICs1OSw3IEBAIEVORFBST0MoeGVuX2lycV9kaXNhYmxlX2RpcmVj dCkKICAqIHg4NiB1c2Ugb3Bwb3NpdGUgc2Vuc2VzIChtYXNrIHZzIGVuYWJsZSkuCiAgKi8KIEVO VFJZKHhlbl9zYXZlX2ZsX2RpcmVjdCkKLQl0ZXN0YiAkMHhmZiwgUEVSX0NQVV9WQVIoeGVuX3Zj cHVfaW5mbykgKyBYRU5fdmNwdV9pbmZvX21hc2sKKwl0ZXN0YiAkMHhmZiwgUEVSX0NQVV9WQVIo eGVuX3ZjcHVfaW5mbyArIFhFTl92Y3B1X2luZm9fbWFzaykKIAlzZXR6ICVhaAogCWFkZGIgJWFo LCAlYWgKIAlyZXQKQEAgLTgwLDcgKzgwLDcgQEAgRU5UUlkoeGVuX3Jlc3RvcmVfZmxfZGlyZWN0 KQogI2Vsc2UKIAl0ZXN0YiAkWDg2X0VGTEFHU19JRj4+OCwgJWFoCiAjZW5kaWYKLQlzZXR6IFBF Ul9DUFVfVkFSKHhlbl92Y3B1X2luZm8pICsgWEVOX3ZjcHVfaW5mb19tYXNrCisJc2V0eiBQRVJf Q1BVX1ZBUih4ZW5fdmNwdV9pbmZvICsgWEVOX3ZjcHVfaW5mb19tYXNrKQogCS8qCiAJICogUHJl ZW1wdCBoZXJlIGRvZXNuJ3QgbWF0dGVyIGJlY2F1c2UgdGhhdCB3aWxsIGRlYWwgd2l0aCBhbnkK IAkgKiBwZW5kaW5nIGludGVycnVwdHMuICBUaGUgcGVuZGluZyBjaGVjayBtYXkgZW5kIHVwIGJl aW5nIHJ1bgpAQCAtODgsNyArODgsNyBAQCBFTlRSWSh4ZW5fcmVzdG9yZV9mbF9kaXJlY3QpCiAJ ICovCiAKIAkvKiBjaGVjayBmb3IgdW5tYXNrZWQgYW5kIHBlbmRpbmcgKi8KLQljbXB3ICQweDAw MDEsIFBFUl9DUFVfVkFSKHhlbl92Y3B1X2luZm8pICsgWEVOX3ZjcHVfaW5mb19wZW5kaW5nCisJ Y21wdyAkMHgwMDAxLCBQRVJfQ1BVX1ZBUih4ZW5fdmNwdV9pbmZvICsgWEVOX3ZjcHVfaW5mb19w ZW5kaW5nKQogCWpueiAxZgogCWNhbGwgY2hlY2tfZXZlbnRzCiAxOgpkaWZmIC0tZ2l0IGEvaW5p dC9LY29uZmlnIGIvaW5pdC9LY29uZmlnCmluZGV4IDhmZWM1ZDEzNmYxZi4uZTRhY2FiOWY5ZmQx IDEwMDY0NAotLS0gYS9pbml0L0tjb25maWcKKysrIGIvaW5pdC9LY29uZmlnCkBAIC0xMzkxLDcg KzEzOTEsNyBAQCBjb25maWcgS0FMTFNZTVNfQUxMCiBjb25maWcgS0FMTFNZTVNfQUJTT0xVVEVf UEVSQ1BVCiAJYm9vbAogCWRlcGVuZHMgb24gS0FMTFNZTVMKLQlkZWZhdWx0IFg4Nl82NCAmJiBT TVAKKwlkZWZhdWx0IFg4Nl82NCAmJiBTTVAgJiYgIVg4Nl9QSUUKIAogY29uZmlnIEtBTExTWU1T X0JBU0VfUkVMQVRJVkUKIAlib29sCi0tIAoyLjE3LjAuOTIxLmdmMjI2NTlhZDQ2LWdvb2cKCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwg bWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3Rz LnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs