From: Thomas Garnier Subject: [RFC v2 16/23] x86/percpu: Adapt percpu for PIE support Date: Thu, 10 Aug 2017 10:26:08 -0700 Message-ID: <20170810172615.51965-17-thgarnie@google.com> References: <20170810172615.51965-1-thgarnie@google.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: linux-arch@vger.kernel.org, kvm@vger.kernel.org, linux-pm@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, linux-sparse@vger.kernel.org, linux-crypto@vger.kernel.org, kernel-hardening@lists.openwall.com, xen-devel@lists.xenproject.org To: Herbert Xu , "David S . Miller" , Thomas Gleixner , Ingo Molnar , "H . Peter Anvin" , Peter Zijlstra , Josh Poimboeuf , Arnd Bergmann , Thomas Garnier , Matthias Kaehlcke , Boris Ostrovsky , Juergen Gross , Paolo Bonzini , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Joerg Roedel , Tom Lendacky , Andy Lutomirski , Borislav Petkov , Brian Gerst , "Kirill A . Shutemov" , "Rafael J . Wysocki" , Len Brown , Pavel Machek Return-path: In-Reply-To: <20170810172615.51965-1-thgarnie@google.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" List-Id: linux-crypto.vger.kernel.org UGVycGN1IHVzZXMgYSBjbGV2ZXIgZGVzaWduIHdoZXJlIHRoZSAucGVyY3UgRUxGIHNlY3Rpb24g aGFzIGEgdmlydHVhbAphZGRyZXNzIG9mIHplcm8gYW5kIHRoZSByZWxvY2F0aW9uIGNvZGUgYXZv aWQgcmVsb2NhdGluZyBzcGVjaWZpYwpzeW1ib2xzLiBJdCBtYWtlcyB0aGUgY29kZSBzaW1wbGUg YW5kIGVhc2lseSBhZGFwdGFibGUgd2l0aCBvciB3aXRob3V0ClNNUCBzdXBwb3J0LgoKVGhpcyBk ZXNpZ24gaXMgaW5jb21wYXRpYmxlIHdpdGggUElFIGJlY2F1c2UgZ2VuZXJhdGVkIGNvZGUgYWx3 YXlzIHRyeSB0bwphY2Nlc3MgdGhlIHplcm8gdmlydHVhbCBhZGRyZXNzIHJlbGF0aXZlIHRvIHRo ZSBkZWZhdWx0IG1hcHBpbmcgYWRkcmVzcy4KSXQgYmVjb21lcyBpbXBvc3NpYmxlIHdoZW4gS0FT TFIgaXMgY29uZmlndXJlZCB0byBnbyBiZWxvdyAtMkcuIFRoaXMKcGF0Y2ggc29sdmVzIHRoaXMg cHJvYmxlbSBieSByZW1vdmluZyB0aGUgemVybyBtYXBwaW5nIGFuZCBhZGFwdGluZyB0aGUgR1MK YmFzZSB0byBiZSByZWxhdGl2ZSB0byB0aGUgZXhwZWN0ZWQgYWRkcmVzcy4gVGhlc2UgY2hhbmdl cyBhcmUgZG9uZSBvbmx5CndoZW4gUElFIGlzIGVuYWJsZWQuIFRoZSBvcmlnaW5hbCBpbXBsZW1l bnRhdGlvbiBpcyBrZXB0IGFzLWlzCmJ5IGRlZmF1bHQuCgpUaGUgYXNzZW1ibHkgYW5kIFBFUl9D UFUgbWFjcm9zIGFyZSBjaGFuZ2VkIHRvIHVzZSByZWxhdGl2ZSByZWZlcmVuY2VzCndoZW4gUElF IGlzIGVuYWJsZWQuCgpUaGUgS0FMTFNZTVNfQUJTT0xVVEVfUEVSQ1BVIGNvbmZpZ3VyYXRpb24g aXMgZGlzYWJsZWQgd2l0aCBQSUUgZ2l2ZW4KcGVyY3B1IHN5bWJvbHMgYXJlIG5vdCBhYnNvbHV0 ZSBpbiB0aGlzIGNhc2UuCgpQb3NpdGlvbiBJbmRlcGVuZGVudCBFeGVjdXRhYmxlIChQSUUpIHN1 cHBvcnQgd2lsbCBhbGxvdyB0byBleHRlbmRlZCB0aGUKS0FTTFIgcmFuZG9taXphdGlvbiByYW5n ZSBiZWxvdyB0aGUgLTJHIG1lbW9yeSBsaW1pdC4KClNpZ25lZC1vZmYtYnk6IFRob21hcyBHYXJu aWVyIDx0aGdhcm5pZUBnb29nbGUuY29tPgotLS0KIGFyY2gveDg2L2VudHJ5L2VudHJ5XzY0LlMg ICAgICB8ICA0ICsrLS0KIGFyY2gveDg2L2luY2x1ZGUvYXNtL3BlcmNwdS5oICB8IDI1ICsrKysr KysrKysrKysrKysrKystLS0tLS0KIGFyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uLmMgICB8ICA0 ICsrKy0KIGFyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMgICAgICB8ICA0ICsrKysKIGFyY2gveDg2 L2tlcm5lbC9zZXR1cF9wZXJjcHUuYyB8ICAyICstCiBhcmNoL3g4Ni9rZXJuZWwvdm1saW51eC5s ZHMuUyAgfCAxMyArKysrKysrKysrKy0tCiBhcmNoL3g4Ni9saWIvY21weGNoZzE2Yl9lbXUuUyAg fCAgOCArKysrLS0tLQogYXJjaC94ODYveGVuL3hlbi1hc20uUyAgICAgICAgIHwgMTIgKysrKysr LS0tLS0tCiBpbml0L0tjb25maWcgICAgICAgICAgICAgICAgICAgfCAgMiArLQogOSBmaWxlcyBj aGFuZ2VkLCA1MSBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9h cmNoL3g4Ni9lbnRyeS9lbnRyeV82NC5TIGIvYXJjaC94ODYvZW50cnkvZW50cnlfNjQuUwppbmRl eCBhMzk2N2EyYWY2ZWMuLmMxZjliMjlkNGMyNCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvZW50cnkv ZW50cnlfNjQuUworKysgYi9hcmNoL3g4Ni9lbnRyeS9lbnRyeV82NC5TCkBAIC0zOTcsNyArMzk3 LDcgQEAgRU5UUlkoX19zd2l0Y2hfdG9fYXNtKQogCiAjaWZkZWYgQ09ORklHX0NDX1NUQUNLUFJP VEVDVE9SCiAJbW92cQlUQVNLX3N0YWNrX2NhbmFyeSglcnNpKSwgJXJieAotCW1vdnEJJXJieCwg UEVSX0NQVV9WQVIoaXJxX3N0YWNrX3VuaW9uKStzdGFja19jYW5hcnlfb2Zmc2V0CisJbW92cQkl cmJ4LCBQRVJfQ1BVX1ZBUihpcnFfc3RhY2tfdW5pb24gKyBzdGFja19jYW5hcnlfb2Zmc2V0KQog I2VuZGlmCiAKIAkvKiByZXN0b3JlIGNhbGxlZS1zYXZlZCByZWdpc3RlcnMgKi8KQEAgLTgzMSw3 ICs4MzEsNyBAQCBhcGljaW50ZXJydXB0IElSUV9XT1JLX1ZFQ1RPUgkJCWlycV93b3JrX2ludGVy cnVwdAkJc21wX2lycV93b3JrX2ludGVycnVwdAogLyoKICAqIEV4Y2VwdGlvbiBlbnRyeSBwb2lu dHMuCiAgKi8KLSNkZWZpbmUgQ1BVX1RTU19JU1QoeCkgUEVSX0NQVV9WQVIoY3B1X3RzcykgKyAo VFNTX2lzdCArICgoeCkgLSAxKSAqIDgpCisjZGVmaW5lIENQVV9UU1NfSVNUKHgpIFBFUl9DUFVf VkFSKGNwdV90c3MgKyAoVFNTX2lzdCArICgoeCkgLSAxKSAqIDgpKQogCiAubWFjcm8gaWR0ZW50 cnkgc3ltIGRvX3N5bSBoYXNfZXJyb3JfY29kZTpyZXEgcGFyYW5vaWQ9MCBzaGlmdF9pc3Q9LTEK IEVOVFJZKFxzeW0pCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wZXJjcHUuaCBi L2FyY2gveDg2L2luY2x1ZGUvYXNtL3BlcmNwdS5oCmluZGV4IDlmYTAzNjA0YjJiMy4uODYyZWI3 NzFmMGU1IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9wZXJjcHUuaAorKysgYi9h cmNoL3g4Ni9pbmNsdWRlL2FzbS9wZXJjcHUuaApAQCAtNCw5ICs0LDExIEBACiAjaWZkZWYgQ09O RklHX1g4Nl82NAogI2RlZmluZSBfX3BlcmNwdV9zZWcJCWdzCiAjZGVmaW5lIF9fcGVyY3B1X21v dl9vcAkJbW92cQorI2RlZmluZSBfX3BlcmNwdV9yZWwJCSglcmlwKQogI2Vsc2UKICNkZWZpbmUg X19wZXJjcHVfc2VnCQlmcwogI2RlZmluZSBfX3BlcmNwdV9tb3Zfb3AJCW1vdmwKKyNkZWZpbmUg X19wZXJjcHVfcmVsCiAjZW5kaWYKIAogI2lmZGVmIF9fQVNTRU1CTFlfXwpAQCAtMjcsMTAgKzI5 LDE0IEBACiAjZGVmaW5lIFBFUl9DUFUodmFyLCByZWcpCQkJCQkJXAogCV9fcGVyY3B1X21vdl9v cCAlX19wZXJjcHVfc2VnOnRoaXNfY3B1X29mZiwgcmVnOwkJXAogCWxlYSB2YXIocmVnKSwgcmVn Ci0jZGVmaW5lIFBFUl9DUFVfVkFSKHZhcikJJV9fcGVyY3B1X3NlZzp2YXIKKy8qIENvbXBhdGli bGUgd2l0aCBQb3NpdGlvbiBJbmRlcGVuZGVudCBDb2RlICovCisjZGVmaW5lIFBFUl9DUFVfVkFS KHZhcikJCSVfX3BlcmNwdV9zZWc6KHZhcikjI19fcGVyY3B1X3JlbAorLyogUmFyZSBhYnNvbHV0 ZSByZWZlcmVuY2UgKi8KKyNkZWZpbmUgUEVSX0NQVV9WQVJfQUJTKHZhcikJCSVfX3BlcmNwdV9z ZWc6dmFyCiAjZWxzZSAvKiAhIFNNUCAqLwogI2RlZmluZSBQRVJfQ1BVKHZhciwgcmVnKQlfX3Bl cmNwdV9tb3Zfb3AgJHZhciwgcmVnCi0jZGVmaW5lIFBFUl9DUFVfVkFSKHZhcikJdmFyCisjZGVm aW5lIFBFUl9DUFVfVkFSKHZhcikJKHZhcikjI19fcGVyY3B1X3JlbAorI2RlZmluZSBQRVJfQ1BV X1ZBUl9BQlModmFyKQl2YXIKICNlbmRpZgkvKiBTTVAgKi8KIAogI2lmZGVmIENPTkZJR19YODZf NjRfU01QCkBAIC0yMDgsMjcgKzIxNCwzNCBAQCBkbyB7CQkJCQkJCQkJXAogCXBmb19yZXRfXzsJ CQkJCVwKIH0pCiAKKy8qIFBvc2l0aW9uIEluZGVwZW5kZW50IGNvZGUgdXNlcyByZWxhdGl2ZSBh ZGRyZXNzZXMgb25seSAqLworI2lmZGVmIENPTkZJR19YODZfUElFCisjZGVmaW5lIF9fcGVyY3B1 X3N0YWJsZV9hcmcgX19wZXJjcHVfYXJnKGExKQorI2Vsc2UKKyNkZWZpbmUgX19wZXJjcHVfc3Rh YmxlX2FyZyBfX3BlcmNwdV9hcmcoUDEpCisjZW5kaWYKKwogI2RlZmluZSBwZXJjcHVfc3RhYmxl X29wKG9wLCB2YXIpCQkJXAogKHsJCQkJCQkJXAogCXR5cGVvZih2YXIpIHBmb19yZXRfXzsJCQkJ XAogCXN3aXRjaCAoc2l6ZW9mKHZhcikpIHsJCQkJXAogCWNhc2UgMToJCQkJCQlcCi0JCWFzbShv cCAiYiAiX19wZXJjcHVfYXJnKFAxKSIsJTAiCVwKKwkJYXNtKG9wICJiICJfX3BlcmNwdV9zdGFi bGVfYXJnICIsJTAiCVwKIAkJICAgIDogIj1xIiAocGZvX3JldF9fKQkJCVwKIAkJICAgIDogInAi ICgmKHZhcikpKTsJCQlcCiAJCWJyZWFrOwkJCQkJXAogCWNhc2UgMjoJCQkJCQlcCi0JCWFzbShv cCAidyAiX19wZXJjcHVfYXJnKFAxKSIsJTAiCVwKKwkJYXNtKG9wICJ3ICJfX3BlcmNwdV9zdGFi bGVfYXJnICIsJTAiCVwKIAkJICAgIDogIj1yIiAocGZvX3JldF9fKQkJCVwKIAkJICAgIDogInAi ICgmKHZhcikpKTsJCQlcCiAJCWJyZWFrOwkJCQkJXAogCWNhc2UgNDoJCQkJCQlcCi0JCWFzbShv cCAibCAiX19wZXJjcHVfYXJnKFAxKSIsJTAiCVwKKwkJYXNtKG9wICJsICJfX3BlcmNwdV9zdGFi bGVfYXJnICIsJTAiCVwKIAkJICAgIDogIj1yIiAocGZvX3JldF9fKQkJCVwKIAkJICAgIDogInAi ICgmKHZhcikpKTsJCQlcCiAJCWJyZWFrOwkJCQkJXAogCWNhc2UgODoJCQkJCQlcCi0JCWFzbShv cCAicSAiX19wZXJjcHVfYXJnKFAxKSIsJTAiCVwKKwkJYXNtKG9wICJxICJfX3BlcmNwdV9zdGFi bGVfYXJnICIsJTAiCVwKIAkJICAgIDogIj1yIiAocGZvX3JldF9fKQkJCVwKIAkJICAgIDogInAi ICgmKHZhcikpKTsJCQlcCiAJCWJyZWFrOwkJCQkJXApkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2Vy bmVsL2NwdS9jb21tb24uYyBiL2FyY2gveDg2L2tlcm5lbC9jcHUvY29tbW9uLmMKaW5kZXggYjk1 Y2Q5NGNhOTdiLi4zMTMwMDc2N2VjMGYgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9jcHUv Y29tbW9uLmMKKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9jb21tb24uYwpAQCAtNDgwLDcgKzQ4 MCw5IEBAIHZvaWQgbG9hZF9wZXJjcHVfc2VnbWVudChpbnQgY3B1KQogCWxvYWRzZWdtZW50KGZz LCBfX0tFUk5FTF9QRVJDUFUpOwogI2Vsc2UKIAlfX2xvYWRzZWdtZW50X3NpbXBsZShncywgMCk7 Ci0Jd3Jtc3JsKE1TUl9HU19CQVNFLCAodW5zaWduZWQgbG9uZylwZXJfY3B1KGlycV9zdGFja191 bmlvbi5nc19iYXNlLCBjcHUpKTsKKwl3cm1zcmwoTVNSX0dTX0JBU0UsCisJICAgICAgICh1bnNp Z25lZCBsb25nKXBlcl9jcHUoaXJxX3N0YWNrX3VuaW9uLmdzX2Jhc2UsIGNwdSkgLQorCSAgICAg ICAodW5zaWduZWQgbG9uZylfX3Blcl9jcHVfc3RhcnQpOwogI2VuZGlmCiAJbG9hZF9zdGFja19j YW5hcnlfc2VnbWVudCgpOwogfQpkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2hlYWRfNjQu UyBiL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMKaW5kZXggMDk1NzllMDcxNGNlLi42OGJmNzg5 MmYyMDEgMTAwNjQ0Ci0tLSBhL2FyY2gveDg2L2tlcm5lbC9oZWFkXzY0LlMKKysrIGIvYXJjaC94 ODYva2VybmVsL2hlYWRfNjQuUwpAQCAtMjcxLDcgKzI3MSwxMSBAQCBFTkRQUk9DKHN0YXJ0X2Nw dTApCiAJR0xPQkFMKGluaXRpYWxfY29kZSkKIAkucXVhZAl4ODZfNjRfc3RhcnRfa2VybmVsCiAJ R0xPQkFMKGluaXRpYWxfZ3MpCisjaWZkZWYgQ09ORklHX1g4Nl9QSUUKKwkucXVhZAkwCisjZWxz ZQogCS5xdWFkCUlOSVRfUEVSX0NQVV9WQVIoaXJxX3N0YWNrX3VuaW9uKQorI2VuZGlmCiAJR0xP QkFMKGluaXRpYWxfc3RhY2spCiAJLyoKIAkgKiBUaGUgU0laRU9GX1BUUkVHUyBnYXAgaXMgYSBj b252ZW50aW9uIHdoaWNoIGhlbHBzIHRoZSBpbi1rZXJuZWwKZGlmZiAtLWdpdCBhL2FyY2gveDg2 L2tlcm5lbC9zZXR1cF9wZXJjcHUuYyBiL2FyY2gveDg2L2tlcm5lbC9zZXR1cF9wZXJjcHUuYwpp bmRleCAxMGVkZDFlNjlhNjguLmNlMWM1OGEyOWRlZiAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2Vy bmVsL3NldHVwX3BlcmNwdS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9zZXR1cF9wZXJjcHUuYwpA QCAtMjUsNyArMjUsNyBAQAogREVGSU5FX1BFUl9DUFVfUkVBRF9NT1NUTFkoaW50LCBjcHVfbnVt YmVyKTsKIEVYUE9SVF9QRVJfQ1BVX1NZTUJPTChjcHVfbnVtYmVyKTsKIAotI2lmZGVmIENPTkZJ R19YODZfNjQKKyNpZiBkZWZpbmVkKENPTkZJR19YODZfNjQpICYmICFkZWZpbmVkKENPTkZJR19Y ODZfUElFKQogI2RlZmluZSBCT09UX1BFUkNQVV9PRkZTRVQgKCh1bnNpZ25lZCBsb25nKV9fcGVy X2NwdV9sb2FkKQogI2Vsc2UKICNkZWZpbmUgQk9PVF9QRVJDUFVfT0ZGU0VUIDAKZGlmZiAtLWdp dCBhL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4Lmxkcy5TIGIvYXJjaC94ODYva2VybmVsL3ZtbGlu dXgubGRzLlMKaW5kZXggZjA1ZjAwYWNhYzg5Li40ODI2OGQwNTllYmUgMTAwNjQ0Ci0tLSBhL2Fy Y2gveDg2L2tlcm5lbC92bWxpbnV4Lmxkcy5TCisrKyBiL2FyY2gveDg2L2tlcm5lbC92bWxpbnV4 Lmxkcy5TCkBAIC0xODYsOSArMTg2LDE0IEBAIFNFQ1RJT05TCiAJLyoKIAkgKiBwZXJjcHUgb2Zm c2V0cyBhcmUgemVyby1iYXNlZCBvbiBTTVAuICBQRVJDUFVfVkFERFIoKSBjaGFuZ2VzIHRoZQog CSAqIG91dHB1dCBQSERSLCBzbyB0aGUgbmV4dCBvdXRwdXQgc2VjdGlvbiAtIC5pbml0LnRleHQg LSBzaG91bGQKLQkgKiBzdGFydCBhbm90aGVyIHNlZ21lbnQgLSBpbml0LgorCSAqIHN0YXJ0IGFu b3RoZXIgc2VnbWVudCAtIGluaXQuIEZvciBQb3NpdGlvbiBJbmRlcGVuZGVudCBDb2RlLCB0aGUK KwkgKiBwZXItY3B1IHNlY3Rpb24gY2Fubm90IGJlIHplcm8tYmFzZWQgYmVjYXVzZSBldmVyeXRo aW5nIGlzIHJlbGF0aXZlLgogCSAqLworI2lmZGVmIENPTkZJR19YODZfUElFCisJUEVSQ1BVX1NF Q1RJT04oSU5URVJOT0RFX0NBQ0hFX0JZVEVTKQorI2Vsc2UKIAlQRVJDUFVfVkFERFIoSU5URVJO T0RFX0NBQ0hFX0JZVEVTLCAwLCA6cGVyY3B1KQorI2VuZGlmCiAJQVNTRVJUKFNJWkVPRiguZGF0 YS4ucGVyY3B1KSA8IENPTkZJR19QSFlTSUNBTF9TVEFSVCwKIAkgICAgICAgInBlci1DUFUgZGF0 YSB0b28gbGFyZ2UgLSBpbmNyZWFzZSBDT05GSUdfUEhZU0lDQUxfU1RBUlQiKQogI2VuZGlmCkBA IC0zNjQsNyArMzY5LDExIEBAIFNFQ1RJT05TCiAgKiBQZXItY3B1IHN5bWJvbHMgd2hpY2ggbmVl ZCB0byBiZSBvZmZzZXQgZnJvbSBfX3Blcl9jcHVfbG9hZAogICogZm9yIHRoZSBib290IHByb2Nl c3Nvci4KICAqLworI2lmZGVmIENPTkZJR19YODZfUElFCisjZGVmaW5lIElOSVRfUEVSX0NQVSh4 KSBpbml0X3Blcl9jcHVfXyMjeCA9IHgKKyNlbHNlCiAjZGVmaW5lIElOSVRfUEVSX0NQVSh4KSBp bml0X3Blcl9jcHVfXyMjeCA9IHggKyBfX3Blcl9jcHVfbG9hZAorI2VuZGlmCiBJTklUX1BFUl9D UFUoZ2R0X3BhZ2UpOwogSU5JVF9QRVJfQ1BVKGlycV9zdGFja191bmlvbik7CiAKQEAgLTM3NCw3 ICszODMsNyBAQCBJTklUX1BFUl9DUFUoaXJxX3N0YWNrX3VuaW9uKTsKIC4gPSBBU1NFUlQoKF9l bmQgLSBfdGV4dCA8PSBLRVJORUxfSU1BR0VfU0laRSksCiAJICAgImtlcm5lbCBpbWFnZSBiaWdn ZXIgdGhhbiBLRVJORUxfSU1BR0VfU0laRSIpOwogCi0jaWZkZWYgQ09ORklHX1NNUAorI2lmIGRl ZmluZWQoQ09ORklHX1NNUCkgJiYgIWRlZmluZWQoQ09ORklHX1g4Nl9QSUUpCiAuID0gQVNTRVJU KChpcnFfc3RhY2tfdW5pb24gPT0gMCksCiAgICAgICAgICAgICJpcnFfc3RhY2tfdW5pb24gaXMg bm90IGF0IHN0YXJ0IG9mIHBlci1jcHUgYXJlYSIpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNo L3g4Ni9saWIvY21weGNoZzE2Yl9lbXUuUyBiL2FyY2gveDg2L2xpYi9jbXB4Y2hnMTZiX2VtdS5T CmluZGV4IDliMzMwMjQyZTc0MC4uMjU0OTUwNjA0YWU0IDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9s aWIvY21weGNoZzE2Yl9lbXUuUworKysgYi9hcmNoL3g4Ni9saWIvY21weGNoZzE2Yl9lbXUuUwpA QCAtMzMsMTMgKzMzLDEzIEBAIEVOVFJZKHRoaXNfY3B1X2NtcHhjaGcxNmJfZW11KQogCXB1c2hm cQogCWNsaQogCi0JY21wcSBQRVJfQ1BVX1ZBUigoJXJzaSkpLCAlcmF4CisJY21wcSBQRVJfQ1BV X1ZBUl9BQlMoKCVyc2kpKSwgJXJheAogCWpuZSAuTG5vdF9zYW1lCi0JY21wcSBQRVJfQ1BVX1ZB Uig4KCVyc2kpKSwgJXJkeAorCWNtcHEgUEVSX0NQVV9WQVJfQUJTKDgoJXJzaSkpLCAlcmR4CiAJ am5lIC5Mbm90X3NhbWUKIAotCW1vdnEgJXJieCwgUEVSX0NQVV9WQVIoKCVyc2kpKQotCW1vdnEg JXJjeCwgUEVSX0NQVV9WQVIoOCglcnNpKSkKKwltb3ZxICVyYngsIFBFUl9DUFVfVkFSX0FCUygo JXJzaSkpCisJbW92cSAlcmN4LCBQRVJfQ1BVX1ZBUl9BQlMoOCglcnNpKSkKIAogCXBvcGZxCiAJ bW92ICQxLCAlYWwKZGlmZiAtLWdpdCBhL2FyY2gveDg2L3hlbi94ZW4tYXNtLlMgYi9hcmNoL3g4 Ni94ZW4veGVuLWFzbS5TCmluZGV4IGVmZjIyNGRmODEzZi4uNDA0MTA5NjlmZDNjIDEwMDY0NAot LS0gYS9hcmNoL3g4Ni94ZW4veGVuLWFzbS5TCisrKyBiL2FyY2gveDg2L3hlbi94ZW4tYXNtLlMK QEAgLTI2LDcgKzI2LDcgQEAKIEVOVFJZKHhlbl9pcnFfZW5hYmxlX2RpcmVjdCkKIAlGUkFNRV9C RUdJTgogCS8qIFVubWFzayBldmVudHMgKi8KLQltb3ZiICQwLCBQRVJfQ1BVX1ZBUih4ZW5fdmNw dV9pbmZvKSArIFhFTl92Y3B1X2luZm9fbWFzaworCW1vdmIgJDAsIFBFUl9DUFVfVkFSKHhlbl92 Y3B1X2luZm8gKyBYRU5fdmNwdV9pbmZvX21hc2spCiAKIAkvKgogCSAqIFByZWVtcHQgaGVyZSBk b2Vzbid0IG1hdHRlciBiZWNhdXNlIHRoYXQgd2lsbCBkZWFsIHdpdGggYW55CkBAIC0zNSw3ICsz NSw3IEBAIEVOVFJZKHhlbl9pcnFfZW5hYmxlX2RpcmVjdCkKIAkgKi8KIAogCS8qIFRlc3QgZm9y IHBlbmRpbmcgKi8KLQl0ZXN0YiAkMHhmZiwgUEVSX0NQVV9WQVIoeGVuX3ZjcHVfaW5mbykgKyBY RU5fdmNwdV9pbmZvX3BlbmRpbmcKKwl0ZXN0YiAkMHhmZiwgUEVSX0NQVV9WQVIoeGVuX3ZjcHVf aW5mbyArIFhFTl92Y3B1X2luZm9fcGVuZGluZykKIAlqeiAxZgogCiAyOgljYWxsIGNoZWNrX2V2 ZW50cwpAQCAtNTIsNyArNTIsNyBAQCBFTkRQQVRDSCh4ZW5faXJxX2VuYWJsZV9kaXJlY3QpCiAg KiBub24temVyby4KICAqLwogRU5UUlkoeGVuX2lycV9kaXNhYmxlX2RpcmVjdCkKLQltb3ZiICQx LCBQRVJfQ1BVX1ZBUih4ZW5fdmNwdV9pbmZvKSArIFhFTl92Y3B1X2luZm9fbWFzaworCW1vdmIg JDEsIFBFUl9DUFVfVkFSKHhlbl92Y3B1X2luZm8gKyBYRU5fdmNwdV9pbmZvX21hc2spCiBFTkRQ QVRDSCh4ZW5faXJxX2Rpc2FibGVfZGlyZWN0KQogCXJldAogCUVORFBST0MoeGVuX2lycV9kaXNh YmxlX2RpcmVjdCkKQEAgLTY4LDcgKzY4LDcgQEAgRU5EUEFUQ0goeGVuX2lycV9kaXNhYmxlX2Rp cmVjdCkKICAqIHg4NiB1c2Ugb3Bwb3NpdGUgc2Vuc2VzIChtYXNrIHZzIGVuYWJsZSkuCiAgKi8K IEVOVFJZKHhlbl9zYXZlX2ZsX2RpcmVjdCkKLQl0ZXN0YiAkMHhmZiwgUEVSX0NQVV9WQVIoeGVu X3ZjcHVfaW5mbykgKyBYRU5fdmNwdV9pbmZvX21hc2sKKwl0ZXN0YiAkMHhmZiwgUEVSX0NQVV9W QVIoeGVuX3ZjcHVfaW5mbyArIFhFTl92Y3B1X2luZm9fbWFzaykKIAlzZXR6ICVhaAogCWFkZGIg JWFoLCAlYWgKIEVORFBBVENIKHhlbl9zYXZlX2ZsX2RpcmVjdCkKQEAgLTkxLDcgKzkxLDcgQEAg RU5UUlkoeGVuX3Jlc3RvcmVfZmxfZGlyZWN0KQogI2Vsc2UKIAl0ZXN0YiAkWDg2X0VGTEFHU19J Rj4+OCwgJWFoCiAjZW5kaWYKLQlzZXR6IFBFUl9DUFVfVkFSKHhlbl92Y3B1X2luZm8pICsgWEVO X3ZjcHVfaW5mb19tYXNrCisJc2V0eiBQRVJfQ1BVX1ZBUih4ZW5fdmNwdV9pbmZvICsgWEVOX3Zj cHVfaW5mb19tYXNrKQogCS8qCiAJICogUHJlZW1wdCBoZXJlIGRvZXNuJ3QgbWF0dGVyIGJlY2F1 c2UgdGhhdCB3aWxsIGRlYWwgd2l0aCBhbnkKIAkgKiBwZW5kaW5nIGludGVycnVwdHMuICBUaGUg cGVuZGluZyBjaGVjayBtYXkgZW5kIHVwIGJlaW5nIHJ1bgpAQCAtOTksNyArOTksNyBAQCBFTlRS WSh4ZW5fcmVzdG9yZV9mbF9kaXJlY3QpCiAJICovCiAKIAkvKiBjaGVjayBmb3IgdW5tYXNrZWQg YW5kIHBlbmRpbmcgKi8KLQljbXB3ICQweDAwMDEsIFBFUl9DUFVfVkFSKHhlbl92Y3B1X2luZm8p ICsgWEVOX3ZjcHVfaW5mb19wZW5kaW5nCisJY21wdyAkMHgwMDAxLCBQRVJfQ1BVX1ZBUih4ZW5f dmNwdV9pbmZvICsgWEVOX3ZjcHVfaW5mb19wZW5kaW5nKQogCWpueiAxZgogMjoJY2FsbCBjaGVj a19ldmVudHMKIDE6CmRpZmYgLS1naXQgYS9pbml0L0tjb25maWcgYi9pbml0L0tjb25maWcKaW5k ZXggNWYwZWY4NTBlODA4Li40ODJhMThhODhmYjkgMTAwNjQ0Ci0tLSBhL2luaXQvS2NvbmZpZwor KysgYi9pbml0L0tjb25maWcKQEAgLTEyMDEsNyArMTIwMSw3IEBAIGNvbmZpZyBLQUxMU1lNU19B TEwKIGNvbmZpZyBLQUxMU1lNU19BQlNPTFVURV9QRVJDUFUKIAlib29sCiAJZGVwZW5kcyBvbiBL QUxMU1lNUwotCWRlZmF1bHQgWDg2XzY0ICYmIFNNUAorCWRlZmF1bHQgWDg2XzY0ICYmIFNNUCAm JiAhWDg2X1BJRQogCiBjb25maWcgS0FMTFNZTVNfQkFTRV9SRUxBVElWRQogCWJvb2wKLS0gCjIu MTQuMC40MzQuZzk4MDk2ZmQ3YTgtZ29vZwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3Rz Lnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=