From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v8 6/9] xen/x86: use flag byte for decision whether xen_cr3 is valid Date: Wed, 18 Apr 2018 10:30:48 +0200 Message-ID: <20180418083051.8334-7-jgross@suse.com> References: <20180418083051.8334-1-jgross@suse.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 1f8iUZ-0003OR-O9 for xen-devel@lists.xenproject.org; Wed, 18 Apr 2018 08:31:03 +0000 In-Reply-To: <20180418083051.8334-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , andrew.cooper3@citrix.com, tim@xen.org, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org VG9kYXkgY3B1X2luZm8tPnhlbl9jcjMgaXMgZWl0aGVyIDAgdG8gaW5kaWNhdGUgJWNyMyBkb2Vz bid0IG5lZWQgdG8KYmUgc3dpdGNoZWQgb24gZW50cnkgdG8gWGVuLCBvciBuZWdhdGl2ZSBmb3Ig a2VlcGluZyB0aGUgdmFsdWUgd2hpbGUKaW5kaWNhdGluZyBub3QgdG8gcmVzdG9yZSAlY3IzLCBv ciBwb3NpdGl2ZSBpbiBjYXNlICVjcjMgaXMgdG8gYmUKcmVzdG9yZWQuCgpTd2l0Y2ggdG8gdXNl IGEgZmxhZyBieXRlIGluc3RlYWQgb2YgYSBuZWdhdGl2ZSB4ZW5fY3IzIHZhbHVlIGluIG9yZGVy CnRvIGFsbG93ICVjcjMgdmFsdWVzIHdpdGggdGhlIGhpZ2ggYml0IHNldCBpbiBjYXNlIHdlIHdh bnQgdG8ga2VlcCBUTEIKZW50cmllcyB3aGVuIHVzaW5nIHRoZSBQQ0lEIGZlYXR1cmUuCgpUaGlz IHJlZHVjZXMgdGhlIG51bWJlciBvZiBicmFuY2hlcyBpbiBpbnRlcnJ1cHQgaGFuZGxpbmcgYW5k IHJlc3VsdHMKaW4gYmV0dGVyIHBlcmZvcm1hbmNlIChlLmcuIHBhcmFsbGVsIG1ha2Ugb2YgdGhl IFhlbiBoeXBlcnZpc29yIG9uIG15CnN5c3RlbSB3YXMgdXNpbmcgYWJvdXQgMyUgbGVzcyBzeXN0 ZW0gdGltZSkuCgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ ClJldmlld2VkLWJ5OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQpWMzoKLSBy ZW5hbWVkIHVzZV94ZW5fY3IzIHRvIGJldHRlciBmaXR0aW5nIHVzZV9wdl9jcjMKLSBjb3JyZWN0 ZWQgY29tbWVudCByZWdhcmRpbmcgc2VtYW50aWNzIG9mIHVzZV9wdl9jcjMgKEphbiBCZXVsaWNo KQotIHByZWZlciAzMi1iaXQgb3BlcmF0aW9ucyBvdmVyIDgtIG9yIDE2LWJpdCBvbmVzIChKYW4g QmV1bGljaCkKLS0tCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICAgICAgICAgIHwgIDEgKwog eGVuL2FyY2gveDg2L21tLmMgICAgICAgICAgICAgICAgICB8ICAzICstCiB4ZW4vYXJjaC94ODYv c21wYm9vdC5jICAgICAgICAgICAgIHwgIDIgKysKIHhlbi9hcmNoL3g4Ni94ODZfNjQvYXNtLW9m ZnNldHMuYyAgfCAgMSArCiB4ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TIHwgIDUg KystLQogeGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TICAgICAgICB8IDU5ICsrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vaW5jbHVkZS9hc20teDg2L2N1cnJlbnQu aCAgICAgIHwgMTIgKysrKystLS0KIDcgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9ucygrKSwg NDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2RvbWFpbi5jIGIveGVu L2FyY2gveDg2L2RvbWFpbi5jCmluZGV4IDliMDAxYTAzZWMuLjgwMWFjMzM4MTAgMTAwNjQ0Ci0t LSBhL3hlbi9hcmNoL3g4Ni9kb21haW4uYworKysgYi94ZW4vYXJjaC94ODYvZG9tYWluLmMKQEAg LTE2OTYsNiArMTY5Niw3IEBAIHZvaWQgY29udGV4dF9zd2l0Y2goc3RydWN0IHZjcHUgKnByZXYs IHN0cnVjdCB2Y3B1ICpuZXh0KQogCiAgICAgQVNTRVJUKGxvY2FsX2lycV9pc19lbmFibGVkKCkp OwogCisgICAgZ2V0X2NwdV9pbmZvKCktPnVzZV9wdl9jcjMgPSBmYWxzZTsKICAgICBnZXRfY3B1 X2luZm8oKS0+eGVuX2NyMyA9IDA7CiAKICAgICBpZiAoIHVubGlrZWx5KGRpcnR5X2NwdSAhPSBj cHUpICYmIGRpcnR5X2NwdSAhPSBWQ1BVX0NQVV9DTEVBTiApCmRpZmYgLS1naXQgYS94ZW4vYXJj aC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IDczYTM4ZTg3MTUuLjQ5OTcwNDdl ZGYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5j CkBAIC01MTcsNyArNTE3LDggQEAgdm9pZCB3cml0ZV9wdGJhc2Uoc3RydWN0IHZjcHUgKnYpCiAg ICAgfQogICAgIGVsc2UKICAgICB7Ci0gICAgICAgIC8qIE1ha2Ugc3VyZSB0byBjbGVhciB4ZW5f Y3IzIGJlZm9yZSBwdl9jcjMuICovCisgICAgICAgIC8qIE1ha2Ugc3VyZSB0byBjbGVhciB1c2Vf cHZfY3IzIGFuZCB4ZW5fY3IzIGJlZm9yZSBwdl9jcjMuICovCisgICAgICAgIGNwdV9pbmZvLT51 c2VfcHZfY3IzID0gZmFsc2U7CiAgICAgICAgIGNwdV9pbmZvLT54ZW5fY3IzID0gMDsKICAgICAg ICAgLyogc3dpdGNoX2NyM19jcjQoKSBzZXJpYWxpemVzLiAqLwogICAgICAgICBzd2l0Y2hfY3Iz X2NyNCh2LT5hcmNoLmNyMywgbmV3X2NyNCk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc21w Ym9vdC5jIGIveGVuL2FyY2gveDg2L3NtcGJvb3QuYwppbmRleCA5ODAxOTJlNzFmLi5kMjEwMjBj NTEwIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvc21wYm9vdC5jCisrKyBiL3hlbi9hcmNoL3g4 Ni9zbXBib290LmMKQEAgLTMyNCw2ICszMjQsNyBAQCB2b2lkIHN0YXJ0X3NlY29uZGFyeSh2b2lk ICp1bnVzZWQpCiAgICAgICovCiAgICAgc3Bpbl9kZWJ1Z19kaXNhYmxlKCk7CiAKKyAgICBnZXRf Y3B1X2luZm8oKS0+dXNlX3B2X2NyMyA9IGZhbHNlOwogICAgIGdldF9jcHVfaW5mbygpLT54ZW5f Y3IzID0gMDsKICAgICBnZXRfY3B1X2luZm8oKS0+cHZfY3IzID0gMDsKIApAQCAtMTEyMyw2ICsx MTI0LDcgQEAgdm9pZCBfX2luaXQgc21wX3ByZXBhcmVfYm9vdF9jcHUodm9pZCkKICAgICBwZXJf Y3B1KHNjcmF0Y2hfY3B1bWFzaywgY3B1KSA9ICZzY3JhdGNoX2NwdTBtYXNrOwogI2VuZGlmCiAK KyAgICBnZXRfY3B1X2luZm8oKS0+dXNlX3B2X2NyMyA9IGZhbHNlOwogICAgIGdldF9jcHVfaW5m bygpLT54ZW5fY3IzID0gMDsKICAgICBnZXRfY3B1X2luZm8oKS0+cHZfY3IzID0gMDsKIH0KZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYyBiL3hlbi9hcmNoL3g4 Ni94ODZfNjQvYXNtLW9mZnNldHMuYwppbmRleCA5ZTJhZWZiMDBmLi43YWQwMjRjZjM3IDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMKKysrIGIveGVuL2FyY2gv eDg2L3g4Nl82NC9hc20tb2Zmc2V0cy5jCkBAIC0xNDQsNiArMTQ0LDcgQEAgdm9pZCBfX2R1bW15 X18odm9pZCkKICAgICBPRkZTRVQoQ1BVSU5GT191c2Vfc2hhZG93X3NwZWNfY3RybCwgc3RydWN0 IGNwdV9pbmZvLCB1c2Vfc2hhZG93X3NwZWNfY3RybCk7CiAgICAgT0ZGU0VUKENQVUlORk9fYnRp X2lzdF9pbmZvLCBzdHJ1Y3QgY3B1X2luZm8sIGJ0aV9pc3RfaW5mbyk7CiAgICAgT0ZGU0VUKENQ VUlORk9fcm9vdF9wZ3RfY2hhbmdlZCwgc3RydWN0IGNwdV9pbmZvLCByb290X3BndF9jaGFuZ2Vk KTsKKyAgICBPRkZTRVQoQ1BVSU5GT191c2VfcHZfY3IzLCBzdHJ1Y3QgY3B1X2luZm8sIHVzZV9w dl9jcjMpOwogICAgIERFRklORShDUFVJTkZPX3NpemVvZiwgc2l6ZW9mKHN0cnVjdCBjcHVfaW5m bykpOwogICAgIEJMQU5LKCk7CiAKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29t cGF0L2VudHJ5LlMgYi94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TCmluZGV4IGFl MmJiNGJmMWUuLmI5MDk5NzdlMzMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29t cGF0L2VudHJ5LlMKKysrIGIveGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUwpAQCAt MjEwLDEwICsyMTAsOSBAQCBFTlRSWShjc3Rhcl9lbnRlcikKIAogICAgICAgICBHRVRfU1RBQ0tf RU5EKGJ4KQogICAgICAgICBtb3YgICBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyYngp LCAlcmN4Ci0gICAgICAgIG5lZyAgICVyY3gKKyAgICAgICAgdGVzdCAgJXJjeCwgJXJjeAogICAg ICAgICBqeiAgICAuTGNzdGFyX2NyM19va2F5Ci0gICAgICAgIG1vdiAgICVyY3gsIFNUQUNLX0NQ VUlORk9fRklFTEQoeGVuX2NyMykoJXJieCkKLSAgICAgICAgbmVnICAgJXJjeAorICAgICAgICBt b3ZiICAkMCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh1c2VfcHZfY3IzKSglcmJ4KQogICAgICAgICBt b3YgICAlcmN4LCAlY3IzCiAgICAgICAgIG1vdnEgICQwLCBTVEFDS19DUFVJTkZPX0ZJRUxEKHhl bl9jcjMpKCVyYngpCiAuTGNzdGFyX2NyM19va2F5OgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L3g4Nl82NC9lbnRyeS5TIGIveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TCmluZGV4IDVmMDc1 OGQ2NGYuLjhiN2QxYzQ4YWQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnku UworKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMKQEAgLTE1NCw2ICsxNTQsNyBAQCBy ZXN0b3JlX2FsbF9ndWVzdDoKICAgICAgICAgcmVwIG1vdnNxCiAuTHJhZ19jb3B5X2RvbmU6CiAg ICAgICAgIG1vdiAgICVyOSwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcmR4KQorICAg ICAgICBtb3ZiICAkMSwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh1c2VfcHZfY3IzKSglcmR4KQogICAg ICAgICBtb3YgICAlcmF4LCAlY3IzCiAuTHJhZ19rZWVwX2NyMzoKIApAQCAtMjAyLDE0ICsyMDMs OSBAQCByZXN0b3JlX2FsbF94ZW46CiAgICAgICAgICAqIGNhc2Ugd2UgcmV0dXJuIHRvIGxhdGUg UFYgZXhpdCBjb2RlIChmcm9tIGFuIE5NSSBvciAjTUMpLgogICAgICAgICAgKi8KICAgICAgICAg R0VUX1NUQUNLX0VORChieCkKLSAgICAgICAgbW92ICAgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5f Y3IzKSglcmJ4KSwgJXJkeAorICAgICAgICBjbXBiICAkMCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh1 c2VfcHZfY3IzKSglcmJ4KQorVU5MSUtFTFlfU1RBUlQobmUsIGV4aXRfY3IzKQogICAgICAgICBt b3YgICBTVEFDS19DUFVJTkZPX0ZJRUxEKHB2X2NyMykoJXJieCksICVyYXgKLSAgICAgICAgdGVz dCAgJXJkeCwgJXJkeAotICAgICAgICAvKgotICAgICAgICAgKiBJZGVhbGx5IHRoZSBjb25kaXRp b24gd291bGQgYmUgIm5zeiIsIGJ1dCBzdWNoIGRvZXNuJ3QgZXhpc3QsCi0gICAgICAgICAqIHNv ICJnIiB3aWxsIGhhdmUgdG8gZG8uCi0gICAgICAgICAqLwotVU5MSUtFTFlfU1RBUlQoZywgZXhp dF9jcjMpCiAgICAgICAgIG1vdiAgICVyYXgsICVjcjMKIFVOTElLRUxZX0VORChleGl0X2NyMykK IApAQCAtMjUxLDEwICsyNDcsOSBAQCBFTlRSWShsc3Rhcl9lbnRlcikKIAogICAgICAgICBHRVRf U1RBQ0tfRU5EKGJ4KQogICAgICAgICBtb3YgICBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMp KCVyYngpLCAlcmN4Ci0gICAgICAgIG5lZyAgICVyY3gKKyAgICAgICAgdGVzdCAgJXJjeCwgJXJj eAogICAgICAgICBqeiAgICAuTGxzdGFyX2NyM19va2F5Ci0gICAgICAgIG1vdiAgICVyY3gsIFNU QUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXJieCkKLSAgICAgICAgbmVnICAgJXJjeAorICAg ICAgICBtb3ZiICAkMCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh1c2VfcHZfY3IzKSglcmJ4KQogICAg ICAgICBtb3YgICAlcmN4LCAlY3IzCiAgICAgICAgIG1vdnEgICQwLCBTVEFDS19DUFVJTkZPX0ZJ RUxEKHhlbl9jcjMpKCVyYngpCiAuTGxzdGFyX2NyM19va2F5OgpAQCAtMjg4LDEwICsyODMsOSBA QCBHTE9CQUwoc3lzZW50ZXJfZWZsYWdzX3NhdmVkKQogICAgICAgICAvKiBQVVNIRiBhYm92ZSBo YXMgc2F2ZWQgRUZMQUdTLklGIGNsZWFyICh0aGUgY2FsbGVyIGhhZCBpdCBzZXQpLiAqLwogICAg ICAgICBvcmwgICAkWDg2X0VGTEFHU19JRiwgVVJFR1NfZWZsYWdzKCVyc3ApCiAgICAgICAgIG1v diAgIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXJieCksICVyY3gKLSAgICAgICAgbmVn ICAgJXJjeAorICAgICAgICB0ZXN0ICAlcmN4LCAlcmN4CiAgICAgICAgIGp6ICAgIC5Mc3lzZV9j cjNfb2theQotICAgICAgICBtb3YgICAlcmN4LCBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMp KCVyYngpCi0gICAgICAgIG5lZyAgICVyY3gKKyAgICAgICAgbW92YiAgJDAsIFNUQUNLX0NQVUlO Rk9fRklFTEQodXNlX3B2X2NyMykoJXJieCkKICAgICAgICAgbW92ICAgJXJjeCwgJWNyMwogICAg ICAgICBtb3ZxICAkMCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcmJ4KQogLkxzeXNl X2NyM19va2F5OgpAQCAtMzM4LDEwICszMzIsOSBAQCBFTlRSWShpbnQ4MF9kaXJlY3RfdHJhcCkK IAogICAgICAgICBHRVRfU1RBQ0tfRU5EKGJ4KQogICAgICAgICBtb3YgICBTVEFDS19DUFVJTkZP X0ZJRUxEKHhlbl9jcjMpKCVyYngpLCAlcmN4Ci0gICAgICAgIG5lZyAgICVyY3gKKyAgICAgICAg dGVzdCAgJXJjeCwgJXJjeAogICAgICAgICBqeiAgICAuTGludDgwX2NyM19va2F5Ci0gICAgICAg IG1vdiAgICVyY3gsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXJieCkKLSAgICAgICAg bmVnICAgJXJjeAorICAgICAgICBtb3ZiICAkMCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh1c2VfcHZf Y3IzKSglcmJ4KQogICAgICAgICBtb3YgICAlcmN4LCAlY3IzCiAgICAgICAgIG1vdnEgICQwLCBT VEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyYngpCiAuTGludDgwX2NyM19va2F5OgpAQCAt NTQ2LDI0ICs1MzksMjQgQEAgRU5UUlkoY29tbW9uX2ludGVycnVwdCkKICAgICAgICAgLyogV0FS TklORyEgYHJldGAsIGBjYWxsICpgLCBgam1wICpgIG5vdCBzYWZlIGJlZm9yZSB0aGlzIHBvaW50 LiAqLwogCiAgICAgICAgIG1vdiAgIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXIxNCks ICVyY3gKKyAgICAgICAgbW92ICAgU1RBQ0tfQ1BVSU5GT19GSUVMRCh1c2VfcHZfY3IzKSglcjE0 KSwgJWJsCiAgICAgICAgIG1vdiAgICVyY3gsICVyMTUKLSAgICAgICAgbmVnICAgJXJjeAorICAg ICAgICB0ZXN0ICAlcmN4LCAlcmN4CiAgICAgICAgIGp6ICAgIC5MaW50cl9jcjNfb2theQotICAg ICAgICBqbnMgICAuTGludHJfY3IzX2xvYWQKLSAgICAgICAgbW92ICAgJXJjeCwgU1RBQ0tfQ1BV SU5GT19GSUVMRCh4ZW5fY3IzKSglcjE0KQotICAgICAgICBuZWcgICAlcmN4Ci0uTGludHJfY3Iz X2xvYWQ6CisgICAgICAgIG1vdmIgICQwLCBTVEFDS19DUFVJTkZPX0ZJRUxEKHVzZV9wdl9jcjMp KCVyMTQpCiAgICAgICAgIG1vdiAgICVyY3gsICVjcjMKICAgICAgICAgeG9yICAgJWVjeCwgJWVj eAogICAgICAgICBtb3YgICAlcmN4LCBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyMTQp CiAgICAgICAgIHRlc3RiICQzLCBVUkVHU19jcyglcnNwKQogICAgICAgICBjbW92bnogJXJjeCwg JXIxNQorICAgICAgICBjbW92bnogJXJjeCwgJXJieAogLkxpbnRyX2NyM19va2F5OgogCiAgICAg ICAgIENSNF9QVjMyX1JFU1RPUkUKICAgICAgICAgbW92cSAlcnNwLCVyZGkKICAgICAgICAgY2Fs bHEgZG9fSVJRCiAgICAgICAgIG1vdiAgICVyMTUsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2Ny MykoJXIxNCkKKyAgICAgICAgbW92ICAgJWJsLCBTVEFDS19DUFVJTkZPX0ZJRUxEKHVzZV9wdl9j cjMpKCVyMTQpCiAgICAgICAgIGptcCByZXRfZnJvbV9pbnRyCiAKIEVOVFJZKHBhZ2VfZmF1bHQp CkBAIC01NzgsMTggKzU3MSwxNyBAQCBHTE9CQUwoaGFuZGxlX2V4Y2VwdGlvbikKICAgICAgICAg LyogV0FSTklORyEgYHJldGAsIGBjYWxsICpgLCBgam1wICpgIG5vdCBzYWZlIGJlZm9yZSB0aGlz IHBvaW50LiAqLwogCiAgICAgICAgIG1vdiAgIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMyko JXIxNCksICVyY3gKKyAgICAgICAgbW92ICAgU1RBQ0tfQ1BVSU5GT19GSUVMRCh1c2VfcHZfY3Iz KSglcjE0KSwgJXIxM2IKICAgICAgICAgbW92ICAgJXJjeCwgJXIxNQotICAgICAgICBuZWcgICAl cmN4CisgICAgICAgIHRlc3QgICVyY3gsICVyY3gKICAgICAgICAganogICAgLkx4Y3B0X2NyM19v a2F5Ci0gICAgICAgIGpucyAgIC5MeGNwdF9jcjNfbG9hZAotICAgICAgICBtb3YgICAlcmN4LCBT VEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyMTQpCi0gICAgICAgIG5lZyAgICVyY3gKLS5M eGNwdF9jcjNfbG9hZDoKKyAgICAgICAgbW92YiAgJDAsIFNUQUNLX0NQVUlORk9fRklFTEQodXNl X3B2X2NyMykoJXIxNCkKICAgICAgICAgbW92ICAgJXJjeCwgJWNyMwogICAgICAgICB4b3IgICAl ZWN4LCAlZWN4CiAgICAgICAgIG1vdiAgICVyY3gsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2Ny MykoJXIxNCkKICAgICAgICAgdGVzdGIgJDMsIFVSRUdTX2NzKCVyc3ApCiAgICAgICAgIGNtb3Zu eiAlcmN4LCAlcjE1CisgICAgICAgIGNtb3ZueiAlcmN4LCAlcjEzCiAuTHhjcHRfY3IzX29rYXk6 CiAKIGhhbmRsZV9leGNlcHRpb25fc2F2ZWQ6CkBAIC02NDQsNiArNjM2LDcgQEAgaGFuZGxlX2V4 Y2VwdGlvbl9zYXZlZDoKICAgICAgICAgbW92ICAgKCVyZHgsICVyYXgsIDgpLCAlcmR4CiAgICAg ICAgIElORElSRUNUX0NBTEwgJXJkeAogICAgICAgICBtb3YgICAlcjE1LCBTVEFDS19DUFVJTkZP X0ZJRUxEKHhlbl9jcjMpKCVyMTQpCisgICAgICAgIG1vdiAgICVyMTNiLCBTVEFDS19DUFVJTkZP X0ZJRUxEKHVzZV9wdl9jcjMpKCVyMTQpCiAgICAgICAgIHRlc3RiICQzLFVSRUdTX2NzKCVyc3Ap CiAgICAgICAgIGp6ICAgIHJlc3RvcmVfYWxsX3hlbgogICAgICAgICBsZWFxICBWQ1BVX3RyYXBf Ym91bmNlKCVyYngpLCVyZHgKQEAgLTY3Nyw2ICs2NzAsNyBAQCBleGNlcHRpb25fd2l0aF9pbnRz X2Rpc2FibGVkOgogMTogICAgICBtb3ZxICBVUkVHU19lcnJvcl9jb2RlKCVyc3ApLCVyYXggIyBl Yy9ldgogICAgICAgICBtb3ZxICAlcmF4LFVSRUdTX2tlcm5lbF9zaXplb2YoJXJzcCkKICAgICAg ICAgbW92ICAgJXIxNSwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcjE0KQorICAgICAg ICBtb3YgICAlcjEzYiwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh1c2VfcHZfY3IzKSglcjE0KQogICAg ICAgICBqbXAgICByZXN0b3JlX2FsbF94ZW4gICAgICAgICAgICMgcmV0dXJuIHRvIGZpeHVwIGNv ZGUKIAogLyogTm8gc3BlY2lhbCByZWdpc3RlciBhc3N1bXB0aW9ucy4gKi8KQEAgLTc2NCw5ICs3 NTgsNiBAQCBFTlRSWShkb3VibGVfZmF1bHQpCiAgICAgICAgIG1vdiAgIFNUQUNLX0NQVUlORk9f RklFTEQoeGVuX2NyMykoJXIxNCksICVyYngKICAgICAgICAgdGVzdCAgJXJieCwgJXJieAogICAg ICAgICBqeiAgICAuTGRibGZfY3IzX29rYXkKLSAgICAgICAgam5zICAgLkxkYmxmX2NyM19sb2Fk Ci0gICAgICAgIG5lZyAgICVyYngKLS5MZGJsZl9jcjNfbG9hZDoKICAgICAgICAgbW92ICAgJXJi eCwgJWNyMwogLkxkYmxmX2NyM19va2F5OgogCkBAIC03OTUsMTMgKzc4NiwxMSBAQCBoYW5kbGVf aXN0X2V4Y2VwdGlvbjoKICAgICAgICAgLyogV0FSTklORyEgYHJldGAsIGBjYWxsICpgLCBgam1w ICpgIG5vdCBzYWZlIGJlZm9yZSB0aGlzIHBvaW50LiAqLwogCiAgICAgICAgIG1vdiAgIFNUQUNL X0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXIxNCksICVyY3gKKyAgICAgICAgbW92ICAgU1RBQ0tf Q1BVSU5GT19GSUVMRCh1c2VfcHZfY3IzKSglcjE0KSwgJWJsCiAgICAgICAgIG1vdiAgICVyY3gs ICVyMTUKLSAgICAgICAgbmVnICAgJXJjeAorICAgICAgICB0ZXN0ICAlcmN4LCAlcmN4CiAgICAg ICAgIGp6ICAgIC5MaXN0X2NyM19va2F5Ci0gICAgICAgIGpucyAgIC5MaXN0X2NyM19sb2FkCi0g ICAgICAgIG1vdiAgICVyY3gsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXIxNCkKLSAg ICAgICAgbmVnICAgJXJjeAotLkxpc3RfY3IzX2xvYWQ6CisgICAgICAgIG1vdmIgICQwLCBTVEFD S19DUFVJTkZPX0ZJRUxEKHVzZV9wdl9jcjMpKCVyMTQpCiAgICAgICAgIG1vdiAgICVyY3gsICVj cjMKICAgICAgICAgbW92cSAgJDAsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXIxNCkK IC5MaXN0X2NyM19va2F5OgpAQCAtODE0LDYgKzgwMyw3IEBAIGhhbmRsZV9pc3RfZXhjZXB0aW9u OgogICAgICAgICAgKiBhbmQgY29weSB0aGUgY29udGV4dCB0byBzdGFjayBib3R0b20uCiAgICAg ICAgICAqLwogICAgICAgICB4b3IgICAlcjE1LCAlcjE1CisgICAgICAgIHhvciAgICVlYngsICVl YngKICAgICAgICAgR0VUX0NQVUlORk9fRklFTEQoZ3Vlc3RfY3B1X3VzZXJfcmVncyxkaSkKICAg ICAgICAgbW92cSAgJXJzcCwlcnNpCiAgICAgICAgIG1vdmwgICRVUkVHU19rZXJuZWxfc2l6ZW9m LzgsJWVjeApAQCAtODI1LDYgKzgxNSw3IEBAIGhhbmRsZV9pc3RfZXhjZXB0aW9uOgogICAgICAg ICBtb3YgICAoJXJkeCwgJXJheCwgOCksICVyZHgKICAgICAgICAgSU5ESVJFQ1RfQ0FMTCAlcmR4 CiAgICAgICAgIG1vdiAgICVyMTUsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXIxNCkK KyAgICAgICAgbW92ICAgJWJsLCBTVEFDS19DUFVJTkZPX0ZJRUxEKHVzZV9wdl9jcjMpKCVyMTQp CiAgICAgICAgIGNtcGIgICRUUkFQX25taSxVUkVHU19lbnRyeV92ZWN0b3IoJXJzcCkKICAgICAg ICAgam5lICAgcmV0X2Zyb21faW50cgogCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2 L2N1cnJlbnQuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oCmluZGV4IGIyNDc1Nzgz ZjguLjQzYmRlYzFmNDkgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5o CisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oCkBAIC00NywxMCArNDcsNyBAQCBz dHJ1Y3QgY3B1X2luZm8gewogICAgICAqIGNvbnRleHQgaXMgYmVpbmcgZW50ZXJlZC4gQSB2YWx1 ZSBvZiB6ZXJvIGluZGljYXRlcyBubyBzZXR0aW5nIG9mIENSMwogICAgICAqIGlzIHRvIGJlIHBl cmZvcm1lZC4KICAgICAgKiBUaGUgZm9ybWVyIGlzIHRoZSB2YWx1ZSB0byByZXN0b3JlIHdoZW4g cmUtZW50ZXJpbmcgWGVuLCBpZiBhbnkuIElPVwotICAgICAqIGl0cyB2YWx1ZSBiZWluZyB6ZXJv IG1lYW5zIHRoZXJlJ3Mgbm90aGluZyB0byByZXN0b3JlLiBIb3dldmVyLCBpdHMKLSAgICAgKiB2 YWx1ZSBjYW4gYWxzbyBiZSBuZWdhdGl2ZSwgaW5kaWNhdGluZyB0byB0aGUgZXhpdC10by1YZW4g Y29kZSB0aGF0Ci0gICAgICogcmVzdG9yaW5nIGlzIG5vdCBuZWNlc3NhcnksIGJ1dCBhbGxvd2lu ZyBhbnkgbmVzdGVkIGVudHJ5IGNvZGUgcGF0aHMKLSAgICAgKiB0byBzdGlsbCBrbm93IHRoZSB2 YWx1ZSB0byBwdXQgYmFjayBpbnRvIENSMy4KKyAgICAgKiBpdHMgdmFsdWUgYmVpbmcgemVybyBt ZWFucyB0aGVyZSdzIG5vdGhpbmcgdG8gcmVzdG9yZS4KICAgICAgKi8KICAgICB1bnNpZ25lZCBs b25nIHhlbl9jcjM7CiAgICAgdW5zaWduZWQgbG9uZyBwdl9jcjM7CkBAIC02OCw2ICs2NSwxMyBA QCBzdHJ1Y3QgY3B1X2luZm8gewogICAgICAqLwogICAgIGJvb2wgICAgICAgICByb290X3BndF9j aGFuZ2VkOwogCisgICAgLyoKKyAgICAgKiB1c2VfcHZfY3IzIGlzIHNldCBpbiBjYXNlIHRoZSB2 YWx1ZSBvZiBwdl9jcjMgaXMgdG8gYmUgd3JpdHRlbiBpbnRvCisgICAgICogQ1IzIHdoZW4gcmV0 dXJuaW5nIGZyb20gYW4gaW50ZXJydXB0LiBUaGUgbWFpbiB1c2UgaXMgd2hlbiByZXR1cm5pbmcK KyAgICAgKiBmcm9tIGEgTk1JIG9yIE1DRSB0byBoeXBlcnZpc29yIGNvZGUgd2hlcmUgcHZfY3Iz IHdhcyBhY3RpdmUuCisgICAgICovCisgICAgYm9vbCAgICAgICAgIHVzZV9wdl9jcjM7CisKICAg ICB1bnNpZ25lZCBsb25nIF9fcGFkOwogICAgIC8qIGdldF9zdGFja19ib3R0b20oKSBtdXN0IGJl IDE2LWJ5dGUgYWxpZ25lZCAqLwogfTsKLS0gCjIuMTMuNgoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFp bG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=