From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH 1/2] x86/shadow: More consistent printing for debug messages Date: Thu, 1 Sep 2016 20:21:46 +0100 Message-ID: <1472757707-11885-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: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: George Dunlap , Andrew Cooper , Tim Deegan , Jan Beulich List-Id: xen-devel@lists.xenproject.org ICogVXNlICVwdiBvciBqdXN0IGQlZCBpbiBwcmVmZXJlbmNlIHRvIHRoZSBtdWx0aXBsZSBjdXJy ZW50IHdheXMgb2YKICAgcHJlc2VudGluZyB0aGUgc2FtZSBpbmZvcm1hdGlvbi4KICogVXNlIFBS SV9tZm4gaW5zdGVhZCBvZiBvcGVuY29kaW5nIGl0LgogKiBEcm9wIGFsbCBleHBsaWNpdCB1c2Ug b2YgX19mdW5jX18gZnJvbSBTSEFET1dfe1BSSU5USyxERUJVR30oKSBjYWxscy4gIFRoZQogICB3 cmFwcGVycyBhbHJlYWR5IGluY2x1ZGUgaXQuCiAqIFVzZSBoZXggcmF0aGVyIHRoYW4gZGVjaW1h bCBmb3IgcHJpbnRpbmcgYSBwYWdlZmF1bHQgZXJyb3IgY29kZS4KClNpZ25lZC1vZmYtYnk6IEFu ZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQpDQzogSmFuIEJldWxp Y2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogVGltIERlZWdhbiA8dGltQHhlbi5vcmc+CkNDOiBH ZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVubGFwQGV1LmNpdHJpeC5jb20+Ci0tLQogeGVuL2FyY2gv eDg2L21tL3NoYWRvdy9jb21tb24uYyB8IDIzICsrKysrKysrKystLS0tLS0tLS0tLS0KIHhlbi9h cmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYyAgfCA0MiArKysrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAyOCBpbnNlcnRpb25zKCspLCAzNyBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5j IGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYwppbmRleCBjMjIzNjJmLi4wNGNlMzIy IDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L2NvbW1vbi5jCisrKyBiL3hlbi9h cmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKQEAgLTcyMyw4ICs3MjMsNyBAQCBzdGF0aWMgdm9p ZCBfc2hfcmVzeW5jKHN0cnVjdCB2Y3B1ICp2LCBtZm5fdCBnbWZuLAogICAgICAgICAgICAgICYg flNIRl9MMV9BTlkpKTsKICAgICBBU1NFUlQoIXNoX3BhZ2VfaGFzX211bHRpcGxlX3NoYWRvd3Mo bWZuX3RvX3BhZ2UoZ21mbikpKTsKIAotICAgIFNIQURPV19QUklOVEsoImQ9JWQsIHY9JWQsIGdt Zm49JTA1bHhcbiIsCi0gICAgICAgICAgICAgICAgICB2LT5kb21haW4tPmRvbWFpbl9pZCwgdi0+ dmNwdV9pZCwgbWZuX3goZ21mbikpOworICAgIFNIQURPV19QUklOVEsoIiVwdiBnbWZuPSUiUFJJ X21mbiJcbiIsIHYsIG1mbl94KGdtZm4pKTsKIAogICAgIC8qIE5lZWQgdG8gcHVsbCB3cml0ZSBh Y2Nlc3Mgc28gdGhlIHBhZ2UgKnN0YXlzKiBpbiBzeW5jLiAqLwogICAgIGlmICggb29zX3JlbW92 ZV93cml0ZV9hY2Nlc3ModiwgZ21mbiwgZml4dXApICkKQEAgLTkwMCw3ICs4OTksNyBAQCB2b2lk IHNoX3Jlc3luY19hbGwoc3RydWN0IHZjcHUgKnYsIGludCBza2lwLCBpbnQgdGhpcywgaW50IG90 aGVycykKICAgICBtZm5fdCAqb29zX3NuYXBzaG90ID0gdi0+YXJjaC5wYWdpbmcuc2hhZG93Lm9v c19zbmFwc2hvdDsKICAgICBzdHJ1Y3Qgb29zX2ZpeHVwICpvb3NfZml4dXAgPSB2LT5hcmNoLnBh Z2luZy5zaGFkb3cub29zX2ZpeHVwOwogCi0gICAgU0hBRE9XX1BSSU5USygiZD0lZCwgdj0lZFxu Iiwgdi0+ZG9tYWluLT5kb21haW5faWQsIHYtPnZjcHVfaWQpOworICAgIFNIQURPV19QUklOVEso IiVwdlxuIiwgdik7CiAKICAgICBBU1NFUlQocGFnaW5nX2xvY2tlZF9ieV9tZSh2LT5kb21haW4p KTsKIApAQCAtOTYxLDggKzk2MCw3IEBAIGludCBzaF91bnN5bmMoc3RydWN0IHZjcHUgKnYsIG1m bl90IGdtZm4pCiAKICAgICBBU1NFUlQocGFnaW5nX2xvY2tlZF9ieV9tZSh2LT5kb21haW4pKTsK IAotICAgIFNIQURPV19QUklOVEsoImQ9JWQsIHY9JWQsIGdtZm49JTA1bHhcbiIsCi0gICAgICAg ICAgICAgICAgICB2LT5kb21haW4tPmRvbWFpbl9pZCwgdi0+dmNwdV9pZCwgbWZuX3goZ21mbikp OworICAgIFNIQURPV19QUklOVEsoIiVwdiBnbWZuPSUiUFJJX21mbiJcbiIsIHYsIG1mbl94KGdt Zm4pKTsKIAogICAgIHBnID0gbWZuX3RvX3BhZ2UoZ21mbik7CiAKQEAgLTI3OTIsNyArMjc5MCw3 IEBAIHZvaWQgc2hfcmVtb3ZlX3NoYWRvd3Moc3RydWN0IGRvbWFpbiAqZCwgbWZuX3QgZ21mbiwg aW50IGZhc3QsIGludCBhbGwpCiAgICAgICogY2FuIGJlIGNhbGxlZCB2aWEgcHV0X3BhZ2VfdHlw ZSB3aGVuIHdlIGNsZWFyIGEgc2hhZG93IGwxZSkuKi8KICAgICBwYWdpbmdfbG9ja19yZWN1cnNp dmUoZCk7CiAKLSAgICBTSEFET1dfUFJJTlRLKCJkPSVkOiBnbWZuPSVseFxuIiwgZC0+ZG9tYWlu X2lkLCBtZm5feChnbWZuKSk7CisgICAgU0hBRE9XX1BSSU5USygiZCVkIGdtZm49JSJQUklfbWZu IlxuIiwgZC0+ZG9tYWluX2lkLCBtZm5feChnbWZuKSk7CiAKICAgICAvKiBCYWlsIG91dCBub3cg aWYgdGhlIHBhZ2UgaXMgbm90IHNoYWRvd2VkICovCiAgICAgaWYgKCAocGctPmNvdW50X2luZm8g JiBQR0NfcGFnZV90YWJsZSkgPT0gMCApCkBAIC0yODQ3LDcgKzI4NDUsNyBAQCB2b2lkIHNoX3Jl bW92ZV9zaGFkb3dzKHN0cnVjdCBkb21haW4gKmQsIG1mbl90IGdtZm4sIGludCBmYXN0LCBpbnQg YWxsKQogICAgIC8qIElmIHRoYXQgZGlkbid0IGNhdGNoIHRoZSBzaGFkb3dzLCBzb21ldGhpbmcg aXMgd3JvbmcgKi8KICAgICBpZiAoICFmYXN0ICYmIGFsbCAmJiAocGctPmNvdW50X2luZm8gJiBQ R0NfcGFnZV90YWJsZSkgKQogICAgIHsKLSAgICAgICAgU0hBRE9XX0VSUk9SKCJjYW4ndCBmaW5k IGFsbCBzaGFkb3dzIG9mIG1mbiAlMDVseCAiCisgICAgICAgIFNIQURPV19FUlJPUigiY2FuJ3Qg ZmluZCBhbGwgc2hhZG93cyBvZiBtZm4gJSJQUklfbWZuIiAiCiAgICAgICAgICAgICAgICAgICAg ICAiKHNoYWRvd19mbGFncz0lMDh4KVxuIiwKICAgICAgICAgICAgICAgICAgICAgICBtZm5feChn bWZuKSwgcGctPnNoYWRvd19mbGFncyk7CiAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsKQEAgLTMw MTYsOSArMzAxNCw5IEBAIHN0YXRpYyB2b2lkIHNoX3VwZGF0ZV9wYWdpbmdfbW9kZXMoc3RydWN0 IHZjcHUgKnYpCiAKICAgICAgICAgaWYgKCB2LT5hcmNoLnBhZ2luZy5tb2RlICE9IG9sZF9tb2Rl ICkKICAgICAgICAgewotICAgICAgICAgICAgU0hBRE9XX1BSSU5USygibmV3IHBhZ2luZyBtb2Rl OiBkPSV1IHY9JXUgcGU9JWQgZ2w9JXUgIgorICAgICAgICAgICAgU0hBRE9XX1BSSU5USygibmV3 IHBhZ2luZyBtb2RlOiAlcHYgcGU9JWQgZ2w9JXUgIgogICAgICAgICAgICAgICAgICAgICAgICAg ICAic2w9JXUgKHdhcyBnPSV1IHM9JXUpXG4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICBk LT5kb21haW5faWQsIHYtPnZjcHVfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHYsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlzX2h2bV9kb21haW4oZCkgPyBodm1fcGFnaW5nX2Vu YWJsZWQodikgOiAxLAogICAgICAgICAgICAgICAgICAgICAgICAgICB2LT5hcmNoLnBhZ2luZy5t b2RlLT5ndWVzdF9sZXZlbHMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHYtPmFyY2gucGFn aW5nLm1vZGUtPnNoYWRvdy5zaGFkb3dfbGV2ZWxzLApAQCAtMzAzMywxMSArMzAzMSwxMCBAQCBz dGF0aWMgdm9pZCBzaF91cGRhdGVfcGFnaW5nX21vZGVzKHN0cnVjdCB2Y3B1ICp2KQogCiAgICAg ICAgICAgICAgICAgaWYgKCB2ICE9IGN1cnJlbnQgJiYgdmNwdV9ydW5uYWJsZSh2KSApCiAgICAg ICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBTSEFET1dfRVJST1IoIlNvbWUgdGhp cmQgcGFydHkgKGQ9JXUgdj0ldSkgaXMgY2hhbmdpbmcgIgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgInRoaXMgSFZNIHZjcHUncyAoZD0ldSB2PSV1KSBwYWdpbmcgbW9kZSAiCisg ICAgICAgICAgICAgICAgICAgIFNIQURPV19FUlJPUigiU29tZSB0aGlyZCBwYXJ0eSAoJXB2KSBp cyBjaGFuZ2luZyAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidGhpcyBIVk0g dmNwdSdzICglcHYpIHBhZ2luZyBtb2RlICIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJ3aGlsZSBpdCBpcyBydW5uaW5nLlxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGN1cnJlbnQtPmRvbWFpbi0+ZG9tYWluX2lkLCBjdXJyZW50LT52Y3B1X2lkLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdi0+ZG9tYWluLT5kb21haW5faWQsIHYtPnZj cHVfaWQpOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCwgdik7CiAg ICAgICAgICAgICAgICAgICAgIC8qIEl0J3Mgbm90IHNhZmUgdG8gZG8gdGhhdCBiZWNhdXNlIHdl IGNhbid0IGNoYW5nZQogICAgICAgICAgICAgICAgICAgICAgKiB0aGUgaG9zdCBDUjMgZm9yIGEg cnVubmluZyBkb21haW4gKi8KICAgICAgICAgICAgICAgICAgICAgZG9tYWluX2NyYXNoKHYtPmRv bWFpbik7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMgYi94ZW4v YXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMKaW5kZXggODMzZjI3OS4uNmM0NTMzOCAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9t bS9zaGFkb3cvbXVsdGkuYwpAQCAtMTE2LDcgKzExNiw3IEBAIHN0YXRpYyBpbmxpbmUgdm9pZAog c2V0X2ZsMV9zaGFkb3dfc3RhdHVzKHN0cnVjdCBkb21haW4gKmQsIGdmbl90IGdmbiwgbWZuX3Qg c21mbikKIC8qIFB1dCBhbiBGTDEgc2hhZG93IGludG8gdGhlIGhhc2ggdGFibGUgKi8KIHsKLSAg ICBTSEFET1dfUFJJTlRLKCJnZm49JSJTSF9QUklfZ2ZuIiwgdHlwZT0lMDh4LCBzbWZuPSUwNWx4 XG4iLAorICAgIFNIQURPV19QUklOVEsoImdmbj0lIlNIX1BSSV9nZm4iLCB0eXBlPSUwOHgsIHNt Zm49JSJQUklfbWZuIlxuIiwKICAgICAgICAgICAgICAgICAgICBnZm5feChnZm4pLCBTSF90eXBl X2ZsMV9zaGFkb3csIG1mbl94KHNtZm4pKTsKIAogICAgIEFTU0VSVChtZm5fdG9fcGFnZShzbWZu KS0+dS5zaC5oZWFkKTsKQEAgLTEyOSw3ICsxMjksNyBAQCBzZXRfc2hhZG93X3N0YXR1cyhzdHJ1 Y3QgZG9tYWluICpkLCBtZm5fdCBnbWZuLCB1MzIgc2hhZG93X3R5cGUsIG1mbl90IHNtZm4pCiB7 CiAgICAgaW50IHJlczsKIAotICAgIFNIQURPV19QUklOVEsoImQ9JWQ6IGdtZm49JWx4LCB0eXBl PSUwOHgsIHNtZm49JWx4XG4iLAorICAgIFNIQURPV19QUklOVEsoImQlZCBnbWZuPSVseCwgdHlw ZT0lMDh4LCBzbWZuPSVseFxuIiwKICAgICAgICAgICAgICAgICAgIGQtPmRvbWFpbl9pZCwgbWZu X3goZ21mbiksIHNoYWRvd190eXBlLCBtZm5feChzbWZuKSk7CiAKICAgICBBU1NFUlQobWZuX3Rv X3BhZ2Uoc21mbiktPnUuc2guaGVhZCk7CkBAIC0xNDgsNyArMTQ4LDcgQEAgc3RhdGljIGlubGlu ZSB2b2lkCiBkZWxldGVfZmwxX3NoYWRvd19zdGF0dXMoc3RydWN0IGRvbWFpbiAqZCwgZ2ZuX3Qg Z2ZuLCBtZm5fdCBzbWZuKQogLyogUmVtb3ZlIGEgc2hhZG93IGZyb20gdGhlIGhhc2ggdGFibGUg Ki8KIHsKLSAgICBTSEFET1dfUFJJTlRLKCJnZm49JSJTSF9QUklfZ2ZuIiwgdHlwZT0lMDh4LCBz bWZuPSUwNWx4XG4iLAorICAgIFNIQURPV19QUklOVEsoImdmbj0lIlNIX1BSSV9nZm4iLCB0eXBl PSUwOHgsIHNtZm49JSJQUklfbWZuIlxuIiwKICAgICAgICAgICAgICAgICAgICBnZm5feChnZm4p LCBTSF90eXBlX2ZsMV9zaGFkb3csIG1mbl94KHNtZm4pKTsKICAgICBBU1NFUlQobWZuX3RvX3Bh Z2Uoc21mbiktPnUuc2guaGVhZCk7CiAgICAgc2hhZG93X2hhc2hfZGVsZXRlKGQsIGdmbl94KGdm biksIFNIX3R5cGVfZmwxX3NoYWRvdywgc21mbik7CkBAIC0xNTgsNyArMTU4LDcgQEAgc3RhdGlj IGlubGluZSB2b2lkCiBkZWxldGVfc2hhZG93X3N0YXR1cyhzdHJ1Y3QgZG9tYWluICpkLCBtZm5f dCBnbWZuLCB1MzIgc2hhZG93X3R5cGUsIG1mbl90IHNtZm4pCiAvKiBSZW1vdmUgYSBzaGFkb3cg ZnJvbSB0aGUgaGFzaCB0YWJsZSAqLwogewotICAgIFNIQURPV19QUklOVEsoImQ9JWQ6IGdtZm49 JWx4LCB0eXBlPSUwOHgsIHNtZm49JWx4XG4iLAorICAgIFNIQURPV19QUklOVEsoImQlZCBnbWZu PSUiUFJJX21mbiIsIHR5cGU9JTA4eCwgc21mbj0lIlBSSV9tZm4iXG4iLAogICAgICAgICAgICAg ICAgICAgZC0+ZG9tYWluX2lkLCBtZm5feChnbWZuKSwgc2hhZG93X3R5cGUsIG1mbl94KHNtZm4p KTsKICAgICBBU1NFUlQobWZuX3RvX3BhZ2Uoc21mbiktPnUuc2guaGVhZCk7CiAgICAgc2hhZG93 X2hhc2hfZGVsZXRlKGQsIG1mbl94KGdtZm4pLCBzaGFkb3dfdHlwZSwgc21mbik7CkBAIC04NjUs OCArODY1LDggQEAgc2hhZG93X2dldF9wYWdlX2Zyb21fbDFlKHNoYWRvd19sMWVfdCBzbDFlLCBz dHJ1Y3QgZG9tYWluICpkLCBwMm1fdHlwZV90IHR5cGUpCiAgICAgICAgIHJlcyA9IHhzbV9wcml2 X21hcHBpbmcoWFNNX1RBUkdFVCwgZCwgb3duZXIpOwogICAgICAgICBpZiAoICFyZXMgKSB7CiAg ICAgICAgICAgICByZXMgPSBnZXRfcGFnZV9mcm9tX2wxZShzbDFlLCBkLCBvd25lcik7Ci0gICAg ICAgICAgICBTSEFET1dfUFJJTlRLKCJwcml2aWxlZ2VkIGRvbWFpbiAlZCBpbnN0YWxscyBtYXAg b2YgbWZuICUwNWx4ICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3aGljaCBpcyBvd25l ZCBieSBkb21haW4gJWQ6ICVzXG4iLAorICAgICAgICAgICAgU0hBRE9XX1BSSU5USygicHJpdmls ZWdlZCBkb21haW4gJWQgaW5zdGFsbHMgbWFwIG9mIG1mbiAlIlBSSV9tZm4iICIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICJ3aGljaCBpcyBvd25lZCBieSBkJWQ6ICVzXG4iLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBtZm5feChtZm4pLCBvd25lci0+ZG9t YWluX2lkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzID49IDAgPyAic3VjY2VzcyIg OiAiZmFpbGVkIik7CiAgICAgICAgIH0KQEAgLTE1MzAsNyArMTUzMCw3IEBAIHNoX21ha2Vfc2hh ZG93KHN0cnVjdCB2Y3B1ICp2LCBtZm5fdCBnbWZuLCB1MzIgc2hhZG93X3R5cGUpCiB7CiAgICAg c3RydWN0IGRvbWFpbiAqZCA9IHYtPmRvbWFpbjsKICAgICBtZm5fdCBzbWZuID0gc2hhZG93X2Fs bG9jKGQsIHNoYWRvd190eXBlLCBtZm5feChnbWZuKSk7Ci0gICAgU0hBRE9XX0RFQlVHKE1BS0Vf U0hBRE9XLCAiKCUwNWx4LCAldSk9PiUwNWx4XG4iLAorICAgIFNIQURPV19ERUJVRyhNQUtFX1NI QURPVywgIiglIlBSSV9tZm4iLCAldSk9PiUiUFJJX21mbiJcbiIsCiAgICAgICAgICAgICAgICAg ICBtZm5feChnbWZuKSwgc2hhZG93X3R5cGUsIG1mbl94KHNtZm4pKTsKIAogICAgIGlmICggc2hf dHlwZV9oYXNfdXBfcG9pbnRlcihkLCBzaGFkb3dfdHlwZSkgKQpAQCAtMTkxOCw4ICsxOTE4LDcg QEAgdm9pZCBzaF9kZXN0cm95X2w0X3NoYWRvdyhzdHJ1Y3QgZG9tYWluICpkLCBtZm5fdCBzbWZu KQogICAgIHUzMiB0ID0gc3AtPnUuc2gudHlwZTsKICAgICBtZm5fdCBnbWZuLCBzbDRtZm47CiAK LSAgICBTSEFET1dfREVCVUcoREVTVFJPWV9TSEFET1csCi0gICAgICAgICAgICAgICAgICAiJXMo JTA1bHgpXG4iLCBfX2Z1bmNfXywgbWZuX3goc21mbikpOworICAgIFNIQURPV19ERUJVRyhERVNU Uk9ZX1NIQURPVywgIiUiUFJJX21mbiJcbiIsIG1mbl94KHNtZm4pKTsKICAgICBBU1NFUlQodCA9 PSBTSF90eXBlX2w0X3NoYWRvdyk7CiAgICAgQVNTRVJUKHNwLT51LnNoLmhlYWQpOwogCkBAIC0x OTQ5LDggKzE5NDgsNyBAQCB2b2lkIHNoX2Rlc3Ryb3lfbDNfc2hhZG93KHN0cnVjdCBkb21haW4g KmQsIG1mbl90IHNtZm4pCiAgICAgdTMyIHQgPSBzcC0+dS5zaC50eXBlOwogICAgIG1mbl90IGdt Zm4sIHNsM21mbjsKIAotICAgIFNIQURPV19ERUJVRyhERVNUUk9ZX1NIQURPVywKLSAgICAgICAg ICAgICAgICAgICIlcyglMDVseClcbiIsIF9fZnVuY19fLCBtZm5feChzbWZuKSk7CisgICAgU0hB RE9XX0RFQlVHKERFU1RST1lfU0hBRE9XLCAiJSJQUklfbWZuIlxuIiwgbWZuX3goc21mbikpOwog ICAgIEFTU0VSVCh0ID09IFNIX3R5cGVfbDNfc2hhZG93KTsKICAgICBBU1NFUlQoc3AtPnUuc2gu aGVhZCk7CiAKQEAgLTE5ODEsOCArMTk3OSw3IEBAIHZvaWQgc2hfZGVzdHJveV9sMl9zaGFkb3co c3RydWN0IGRvbWFpbiAqZCwgbWZuX3Qgc21mbikKICAgICB1MzIgdCA9IHNwLT51LnNoLnR5cGU7 CiAgICAgbWZuX3QgZ21mbiwgc2wybWZuOwogCi0gICAgU0hBRE9XX0RFQlVHKERFU1RST1lfU0hB RE9XLAotICAgICAgICAgICAgICAgICAgIiVzKCUwNWx4KVxuIiwgX19mdW5jX18sIG1mbl94KHNt Zm4pKTsKKyAgICBTSEFET1dfREVCVUcoREVTVFJPWV9TSEFET1csICIlIlBSSV9tZm4iXG4iLCBt Zm5feChzbWZuKSk7CiAKICNpZiBHVUVTVF9QQUdJTkdfTEVWRUxTID49IDMKICAgICBBU1NFUlQo dCA9PSBTSF90eXBlX2wyX3NoYWRvdyB8fCB0ID09IFNIX3R5cGVfbDJoX3NoYWRvdyk7CkBAIC0y MDE1LDggKzIwMTIsNyBAQCB2b2lkIHNoX2Rlc3Ryb3lfbDFfc2hhZG93KHN0cnVjdCBkb21haW4g KmQsIG1mbl90IHNtZm4pCiAgICAgc3RydWN0IHBhZ2VfaW5mbyAqc3AgPSBtZm5fdG9fcGFnZShz bWZuKTsKICAgICB1MzIgdCA9IHNwLT51LnNoLnR5cGU7CiAKLSAgICBTSEFET1dfREVCVUcoREVT VFJPWV9TSEFET1csCi0gICAgICAgICAgICAgICAgICAiJXMoJTA1bHgpXG4iLCBfX2Z1bmNfXywg bWZuX3goc21mbikpOworICAgIFNIQURPV19ERUJVRyhERVNUUk9ZX1NIQURPVywgIiUiUFJJX21m biJcbiIsIG1mbl94KHNtZm4pKTsKICAgICBBU1NFUlQodCA9PSBTSF90eXBlX2wxX3NoYWRvdyB8 fCB0ID09IFNIX3R5cGVfZmwxX3NoYWRvdyk7CiAgICAgQVNTRVJUKHNwLT51LnNoLmhlYWQpOwog CkBAIC0yMTkyLDkgKzIxODgsOSBAQCBzdGF0aWMgaW50IHZhbGlkYXRlX2dsNGUoc3RydWN0IHZj cHUgKnYsIHZvaWQgKm5ld19nZSwgbWZuX3Qgc2w0bWZuLCB2b2lkICpzZSkKICAgICAgICAgewog ICAgICAgICAgICAgLy8gYXR0ZW1wdCBieSB0aGUgZ3Vlc3QgdG8gd3JpdGUgdG8gYSB4ZW4gcmVz ZXJ2ZWQgc2xvdAogICAgICAgICAgICAgLy8KLSAgICAgICAgICAgIFNIQURPV19QUklOVEsoIiVz IG91dC1vZi1yYW5nZSB1cGRhdGUgIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgInNsNG1m bj0lMDVseCBpbmRleD0lI3ggdmFsPSUiIFNIX1BSSV9wdGUgIlxuIiwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgIF9fZnVuY19fLCBtZm5feChzbDRtZm4pLCBzaGFkb3dfaW5kZXgsIG5ld19z bDRlLmw0KTsKKyAgICAgICAgICAgIFNIQURPV19QUklOVEsoIm91dC1vZi1yYW5nZSB1cGRhdGUg IgorICAgICAgICAgICAgICAgICAgICAgICAgICAic2w0bWZuPSUiUFJJX21mbiIgaW5kZXg9JSN4 IHZhbD0lIiBTSF9QUklfcHRlICJcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgIG1mbl94 KHNsNG1mbiksIHNoYWRvd19pbmRleCwgbmV3X3NsNGUubDQpOwogICAgICAgICAgICAgaWYgKCBz aGFkb3dfbDRlX2dldF9mbGFncyhuZXdfc2w0ZSkgJiBfUEFHRV9QUkVTRU5UICkKICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICBTSEFET1dfRVJST1IoIm91dC1vZi1yYW5nZSBsNGUgdXBk YXRlXG4iKTsKQEAgLTI4NzcsOSArMjg3Myw4IEBAIHN0YXRpYyBpbnQgc2hfcGFnZV9mYXVsdChz dHJ1Y3QgdmNwdSAqdiwKICAgICBpbnQgZmFzdF9lbXVsID0gMDsKICNlbmRpZgogCi0gICAgU0hB RE9XX1BSSU5USygiZDp2PSV1OiV1IHZhPSUjbHggZXJyPSV1LCByaXA9JWx4XG4iLAotICAgICAg ICAgICAgICAgICAgdi0+ZG9tYWluLT5kb21haW5faWQsIHYtPnZjcHVfaWQsIHZhLCByZWdzLT5l cnJvcl9jb2RlLAotICAgICAgICAgICAgICAgICAgcmVncy0+ZWlwKTsKKyAgICBTSEFET1dfUFJJ TlRLKCIlcHYgdmE9JSNseCBlcnI9JSN4LCByaXA9JWx4XG4iLAorICAgICAgICAgICAgICAgICAg diwgdmEsIHJlZ3MtPmVycm9yX2NvZGUsIHJlZ3MtPmVpcCk7CiAKICAgICBwZXJmY19pbmNyKHNo YWRvd19mYXVsdCk7CiAKQEAgLTM5OTUsOSArMzk5MCw4IEBAIHNoX3VwZGF0ZV9jcjMoc3RydWN0 IHZjcHUgKnYsIGludCBkb19sb2NraW5nKQogICAgIH0KICNlbmRpZgogCi0gICAgU0hBRE9XX1BS SU5USygiZD0ldSB2PSV1IGd1ZXN0X3RhYmxlPSUwNWx4XG4iLAotICAgICAgICAgICAgICAgICAg IGQtPmRvbWFpbl9pZCwgdi0+dmNwdV9pZCwKLSAgICAgICAgICAgICAgICAgICAodW5zaWduZWQg bG9uZylwYWdldGFibGVfZ2V0X3Bmbih2LT5hcmNoLmd1ZXN0X3RhYmxlKSk7CisgICAgU0hBRE9X X1BSSU5USygiJXB2IGd1ZXN0X3RhYmxlPSUiUFJJX21mbiJcbiIsCisgICAgICAgICAgICAgICAg ICB2LCAodW5zaWduZWQgbG9uZylwYWdldGFibGVfZ2V0X3Bmbih2LT5hcmNoLmd1ZXN0X3RhYmxl KSk7CiAKICNpZiBHVUVTVF9QQUdJTkdfTEVWRUxTID09IDQKICAgICBpZiAoICEodi0+YXJjaC5m bGFncyAmIFRGX2tlcm5lbF9tb2RlKSAmJiAhaXNfcHZfMzJiaXRfZG9tYWluKGQpICkKLS0gCjIu MS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVu LWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3Rz Lnhlbi5vcmcveGVuLWRldmVsCg==