From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v8 14/17] x86/entry: Clobber the Return Stack Buffer/Return Address Stack on entry to Xen Date: Fri, 12 Jan 2018 18:01:04 +0000 Message-ID: <1515780067-31735-15-git-send-email-andrew.cooper3@citrix.com> References: <1515780067-31735-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1515780067-31735-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper List-Id: xen-devel@lists.xenproject.org cmV0IGluc3RydWN0aW9ucyBhcmUgc3BlY3VsYXRlZCBkaXJlY3RseSB0byB2YWx1ZXMgcmVjb3Jk ZWQgaW4gdGhlIFJTQi9SQVMsIGFzCnRoZXJlIGlzIG5vIHVuY2VydGFpbnR5IGluIHdlbGwtZm9y bWVkIGNvZGUuICBHdWVzdHMgY2FuIHRha2UgYWR2YW50YWdlIG9mCnRoaXMgaW4gdHdvIHdheXM6 CgogIDEpIElmIHRoZXkgY2FuIGZpbmQgYSBwYXRoIGluIFhlbiB3aGljaCBleGVjdXRlcyBtb3Jl IHJldCBpbnN0cnVjdGlvbnMgdGhhbgogICAgIGNhbGwgaW5zdHJ1Y3Rpb25zLiAgKEF0IGxlYXN0 IG9uZSBpbiB0aGUgd2FpdHF1ZXVlIGluZnJhc3RydWN0dXJlLAogICAgIHByb2JhYmx5IG90aGVy cy4pCiAgMikgVXNlIHRoZSBmYWN0IHRoYXQgdGhlIFJTQi9SQVMgaW4gaGFyZHdhcmUgaXMgYWN0 dWFsbHkgYSBjaXJjdWxhciBzdGFjawogICAgIHdpdGhvdXQgYSBjb25jZXB0IG9mIGVtcHR5LiAg KFdoZW4gaXQgbG9naWNhbGx5IGVtcHRpZXMsIHN0YWxlIHZhbHVlcwogICAgIHdpbGwgc3RhcnQg YmVpbmcgdXNlZC4pCgpUbyBtaXRpZ2F0ZSwgdW5jb25kaXRpb25hbGx5IG92ZXJ3cml0ZSB0aGUg UlNCIG9uIGVudHJ5IHRvIFhlbiB3aXRoIGdhZGdldHMKd2hpY2ggd2lsbCBjYXB0dXJlIGFuZCBj b250YWluIHJvZ3VlIHNwZWN1bGF0aW9uLgoKU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8 YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4KLS0tCnY3OgogKiBSZXdyaXR0ZW4gYWxtb3N0IGZy b20gc2NyYXRjaC4gIFNlZSBjb2RlIGNvbW1lbnRzIGZvciBkZXRhaWxzLgp2ODoKICogVXNlIGpt cCByYXRoZXIgdGhhbiBjYWxsIHRvIGNvbnRhaW4gc3BlY3VsYXRpb24uICBJdCBkb2Vzbid0IGFm ZmVjdCB0aGUKICAgY29ycmVjdG5lc3Mgb2YgY29udGFpbm1lbnQsIGJ1dCByZW1vdmVzIDYgYnl0 ZXMuCi0tLQogZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUubWFya2Rvd24gfCAgNiArKysrKy0K IHhlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYyAgICAgICAgICAgIHwgMzQgKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oICAgfCAg MiArKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9ub3BzLmggICAgICAgICAgfCAgMSArCiB4ZW4vaW5j bHVkZS9hc20teDg2L3NwZWNfY3RybF9hc20uaCB8IDQwICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIDUgZmlsZXMgY2hhbmdlZCwgODAgaW5zZXJ0aW9ucygrKSwgMyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGluZS5tYXJrZG93 biBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCmluZGV4IDFhYTEyMjUuLjg1 MTBlNDcgMTAwNjQ0Ci0tLSBhL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCisr KyBiL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLm1hcmtkb3duCkBAIC0yNDYsNyArMjQ2LDcg QEAgZW5vdWdoLiBTZXR0aW5nIHRoaXMgdG8gYSBoaWdoIHZhbHVlIG1heSBjYXVzZSBib290IGZh aWx1cmUsIHBhcnRpY3VsYXJseSBpZgogdGhlIE5NSSB3YXRjaGRvZyBpcyBhbHNvIGVuYWJsZWQu CiAKICMjIyBidGkgKHg4NikKLT4gYD0gTGlzdCBvZiBbIHRodW5rPXJldHBvbGluZXxsZmVuY2V8 am1wLCBpYnJzPTxib29sPiBdYAorPiBgPSBMaXN0IG9mIFsgdGh1bms9cmV0cG9saW5lfGxmZW5j ZXxqbXAsIGlicnM9PGJvb2w+LCByc2Jfe3ZtZXhpdCxuYXRpdmV9PTxib29sPiBdYAogCiBCcmFu Y2ggVGFyZ2V0IEluamVjdGlvbiBjb250cm9scy4gIEJ5IGRlZmF1bHQsIFhlbiB3aWxsIHBpY2sg dGhlIG1vc3QKIGFwcHJvcHJpYXRlIEJUSSBtaXRpZ2F0aW9ucyBiYXNlZCBvbiBjb21waWxlZCBp biBzdXBwb3J0LCBsb2FkZWQgbWljcm9jb2RlLApAQCAtMjY1LDYgKzI2NSwxMCBAQCBPbiBoYXJk d2FyZSBzdXBwb3J0aW5nIElCUlMsIHRoZSBgaWJycz1gIG9wdGlvbiBjYW4gYmUgdXNlZCB0byBm b3JjZSBvcgogcHJldmVudCBYZW4gdXNpbmcgdGhlIGZlYXR1cmUgaXRzZWxmLiAgSWYgWGVuIGlz IG5vdCB1c2luZyBJQlJTIGl0c2VsZiwKIGZ1bmN0aW9uYWxpdHkgaXMgc3RpbGwgc2V0IHVwIHNv IElCUlMgY2FuIGJlIHZpcnR1YWxpc2VkIGZvciBndWVzdHMuCiAKK1RoZSBgcnNiX3ZtZXhpdD1g IGFuZCBgcnNiX25hdGl2ZT1gIG9wdGlvbnMgY2FuIGJlIHVzZWQgdG8gZmluZSB0dW5lIHdoZW4g dGhlCitSU0IgZ2V0cyBvdmVyd3JpdHRlbi4gIFRoZXJlIGFyZSBpbmRpdmlkdWFsIGNvbnRyb2xz IGZvciBhbiBlbnRyeSBmcm9tIEhWTQorY29udGV4dCwgYW5kIGFuIGVudHJ5IGZyb20gYSBuYXRp dmUgKFBWIG9yIFhlbikgY29udGV4dC4KKwogIyMjIHhlbmhlYXBcX21lZ2FieXRlcyAoYXJtMzIp CiA+IGA9IDxzaXplPmAKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NwZWNfY3RybC5jIGIv eGVuL2FyY2gveDg2L3NwZWNfY3RybC5jCmluZGV4IDdiMGRhYWYuLjY4MGZhYmUgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYworKysgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJs LmMKQEAgLTMzLDYgKzMzLDcgQEAgc3RhdGljIGVudW0gaW5kX3RodW5rIHsKICAgICBUSFVOS19K TVAsCiB9IG9wdF90aHVuayBfX2luaXRkYXRhID0gVEhVTktfREVGQVVMVDsKIHN0YXRpYyBpbnQg b3B0X2licnMgX19pbml0ZGF0YSA9IC0xOworc3RhdGljIGJvb2wgb3B0X3JzYl9uYXRpdmUgX19p bml0ZGF0YSA9IHRydWUsIG9wdF9yc2Jfdm1leGl0IF9faW5pdGRhdGEgPSB0cnVlOwogCiBzdGF0 aWMgaW50IF9faW5pdCBwYXJzZV9idGkoY29uc3QgY2hhciAqcykKIHsKQEAgLTU5LDYgKzYwLDEw IEBAIHN0YXRpYyBpbnQgX19pbml0IHBhcnNlX2J0aShjb25zdCBjaGFyICpzKQogICAgICAgICB9 CiAgICAgICAgIGVsc2UgaWYgKCAodmFsID0gcGFyc2VfYm9vbGVhbigiaWJycyIsIHMsIHNzKSkg Pj0gMCApCiAgICAgICAgICAgICBvcHRfaWJycyA9IHZhbDsKKyAgICAgICAgZWxzZSBpZiAoICh2 YWwgPSBwYXJzZV9ib29sZWFuKCJyc2JfbmF0aXZlIiwgcywgc3MpKSA+PSAwICkKKyAgICAgICAg ICAgIG9wdF9yc2JfbmF0aXZlID0gdmFsOworICAgICAgICBlbHNlIGlmICggKHZhbCA9IHBhcnNl X2Jvb2xlYW4oInJzYl92bWV4aXQiLCBzLCBzcykpID49IDAgKQorICAgICAgICAgICAgb3B0X3Jz Yl92bWV4aXQgPSB2YWw7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIHJjID0gLUVJTlZBTDsK IApAQCAtOTUsMTMgKzEwMCwxNSBAQCBzdGF0aWMgdm9pZCBfX2luaXQgcHJpbnRfZGV0YWlscyhl bnVtIGluZF90aHVuayB0aHVuaykKICAgICAgICAgcHJpbnRrKFhFTkxPR19ERUJVRyAiICBDb21w aWxlZC1pbiBzdXBwb3J0OiBJTkRJUkVDVF9USFVOS1xuIik7CiAKICAgICBwcmludGsoWEVOTE9H X0lORk8KLSAgICAgICAgICAgIkJUSSBtaXRpZ2F0aW9uczogVGh1bmsgJXMsIE90aGVyczolc1xu IiwKKyAgICAgICAgICAgIkJUSSBtaXRpZ2F0aW9uczogVGh1bmsgJXMsIE90aGVyczolcyVzJXNc biIsCiAgICAgICAgICAgIHRodW5rID09IFRIVU5LX05PTkUgICAgICA/ICJOL0EiIDoKICAgICAg ICAgICAgdGh1bmsgPT0gVEhVTktfUkVUUE9MSU5FID8gIlJFVFBPTElORSIgOgogICAgICAgICAg ICB0aHVuayA9PSBUSFVOS19MRkVOQ0UgICAgPyAiTEZFTkNFIiA6CiAgICAgICAgICAgIHRodW5r ID09IFRIVU5LX0pNUCAgICAgICA/ICJKTVAiIDogIj8iLAogICAgICAgICAgICBib290X2NwdV9o YXMoWDg2X0ZFQVRVUkVfWEVOX0lCUlNfU0VUKSAgICA/ICIgSUJSUysiIDoKLSAgICAgICAgICAg Ym9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1hFTl9JQlJTX0NMRUFSKSAgPyAiIElCUlMtIiAgICAg IDogIiIpOworICAgICAgICAgICBib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfWEVOX0lCUlNfQ0xF QVIpICA/ICIgSUJSUy0iICAgICAgOiAiIiwKKyAgICAgICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9G RUFUVVJFX1JTQl9OQVRJVkUpICAgICAgPyAiIFJTQl9OQVRJVkUiIDogIiIsCisgICAgICAgICAg IGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9SU0JfVk1FWElUKSAgICAgID8gIiBSU0JfVk1FWElU IiA6ICIiKTsKIH0KIAogLyogQ2FsY3VsYXRlIHdoZXRoZXIgUmV0cG9saW5lIGlzIGtub3duLXNh ZmUgb24gdGhpcyBDUFUuICovCkBAIC0yNDMsNiArMjUwLDI5IEBAIHZvaWQgX19pbml0IGluaXRf c3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAgICAgICAgICAgIHNldHVwX2ZvcmNlX2Nw dV9jYXAoWDg2X0ZFQVRVUkVfWEVOX0lCUlNfQ0xFQVIpOwogICAgIH0KIAorICAgIC8qCisgICAg ICogUFYgZ3Vlc3RzIGNhbiBwb2lzb24gdGhlIFJTQiB0byBhbnkgdmlydHVhbCBhZGRyZXNzIGZy b20gd2hpY2gKKyAgICAgKiB0aGV5IGNhbiBleGVjdXRlIGEgY2FsbCBpbnN0cnVjdGlvbi4gIFRo aXMgaXMgbmVjZXNzYXJpbHkgb3V0c2lkZQorICAgICAqIG9mIHRoZSBYZW4gc3VwZXJ2aXNvciBt YXBwaW5ncy4KKyAgICAgKgorICAgICAqIFdpdGggU01FUCBlbmFibGVkLCB0aGUgcHJvY2Vzc29y IHdvbid0IHNwZWN1bGF0ZSBpbnRvIHVzZXIKKyAgICAgKiBtYXBwaW5ncy4gIFRoZXJlZm9yZSwg d2UgZG9uJ3QgbmVlZCB0byB3b3JyeSBhYm91dCBwb2lzb25lZAorICAgICAqIGVudHJpZXMgZnJv bSA2NGJpdCBQViBndWVzdHMuCisgICAgICoKKyAgICAgKiAzMmJpdCBQViBndWVzdCBrZXJuZWxz IHJ1biBpbiByaW5nIDEsIHNvIHVzZSBzdXBlcnZpc29yIG1hcHBpbmdzLgorICAgICAqIElmIGEg cHJvY2Vzc29ycyBzcGVjdWxhdGVzIHRvIDMyYml0IFBWIGd1ZXN0IGtlcm5lbCBtYXBwaW5ncywg aXQgaXMKKyAgICAgKiBzcGVjdWxhdGluZyBpbiA2NGJpdCBzdXBlcnZpc29yIG1vZGUsIGFuZCBj YW4gbGVhayBkYXRhLgorICAgICAqLworICAgIGlmICggb3B0X3JzYl9uYXRpdmUgKQorICAgICAg ICBzZXR1cF9mb3JjZV9jcHVfY2FwKFg4Nl9GRUFUVVJFX1JTQl9OQVRJVkUpOworCisgICAgLyoK KyAgICAgKiBIVk0gZ3Vlc3RzIGNhbiBhbHdheXMgcG9pc29uIHRoZSBSU0IgdG8gcG9pbnQgYXQg WGVuIHN1cGVydmlzb3IKKyAgICAgKiBtYXBwaW5ncy4KKyAgICAgKi8KKyAgICBpZiAoIG9wdF9y c2Jfdm1leGl0ICkKKyAgICAgICAgc2V0dXBfZm9yY2VfY3B1X2NhcChYODZfRkVBVFVSRV9SU0Jf Vk1FWElUKTsKKwogICAgIHByaW50X2RldGFpbHModGh1bmspOwogfQogCmRpZmYgLS1naXQgYS94 ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmVzLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2Nw dWZlYXR1cmVzLmgKaW5kZXggZGQyMzg4Zi4uMGVlNGExZiAxMDA2NDQKLS0tIGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVh dHVyZXMuaApAQCAtMjgsMyArMjgsNSBAQCBYRU5fQ1BVRkVBVFVSRShJTkRfVEhVTktfSk1QLCAg IChGU0NBUElOVFMrMCkqMzIrMTQpIC8qIFVzZSBJTkRfVEhVTktfSk1QICovCiBYRU5fQ1BVRkVB VFVSRShYRU5fSUJQQiwgICAgICAgIChGU0NBUElOVFMrMCkqMzIrMTUpIC8qIElCUlNCIHx8IElC UEIgKi8KIFhFTl9DUFVGRUFUVVJFKFhFTl9JQlJTX1NFVCwgICAgKEZTQ0FQSU5UUyswKSozMisx NikgLyogSUJSU0IgJiYgSVJCUyBzZXQgaW4gWGVuICovCiBYRU5fQ1BVRkVBVFVSRShYRU5fSUJS U19DTEVBUiwgIChGU0NBUElOVFMrMCkqMzIrMTcpIC8qIElCUlNCICYmIElCUlMgY2xlYXIgaW4g WGVuICovCitYRU5fQ1BVRkVBVFVSRShSU0JfTkFUSVZFLCAgICAgIChGU0NBUElOVFMrMCkqMzIr MTgpIC8qIFJTQiBvdmVyd3JpdGUgbmVlZGVkIGZvciBuYXRpdmUgKi8KK1hFTl9DUFVGRUFUVVJF KFJTQl9WTUVYSVQsICAgICAgKEZTQ0FQSU5UUyswKSozMisyMCkgLyogUlNCIG92ZXJ3cml0ZSBu ZWVkZWQgZm9yIHZtZXhpdCAqLwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9ub3Bz LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L25vcHMuaAppbmRleCAxNzM4YmE2Li5lN2RlMDJiIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L25vcHMuaAorKysgYi94ZW4vaW5jbHVkZS9h c20teDg2L25vcHMuaApAQCAtNjksNiArNjksNyBAQAogI2RlZmluZSBBU01fTk9QMjYgQVNNX05P UDg7IEFTTV9OT1A4OyBBU01fTk9QODsgQVNNX05PUDIKICNkZWZpbmUgQVNNX05PUDMyIEFTTV9O T1A4OyBBU01fTk9QODsgQVNNX05PUDg7IEFTTV9OT1A4CiAjZGVmaW5lIEFTTV9OT1AzMyBBU01f Tk9QODsgQVNNX05PUDg7IEFTTV9OT1A4OyBBU01fTk9QNzsgQVNNX05PUDIKKyNkZWZpbmUgQVNN X05PUDM0IEFTTV9OT1A4OyBBU01fTk9QODsgQVNNX05PUDg7IEFTTV9OT1A4OyBBU01fTk9QMgog I2RlZmluZSBBU01fTk9QMzggQVNNX05PUDg7IEFTTV9OT1A4OyBBU01fTk9QODsgQVNNX05PUDg7 IEFTTV9OT1A2CiAKICNkZWZpbmUgQVNNX05PUF9NQVggOQpkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUvYXNtLXg4Ni9zcGVjX2N0cmxfYXNtLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3Ry bF9hc20uaAppbmRleCBjMzgwYTNkLi41MjkzYjY1IDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9h c20teDg2L3NwZWNfY3RybF9hc20uaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3Ry bF9hc20uaApAQCAtNzMsNiArNzMsNDAgQEAKICAqICAtIFNQRUNfQ1RSTF9FWElUX1RPX0dVRVNU CiAgKi8KIAorLm1hY3JvIERPX09WRVJXUklURV9SU0IKKy8qCisgKiBSZXE6ICVyc3A9cmVncwor ICogQ2xvYmJlcnMgJXJheCwgJXJjeAorICoKKyAqIFJlcXVpcmVzIDI1NiBieXRlcyBvZiBzdGFj ayBzcGFjZSwgYnV0ICVyc3AgaGFzIG5vIG5ldCBjaGFuZ2UuIEJhc2VkIG9uCisgKiBHb29nbGUn cyBwZXJmb3JtYW5jZSBudW1iZXJzLCB0aGUgbG9vcCBpcyB1bnJvbGxlZCB0byAxNiBpdGVyYXRp b25zIGFuZCB0d28KKyAqIGNhbGxzIHBlciBpdGVyYXRpb24uCisgKgorICogVGhlIGNhbGwgZmls bGluZyB0aGUgUlNCIG5lZWRzIGEgbm9uemVybyBkaXNwbGFjZW1lbnQsIGJ1dCB3ZSB1c2UgIjE6 CisgKiBwYXVzZSwgam1wIDFiIiB0byBzYWZlbHkgY29udGFpbnMgYW55IHJldC1iYXNlZCBzcGVj dWxhdGlvbiwgZXZlbiBpZiB0aGUKKyAqIGxvb3AgaXMgc3BlY3VsYXRpdmVseSBleGVjdXRlZCBw cmVtYXR1cmVseS4KKyAqCisgKiAlcnNwIGlzIHByZXNlcnZlZCBieSB1c2luZyBhbiBleHRyYSBH UFIgYmVjYXVzZSBhKSB3ZSd2ZSBnb3QgcGxlbnR5IHNwYXJlLAorICogYikgdGhlIHR3byBtb3Zz IGFyZSBzaG9ydGVyIHRvIGVuY29kZSB0aGFuIGBhZGQgJDMyKjgsICVyc3BgLCBhbmQgYykgY2Fu IGJlCisgKiBvcHRpbWlzZWQgd2l0aCBtb3YtZWxpbWluYXRpb24gaW4gbW9kZXJuIGNvcmVzLgor ICovCisgICAgbW92ICQxNiwgJWVjeCAgIC8qIDE2IGl0ZXJhdGlvbnMsIHR3byBjYWxscyBwZXIg bG9vcCAqLworICAgIG1vdiAlcnNwLCAlcmF4ICAvKiBTdG9yZSB0aGUgY3VycmVudCAlcnNwICov CisKKy5MbG9vcF9cQDoKKworICAgIC5yZXB0IDIgICAgICAgICAvKiBVbnJvbGxlZCB0d2ljZS4g Ki8KKyAgICBjYWxsIDJmICAgICAgICAgLyogQ3JlYXRlIGFuIFJTQiBlbnRyeS4gKi8KKzE6ICBw YXVzZQorICAgIGptcCAxYiAgICAgICAgICAvKiBDYXB0dXJlIHJvZ3VlIHNwZWN1bGF0aW9uLiAq LworMjoKKyAgICAuZW5kcgorCisgICAgc3ViICQxLCAlZWN4CisgICAgam56IC5MbG9vcF9cQAor ICAgIG1vdiAlcmF4LCAlcnNwICAvKiBSZXRvcmUgb2xkICVyc3AgKi8KKy5lbmRtCisKIC5tYWNy byBET19TUEVDX0NUUkxfRU5UUllfRlJPTV9WTUVYSVQgaWJyc192YWw6cmVxCiAvKgogICogUmVx dWlyZXMgJXJieD1jdXJyZW50LCAlcnNwPXJlZ3MvY3B1aW5mbwpAQCAtMTc4LDYgKzIxMiw4IEBA CiAKIC8qIFVzZSBhZnRlciBhIFZNRVhJVCBmcm9tIGFuIEhWTSBndWVzdC4gKi8KICNkZWZpbmUg U1BFQ19DVFJMX0VOVFJZX0ZST01fVk1FWElUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKyAgICBBTFRFUk5BVElWRSBfX3N0cmluZ2lmeShBU01fTk9QMzQpLCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgRE9fT1ZFUldSSVRFX1JTQiwgWDg2 X0ZFQVRVUkVfUlNCX1ZNRVhJVDsgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICBBTFRFUk5B VElWRV8yIF9fc3RyaW5naWZ5KEFTTV9OT1AzMiksICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKICAgICAgICAgX19zdHJpbmdpZnkoRE9fU1BFQ19DVFJMX0VOVFJZX0ZST01fVk1FWElU ICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgICAgICAgICAgaWJyc192YWw9U1BF Q19DVFJMX0lCUlMpLCAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTE4OCw2ICsyMjQs OCBAQAogCiAvKiBVc2UgYWZ0ZXIgYW4gZW50cnkgZnJvbSBQViBjb250ZXh0IChzeXNjYWxsL3N5 c2VudGVyL2ludDgwL2ludDgyL2V0YykuICovCiAjZGVmaW5lIFNQRUNfQ1RSTF9FTlRSWV9GUk9N X1BWICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQUxURVJO QVRJVkUgX19zdHJpbmdpZnkoQVNNX05PUDM0KSwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCisgICAgICAgIERPX09WRVJXUklURV9SU0IsIFg4Nl9GRUFUVVJFX1JTQl9OQVRJVkU7 ICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgQUxURVJOQVRJVkVfMiBfX3N0cmluZ2lmeShB U01fTk9QMjIpLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIF9fc3Ry aW5naWZ5KERPX1NQRUNfQ1RSTF9FTlRSWSBtYXliZXhlbj0wICAgICAgICAgICAgICAgICAgICAg ICBcCiAgICAgICAgICAgICAgICAgICAgIGlicnNfdmFsPVNQRUNfQ1RSTF9JQlJTKSwgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCkBAIC0xOTcsNiArMjM1LDggQEAKIAogLyogVXNlIGluIGlu dGVycnVwdC9leGNlcHRpb24gY29udGV4dC4gIE1heSBpbnRlcnJ1cHQgWGVuIG9yIFBWIGNvbnRl eHQuICovCiAjZGVmaW5lIFNQRUNfQ1RSTF9FTlRSWV9GUk9NX0lOVFIgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgQUxURVJOQVRJVkUgX19zdHJpbmdpZnkoQVNN X05PUDM0KSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIERPX09W RVJXUklURV9SU0IsIFg4Nl9GRUFUVVJFX1JTQl9OQVRJVkU7ICAgICAgICAgICAgICAgICAgICAg ICBcCiAgICAgQUxURVJOQVRJVkVfMiBfX3N0cmluZ2lmeShBU01fTk9QMzgpLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgIF9fc3RyaW5naWZ5KERPX1NQRUNfQ1RSTF9F TlRSWSBtYXliZXhlbj0xICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAg ICAgIGlicnNfdmFsPVNQRUNfQ1RSTF9JQlJTKSwgICAgICAgICAgICAgICAgICAgICAgICAgICBc Ci0tIAoyLjEuNAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=