From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH] x86/mm: Drop {HAP,SHADOW}_ERROR() wrappers Date: Tue, 28 Aug 2018 19:11:54 +0100 Message-ID: <1535479914-30520-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.xenproject.org Sender: "Xen-devel" To: Xen-devel Cc: George Dunlap , Andrew Cooper , Wei Liu , Jan Beulich , Tim Deegan List-Id: xen-devel@lists.xenproject.org VW5saWtlIHRoZSBQUklOVEsvREVCVUcgd3JhcHBlcnMsIHRoZXNlIGdvIHN0cmFpZ2h0IG91dCB0 byB0aGUgY29uc29sZSwgcmF0aGVyCnRoYW4gZW5kaW5nIHVwIGluIHRoZSBkZWJ1Z3RyYWNlIGJ1 ZmZlci4KCkEgbnVtYmVyIG9mIHRoZXNlIHVzZXJzIGFyZSBmb2xsb3dlZCBieSBkb21haW5fY3Jh c2goKSwgYW5kIGZ1dHVyZSBjaGFuZ2VzCndpbGwgd2FudCB0byBjb21iaW5lIHRoZSBwcmludGso KSBpbnRvIHRoZSBkb21haW5fY3Jhc2goKSBjYWxsLiAgRXhwYW5kIHRoZXNlCndyYXBwZXJzIGlu IHBsYWNlLCB1c2luZyBYRU5MT0dfRVJSIGJlZm9yZSBhIEJVRygpLCBhbmQgWEVOTE9HX0dfRVJS IGJlZm9yZSBhCmRvbWFpbl9jcmFzaCgpLgoKUGVyZm9tIHNvbWUgJXB2L1BSSV9tZm4vZXRjIGNs ZWFudXAgd2hpbGUgbW9kaWZ5aW5nIHRoZSBpbnZvY2F0aW9ucywgYW5kCmV4cGxpY2l0bHkgZHJv cCBzb21lIGNhbGxzIHdoaWNoIGFyZSB1bm5lY2Vzc2FyeSAoYmFkIHNoYWRvdyBvcCwgYW5kIHRo ZSBlbXB0eQpzdHVicyBmb3IgaW5jb3JyZWN0IHNoX21hcF9hbmRfdmFsaWRhdGVfZ2w/ZSgpIGNh bGxzKS4KClNpZ25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJp eC5jb20+Ci0tLQpDQzogSmFuIEJldWxpY2ggPEpCZXVsaWNoQHN1c2UuY29tPgpDQzogV2VpIExp dSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KQ0M6IFRpbSBEZWVnYW4gPHRpbUB4ZW4ub3JnPgpDQzog R2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBldS5jaXRyaXguY29tPgotLS0KIHhlbi9hcmNo L3g4Ni9tbS9oYXAvaGFwLmMgICAgICAgIHwgIDEzICsrLS0KIHhlbi9hcmNoL3g4Ni9tbS9zaGFk b3cvY29tbW9uLmMgIHwgMTI2ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LQogeGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jICAgfCAgMjMgKysrLS0tLQogeGVuL2Fy Y2gveDg2L21tL3NoYWRvdy9wcml2YXRlLmggfCAgIDYgKy0KIHhlbi9pbmNsdWRlL2FzbS14ODYv aGFwLmggICAgICAgIHwgICAyIC0KIDUgZmlsZXMgY2hhbmdlZCwgODIgaW5zZXJ0aW9ucygrKSwg ODggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYyBi L3hlbi9hcmNoL3g4Ni9tbS9oYXAvaGFwLmMKaW5kZXggZDY0NDllNi4uOTQ2ZTMwMSAxMDA2NDQK LS0tIGEveGVuL2FyY2gveDg2L21tL2hhcC9oYXAuYworKysgYi94ZW4vYXJjaC94ODYvbW0vaGFw L2hhcC5jCkBAIC0zMDQsMTAgKzMwNCwxMSBAQCBzdGF0aWMgdm9pZCBoYXBfZnJlZV9wMm1fcGFn ZShzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgcGFnZV9pbmZvICpwZykKICAgICAvKiBTaG91bGQg c3RpbGwgaGF2ZSBubyBvd25lciBhbmQgY291bnQgemVyby4gKi8KICAgICBpZiAoIG93bmVyIHx8 IChwZy0+Y291bnRfaW5mbyAmIFBHQ19jb3VudF9tYXNrKSApCiAgICAgewotICAgICAgICBIQVBf RVJST1IoImQlZDogT2RkIHAybSBwYWdlICUiUFJJX21mbiIgZD0lZCBjPSVseCB0PSUiUFJ0eXBl X2luZm8iXG4iLAotICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBtZm5feChwYWdlX3Rv X21mbihwZykpLAotICAgICAgICAgICAgICAgICAgb3duZXIgPyBvd25lci0+ZG9tYWluX2lkIDog RE9NSURfSU5WQUxJRCwKLSAgICAgICAgICAgICAgICAgIHBnLT5jb3VudF9pbmZvLCBwZy0+dS5p bnVzZS50eXBlX2luZm8pOworICAgICAgICBwcmludGsoWEVOTE9HX0VSUgorICAgICAgICAgICAg ICAgImQlZDogT2RkIHAybSBwYWdlICUiUFJJX21mbiIgZD0lZCBjPSVseCB0PSUiUFJ0eXBlX2lu Zm8iXG4iLAorICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBtZm5feChwYWdlX3RvX21mbihw ZykpLAorICAgICAgICAgICAgICAgb3duZXIgPyBvd25lci0+ZG9tYWluX2lkIDogRE9NSURfSU5W QUxJRCwKKyAgICAgICAgICAgICAgIHBnLT5jb3VudF9pbmZvLCBwZy0+dS5pbnVzZS50eXBlX2lu Zm8pOwogICAgICAgICBXQVJOKCk7CiAgICAgICAgIHBnLT5jb3VudF9pbmZvICY9IH5QR0NfY291 bnRfbWFzazsKICAgICAgICAgcGFnZV9zZXRfb3duZXIocGcsIE5VTEwpOwpAQCAtNDA3LDcgKzQw OCw3IEBAIHN0YXRpYyBtZm5fdCBoYXBfbWFrZV9tb25pdG9yX3RhYmxlKHN0cnVjdCB2Y3B1ICp2 KQogICAgIHJldHVybiBtNG1mbjsKIAogIG9vbToKLSAgICBIQVBfRVJST1IoIm91dCBvZiBtZW1v cnkgYnVpbGRpbmcgbW9uaXRvciBwYWdldGFibGVcbiIpOworICAgIHByaW50ayhYRU5MT0dfR19F UlIgIm91dCBvZiBtZW1vcnkgYnVpbGRpbmcgbW9uaXRvciBwYWdldGFibGVcbiIpOwogICAgIGRv bWFpbl9jcmFzaChkKTsKICAgICByZXR1cm4gSU5WQUxJRF9NRk47CiB9CkBAIC02NDAsNyArNjQx LDcgQEAgc3RhdGljIGludCBoYXBfcGFnZV9mYXVsdChzdHJ1Y3QgdmNwdSAqdiwgdW5zaWduZWQg bG9uZyB2YSwKIHsKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluOwogCi0gICAgSEFQ X0VSUk9SKCJJbnRlcmNlcHRlZCBhIGd1ZXN0ICNQRiAoJXB2KSB3aXRoIEhBUCBlbmFibGVkXG4i LCB2KTsKKyAgICBwcmludGsoWEVOTE9HX0dfRVJSICJJbnRlcmNlcHRlZCAjUEYgZnJvbSAlcHYg d2l0aCBIQVAgZW5hYmxlZFxuIiwgdik7CiAgICAgZG9tYWluX2NyYXNoKGQpOwogICAgIHJldHVy biAwOwogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYyBiL3hl bi9hcmNoL3g4Ni9tbS9zaGFkb3cvY29tbW9uLmMKaW5kZXggMTZkZjQxYi4uZjJiOWU4ZiAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9jb21tb24uYworKysgYi94ZW4vYXJjaC94 ODYvbW0vc2hhZG93L2NvbW1vbi5jCkBAIC0zMjUsNyArMzI1LDggQEAgdm9pZCBvb3NfYXVkaXRf aGFzaF9pc19wcmVzZW50KHN0cnVjdCBkb21haW4gKmQsIG1mbl90IGdtZm4pCiAgICAgICAgICAg ICByZXR1cm47CiAgICAgfQogCi0gICAgU0hBRE9XX0VSUk9SKCJnbWZuICVseCBtYXJrZWQgT09T IGJ1dCBub3QgaW4gaGFzaCB0YWJsZVxuIiwgbWZuX3goZ21mbikpOworICAgIHByaW50ayhYRU5M T0dfRVJSICJnbWZuICUiUFJJX21mbiIgbWFya2VkIE9PUyBidXQgbm90IGluIGhhc2ggdGFibGVc biIsCisgICAgICAgICAgIG1mbl94KGdtZm4pKTsKICAgICBCVUcoKTsKIH0KICNlbmRpZgpAQCAt NDI5LDcgKzQzMCw4IEBAIHZvaWQgb29zX2ZpeHVwX2FkZChzdHJ1Y3QgZG9tYWluICpkLCBtZm5f dCBnbWZuLAogICAgICAgICB9CiAgICAgfQogCi0gICAgU0hBRE9XX0VSUk9SKCJnbWZuICVseCB3 YXMgT09TIGJ1dCBub3QgaW4gaGFzaCB0YWJsZVxuIiwgbWZuX3goZ21mbikpOworICAgIHByaW50 ayhYRU5MT0dfRVJSICJnbWZuICUiUFJJX21mbiIgd2FzIE9PUyBidXQgbm90IGluIGhhc2ggdGFi bGVcbiIsCisgICAgICAgICAgIG1mbl94KGdtZm4pKTsKICAgICBCVUcoKTsKIH0KIApAQCAtNTc5 LDcgKzU4MSw4IEBAIHN0YXRpYyB2b2lkIG9vc19oYXNoX3JlbW92ZShzdHJ1Y3QgZG9tYWluICpk LCBtZm5fdCBnbWZuKQogICAgICAgICB9CiAgICAgfQogCi0gICAgU0hBRE9XX0VSUk9SKCJnbWZu ICVseCB3YXMgT09TIGJ1dCBub3QgaW4gaGFzaCB0YWJsZVxuIiwgbWZuX3goZ21mbikpOworICAg IHByaW50ayhYRU5MT0dfRVJSICJnbWZuICUiUFJJX21mbiIgd2FzIE9PUyBidXQgbm90IGluIGhh c2ggdGFibGVcbiIsCisgICAgICAgICAgIG1mbl94KGdtZm4pKTsKICAgICBCVUcoKTsKIH0KIApA QCAtNjAzLDcgKzYwNiw4IEBAIG1mbl90IG9vc19zbmFwc2hvdF9sb29rdXAoc3RydWN0IGRvbWFp biAqZCwgbWZuX3QgZ21mbikKICAgICAgICAgfQogICAgIH0KIAotICAgIFNIQURPV19FUlJPUigi Z21mbiAlbHggd2FzIE9PUyBidXQgbm90IGluIGhhc2ggdGFibGVcbiIsIG1mbl94KGdtZm4pKTsK KyAgICBwcmludGsoWEVOTE9HX0VSUiAiZ21mbiAlIlBSSV9tZm4iIHdhcyBPT1MgYnV0IG5vdCBp biBoYXNoIHRhYmxlXG4iLAorICAgICAgICAgICBtZm5feChnbWZuKSk7CiAgICAgQlVHKCk7CiB9 CiAKQEAgLTYzMyw3ICs2MzcsOCBAQCB2b2lkIHNoX3Jlc3luYyhzdHJ1Y3QgZG9tYWluICpkLCBt Zm5fdCBnbWZuKQogICAgICAgICB9CiAgICAgfQogCi0gICAgU0hBRE9XX0VSUk9SKCJnbWZuICVs eCB3YXMgT09TIGJ1dCBub3QgaW4gaGFzaCB0YWJsZVxuIiwgbWZuX3goZ21mbikpOworICAgIHBy aW50ayhYRU5MT0dfRVJSICJnbWZuICUiUFJJX21mbiIgd2FzIE9PUyBidXQgbm90IGluIGhhc2gg dGFibGVcbiIsCisgICAgICAgICAgIG1mbl94KGdtZm4pKTsKICAgICBCVUcoKTsKIH0KIApAQCAt NjQ4LDggKzY1Myw4IEBAIHN0YXRpYyBpbnQgc2hfc2tpcF9zeW5jKHN0cnVjdCB2Y3B1ICp2LCBt Zm5fdCBnbDFtZm4pCiAgICAgICAgIHJldHVybiBTSEFET1dfSU5URVJOQUxfTkFNRShzaF9zYWZl X25vdF90b19zeW5jLCAzKSh2LCBnbDFtZm4pOwogICAgIGVsc2UgaWYgKCBwZy0+c2hhZG93X2Zs YWdzICYgU0hGX0wxXzY0ICkKICAgICAgICAgcmV0dXJuIFNIQURPV19JTlRFUk5BTF9OQU1FKHNo X3NhZmVfbm90X3RvX3N5bmMsIDQpKHYsIGdsMW1mbik7Ci0gICAgU0hBRE9XX0VSUk9SKCJnbWZu ICUjbHggd2FzIE9PUyBidXQgbm90IHNoYWRvd2VkIGFzIGFuIGwxLlxuIiwKLSAgICAgICAgICAg ICAgICAgbWZuX3goZ2wxbWZuKSk7CisgICAgcHJpbnRrKFhFTkxPR19FUlIgImdtZm4gJSJQUklf bWZuIiB3YXMgT09TIGJ1dCBub3Qgc2hhZG93ZWQgYXMgYW4gbDFcbiIsCisgICAgICAgICAgIG1m bl94KGdsMW1mbikpOwogICAgIEJVRygpOwogfQogCkBAIC05OTAsNyArOTk1LDcgQEAgdm9pZCBz aGFkb3dfdW5ob29rX21hcHBpbmdzKHN0cnVjdCBkb21haW4gKmQsIG1mbl90IHNtZm4sIGludCB1 c2VyX29ubHkpCiAgICAgICAgIFNIQURPV19JTlRFUk5BTF9OQU1FKHNoX3VuaG9va182NGJfbWFw cGluZ3MsIDQpKGQsIHNtZm4sIHVzZXJfb25seSk7CiAgICAgICAgIGJyZWFrOwogICAgIGRlZmF1 bHQ6Ci0gICAgICAgIFNIQURPV19FUlJPUigidG9wLWxldmVsIHNoYWRvdyBoYXMgYmFkIHR5cGUg JTA4eFxuIiwgc3AtPnUuc2gudHlwZSk7CisgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJCYWQg dG9wLWxldmVsIHNoYWRvdyB0eXBlICUwOHhcbiIsIHNwLT51LnNoLnR5cGUpOwogICAgICAgICBC VUcoKTsKICAgICB9CiB9CkBAIC0xMDYwLDEyICsxMDY1LDEyIEBAIHN0YXRpYyB2b2lkIF9zaGFk b3dfcHJlYWxsb2Moc3RydWN0IGRvbWFpbiAqZCwgdW5zaWduZWQgaW50IHBhZ2VzKQogCiAgICAg LyogTm90aGluZyBtb3JlIHdlIGNhbiBkbzogYWxsIHJlbWFpbmluZyBzaGFkb3dzIGFyZSBvZiBw YWdlcyB0aGF0CiAgICAgICogaG9sZCBYZW4gbWFwcGluZ3MgZm9yIHNvbWUgdmNwdS4gIFRoaXMg Y2FuIG5ldmVyIGhhcHBlbi4gKi8KLSAgICBTSEFET1dfRVJST1IoIkNhbid0IHByZS1hbGxvY2F0 ZSAldSBzaGFkb3cgcGFnZXMhXG4iCi0gICAgICAgICAgICAgICAgICIgIHNoYWRvdyBwYWdlcyB0 b3RhbCA9ICV1LCBmcmVlID0gJXUsIHAybT0ldVxuIiwKLSAgICAgICAgICAgICAgICAgcGFnZXMs Ci0gICAgICAgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnNoYWRvdy50b3RhbF9wYWdlcywKLSAg ICAgICAgICAgICAgICAgZC0+YXJjaC5wYWdpbmcuc2hhZG93LmZyZWVfcGFnZXMsCi0gICAgICAg ICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnNoYWRvdy5wMm1fcGFnZXMpOworICAgIHByaW50ayhY RU5MT0dfRVJSICJDYW4ndCBwcmUtYWxsb2NhdGUgJXUgc2hhZG93IHBhZ2VzIVxuIgorICAgICAg ICAgICAiICBzaGFkb3cgcGFnZXMgdG90YWwgPSAldSwgZnJlZSA9ICV1LCBwMm09JXVcbiIsCisg ICAgICAgICAgIHBhZ2VzLAorICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5zaGFkb3cudG90YWxf cGFnZXMsCisgICAgICAgICAgIGQtPmFyY2gucGFnaW5nLnNoYWRvdy5mcmVlX3BhZ2VzLAorICAg ICAgICAgICBkLT5hcmNoLnBhZ2luZy5zaGFkb3cucDJtX3BhZ2VzKTsKICAgICBCVUcoKTsKIH0K IApAQCAtMTE4NSw3ICsxMTkwLDcgQEAgbWZuX3Qgc2hhZG93X2FsbG9jKHN0cnVjdCBkb21haW4g KmQsCiAgICAgICAgICAqIGNvcnJlY3RseSBiZWZvcmUgd2UgYWxsb2NhdGVkLiAgV2UgY2FuJ3Qg cmVjb3ZlciBieSBjYWxsaW5nCiAgICAgICAgICAqIHByZWFsbG9jIGhlcmUsIGJlY2F1c2Ugd2Ug bWlnaHQgZnJlZSB1cCBoaWdoZXItbGV2ZWwgcGFnZXMKICAgICAgICAgICogdGhhdCB0aGUgY2Fs bGVyIGlzIHdvcmtpbmcgb24uICovCi0gICAgICAgIFNIQURPV19FUlJPUigiQ2FuJ3QgYWxsb2Nh dGUgJWkgc2hhZG93IHBhZ2VzIVxuIiwgcGFnZXMpOworICAgICAgICBwcmludGsoWEVOTE9HX0VS UiAiQ2FuJ3QgYWxsb2NhdGUgJXUgc2hhZG93IHBhZ2VzIVxuIiwgcGFnZXMpOwogICAgICAgICBC VUcoKTsKICAgICB9CiAgICAgZC0+YXJjaC5wYWdpbmcuc2hhZG93LmZyZWVfcGFnZXMgLT0gcGFn ZXM7CkBAIC0xMzM3LDEwICsxMzQyLDExIEBAIHNoYWRvd19mcmVlX3AybV9wYWdlKHN0cnVjdCBk b21haW4gKmQsIHN0cnVjdCBwYWdlX2luZm8gKnBnKQogICAgIC8qIFNob3VsZCBzdGlsbCBoYXZl IG5vIG93bmVyIGFuZCBjb3VudCB6ZXJvLiAqLwogICAgIGlmICggb3duZXIgfHwgKHBnLT5jb3Vu dF9pbmZvICYgUEdDX2NvdW50X21hc2spICkKICAgICB7Ci0gICAgICAgIFNIQURPV19FUlJPUigi ZCVkOiBPZGQgcDJtIHBhZ2UgJSJQUklfbWZuIiBkPSVkIGM9JWx4IHQ9JSJQUnR5cGVfaW5mbyJc biIsCi0gICAgICAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIG1mbl94KHBhZ2VfdG9fbWZu KHBnKSksCi0gICAgICAgICAgICAgICAgICAgICBvd25lciA/IG93bmVyLT5kb21haW5faWQgOiBE T01JRF9JTlZBTElELAotICAgICAgICAgICAgICAgICAgICAgcGctPmNvdW50X2luZm8sIHBnLT51 LmludXNlLnR5cGVfaW5mbyk7CisgICAgICAgIHByaW50ayhYRU5MT0dfRVJSCisgICAgICAgICAg ICAgICAiZCVkOiBPZGQgcDJtIHBhZ2UgJSJQUklfbWZuIiBkPSVkIGM9JWx4IHQ9JSJQUnR5cGVf aW5mbyJcbiIsCisgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIG1mbl94KHBhZ2VfdG9fbWZu KHBnKSksCisgICAgICAgICAgICAgICBvd25lciA/IG93bmVyLT5kb21haW5faWQgOiBET01JRF9J TlZBTElELAorICAgICAgICAgICAgICAgcGctPmNvdW50X2luZm8sIHBnLT51LmludXNlLnR5cGVf aW5mbyk7CiAgICAgICAgIHBnLT5jb3VudF9pbmZvICY9IH5QR0NfY291bnRfbWFzazsKICAgICAg ICAgcGFnZV9zZXRfb3duZXIocGcsIE5VTEwpOwogICAgIH0KQEAgLTE1MDYsMTEgKzE1MTIsMTEg QEAgc3RhdGljIHZvaWQgc2hfaGFzaF9hdWRpdF9idWNrZXQoc3RydWN0IGRvbWFpbiAqZCwgaW50 IGJ1Y2tldCkKICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgIGlmICggIXBh Z2VfaXNfb3V0X29mX3N5bmMoZ3BnKSApCiAgICAgICAgICAgICAgICAgICAgIHsKLSAgICAgICAg ICAgICAgICAgICAgICAgIFNIQURPV19FUlJPUigiTUZOICUjIlBSSV9tZm4iIHNoYWRvd2VkIChi eSAlIyJQUklfbWZuIikiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBh bmQgbm90IE9PUyBidXQgaGFzIHR5cGVjb3VudCAlI2x4XG4iLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF9fYmFja3BvaW50ZXIoc3ApLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIG1mbl94KHBhZ2VfdG9fbWZuKHNwKSksCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZ3BnLT51LmludXNlLnR5cGVfaW5mbyk7CisgICAgICAg ICAgICAgICAgICAgICAgICBwcmludGsoWEVOTE9HX0VSUgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJNRk4gJSJQUklfbWZuIiBzaGFkb3dlZCAoYnkgJSJQUklfbWZuIikiCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIiBhbmQgbm90IE9PUyBidXQgaGFzIHR5cGVjb3Vu dCAlI2x4XG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9fYmFja3BvaW50ZXIo c3ApLCBtZm5feChwYWdlX3RvX21mbihzcCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdwZy0+dS5pbnVzZS50eXBlX2luZm8pOwogICAgICAgICAgICAgICAgICAgICAgICAgQlVH KCk7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9CkBAIC0xNTIwLDEw ICsxNTI2LDEwIEBAIHN0YXRpYyB2b2lkIHNoX2hhc2hfYXVkaXRfYnVja2V0KHN0cnVjdCBkb21h aW4gKmQsIGludCBidWNrZXQpCiAgICAgICAgICAgICBpZiAoIChncGctPnUuaW51c2UudHlwZV9p bmZvICYgUEdUX3R5cGVfbWFzaykgPT0gUEdUX3dyaXRhYmxlX3BhZ2UKICAgICAgICAgICAgICAg ICAgJiYgKGdwZy0+dS5pbnVzZS50eXBlX2luZm8gJiBQR1RfY291bnRfbWFzaykgIT0gMCApCiAg ICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgU0hBRE9XX0VSUk9SKCJNRk4gJSMiUFJJX21m biIgc2hhZG93ZWQgKGJ5ICUjIlBSSV9tZm4iKSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIiBidXQgaGFzIHR5cGVjb3VudCAlI2x4XG4iLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBfX2JhY2twb2ludGVyKHNwKSwgbWZuX3gocGFnZV90b19tZm4oc3ApKSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3BnLT51LmludXNlLnR5cGVfaW5mbyk7CisgICAgICAgICAg ICAgICAgcHJpbnRrKFhFTkxPR19FUlIgIk1GTiAlIlBSSV9tZm4iIHNoYWRvd2VkIChieSAlIlBS SV9tZm4iKSIKKyAgICAgICAgICAgICAgICAgICAgICAgIiBidXQgaGFzIHR5cGVjb3VudCAlI2x4 XG4iLAorICAgICAgICAgICAgICAgICAgICAgICBfX2JhY2twb2ludGVyKHNwKSwgbWZuX3gocGFn ZV90b19tZm4oc3ApKSwKKyAgICAgICAgICAgICAgICAgICAgICAgZ3BnLT51LmludXNlLnR5cGVf aW5mbyk7CiAgICAgICAgICAgICAgICAgQlVHKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K QEAgLTE4NjMsOCArMTg2OSw3IEBAIHZvaWQgc2hfZGVzdHJveV9zaGFkb3coc3RydWN0IGRvbWFp biAqZCwgbWZuX3Qgc21mbikKICAgICAgICAgYnJlYWs7CiAKICAgICBkZWZhdWx0OgotICAgICAg ICBTSEFET1dfRVJST1IoInRyaWVkIHRvIGRlc3Ryb3kgc2hhZG93IG9mIGJhZCB0eXBlICUwOGx4 XG4iLAotICAgICAgICAgICAgICAgICAgICAgKHVuc2lnbmVkIGxvbmcpdCk7CisgICAgICAgIHBy aW50ayhYRU5MT0dfRVJSICJ0cmllZCB0byBkZXN0cm95IHNoYWRvdyBvZiBiYWQgdHlwZSAlMDh4 XG4iLCB0KTsKICAgICAgICAgQlVHKCk7CiAgICAgfQogfQpAQCAtMTk1MCw5ICsxOTU1LDkgQEAg aW50IHNoX3JlbW92ZV93cml0ZV9hY2Nlc3Moc3RydWN0IGRvbWFpbiAqZCwgbWZuX3QgZ21mbiwK ICAgICAgKiBwdXQgcGFnZXRhYmxlcyBpbiBzcGVjaWFsIG1lbW9yeSBvZiBzb21lIGtpbmQuICBX ZSBjYW4ndCBhbGxvdyB0aGF0LiAqLwogICAgIGlmICggKHBnLT51LmludXNlLnR5cGVfaW5mbyAm IFBHVF90eXBlX21hc2spICE9IFBHVF93cml0YWJsZV9wYWdlICkKICAgICB7Ci0gICAgICAgIFNI QURPV19FUlJPUigiY2FuJ3QgcmVtb3ZlIHdyaXRlIGFjY2VzcyB0byBtZm4gJWx4LCB0eXBlX2lu Zm8gaXMgJSIKLSAgICAgICAgICAgICAgICAgICAgICBQUnR5cGVfaW5mbyAiXG4iLAotICAgICAg ICAgICAgICAgICAgICAgIG1mbl94KGdtZm4pLCBtZm5fdG9fcGFnZShnbWZuKS0+dS5pbnVzZS50 eXBlX2luZm8pOworICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJSICJjYW4ndCByZW1vdmUgd3Jp dGUgYWNjZXNzIHRvIG1mbiAlIlBSSV9tZm4KKyAgICAgICAgICAgICAgICIsIHR5cGVfaW5mbyBp cyAlIlBSdHlwZV9pbmZvICJcbiIsCisgICAgICAgICAgICAgICBtZm5feChnbWZuKSwgbWZuX3Rv X3BhZ2UoZ21mbiktPnUuaW51c2UudHlwZV9pbmZvKTsKICAgICAgICAgZG9tYWluX2NyYXNoKGQp OwogICAgIH0KIApAQCAtMjA5OSw5ICsyMTA0LDkgQEAgaW50IHNoX3JlbW92ZV93cml0ZV9hY2Nl c3Moc3RydWN0IGRvbWFpbiAqZCwgbWZuX3QgZ21mbiwKICAgICAgICAgaWYgKCBsZXZlbCA9PSAw ICkKICAgICAgICAgICAgIHJldHVybiAtMTsKIAotICAgICAgICBTSEFET1dfRVJST1IoImNhbid0 IHJlbW92ZSB3cml0ZSBhY2Nlc3MgdG8gbWZuICVseDogZ3Vlc3QgaGFzICIKLSAgICAgICAgICAg ICAgICAgICAgICAiJWx1IHNwZWNpYWwtdXNlIG1hcHBpbmdzIG9mIGl0XG4iLCBtZm5feChnbWZu KSwKLSAgICAgICAgICAgICAgICAgICAgICAobWZuX3RvX3BhZ2UoZ21mbiktPnUuaW51c2UudHlw ZV9pbmZvJlBHVF9jb3VudF9tYXNrKSk7CisgICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIgImNh bid0IHJlbW92ZSB3cml0ZSBhY2Nlc3MgdG8gbWZuICUiUFJJX21mbgorICAgICAgICAgICAgICAg IjogZ3Vlc3QgaGFzICVsdSBzcGVjaWFsLXVzZSBtYXBwaW5nc1xuIiwgbWZuX3goZ21mbiksCisg ICAgICAgICAgICAgICBtZm5fdG9fcGFnZShnbWZuKS0+dS5pbnVzZS50eXBlX2luZm8gJiBQR1Rf Y291bnRfbWFzayk7CiAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsKICAgICB9CiAKQEAgLTIyMDYs MTMgKzIyMTEsMTIgQEAgc3RhdGljIGludCBzaF9yZW1vdmVfYWxsX21hcHBpbmdzKHN0cnVjdCBk b21haW4gKmQsIG1mbl90IGdtZm4sIGdmbl90IGdmbikKICAgICAgICAgICAgICAgICYmICgocGFn ZS0+dS5pbnVzZS50eXBlX2luZm8gJiBQR1RfY291bnRfbWFzaykKICAgICAgICAgICAgICAgICAg ICA9PSAoaXNfeGVuX2hlYXBfcGFnZShwYWdlKSB8fAogICAgICAgICAgICAgICAgICAgICAgICAo aXNfaHZtX2RvbWFpbihkKSAmJiBpc19pb3JlcV9zZXJ2ZXJfcGFnZShkLCBwYWdlKSkpKSkgKQot ICAgICAgICB7Ci0gICAgICAgICAgICBTSEFET1dfRVJST1IoImNhbid0IGZpbmQgYWxsIG1hcHBp bmdzIG9mIG1mbiAlbHggKGdmbiAlbHgpOiAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICJj PSVseCB0PSVseCB4PSVkIGk9JWRcbiIsIG1mbl94KGdtZm4pLCBnZm5feChnZm4pLAotICAgICAg ICAgICAgICAgICAgICAgICAgICBwYWdlLT5jb3VudF9pbmZvLCBwYWdlLT51LmludXNlLnR5cGVf aW5mbywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgISFpc194ZW5faGVhcF9wYWdlKHBhZ2Up LAotICAgICAgICAgICAgICAgICAgICAgICAgICBpc19odm1fZG9tYWluKGQpICYmIGlzX2lvcmVx X3NlcnZlcl9wYWdlKGQsIHBhZ2UpKTsKLSAgICAgICAgfQorICAgICAgICAgICAgcHJpbnRrKFhF TkxPR19HX0VSUiAiY2FuJ3QgZmluZCBhbGwgbWFwcGluZ3Mgb2YgbWZuICUiUFJJX21mbgorICAg ICAgICAgICAgICAgICAgICIgKGdmbiAlIlBSSV9nZm4iKTogYz0lbHggdD0lbHggeD0lZCBpPSVk XG4iLAorICAgICAgICAgICAgICAgICAgIG1mbl94KGdtZm4pLCBnZm5feChnZm4pLAorICAgICAg ICAgICAgICAgICAgIHBhZ2UtPmNvdW50X2luZm8sIHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvLAor ICAgICAgICAgICAgICAgICAgICEhaXNfeGVuX2hlYXBfcGFnZShwYWdlKSwKKyAgICAgICAgICAg ICAgICAgICAoaXNfaHZtX2RvbWFpbihkKSAmJiBpc19pb3JlcV9zZXJ2ZXJfcGFnZShkLCBwYWdl KSkpOwogICAgIH0KIAogICAgIHBhZ2luZ191bmxvY2soZCk7CkBAIC0yMzY0LDkgKzIzNjgsOSBA QCB2b2lkIHNoX3JlbW92ZV9zaGFkb3dzKHN0cnVjdCBkb21haW4gKmQsIG1mbl90IGdtZm4sIGlu dCBmYXN0LCBpbnQgYWxsKQogICAgIHNtZm4gPSBzaGFkb3dfaGFzaF9sb29rdXAoZCwgbWZuX3go Z21mbiksIHQpOyAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGlmICggdW5saWtlbHkoIW1m bl92YWxpZChzbWZuKSkgKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAg IHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAotICAgICAgICBTSEFET1dfRVJST1IoIjogZ21mbiAlI2x4IGhhcyBmbGFn cyAlIyJQUkl4MzIgICAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgIiBi dXQgbm8gdHlwZS0lIyJQUkl4MzIiIHNoYWRvd1xuIiwgICAgICAgICAgICAgICAgXAotICAgICAg ICAgICAgICAgICAgICAgbWZuX3goZ21mbiksICh1aW50MzJfdClwZy0+c2hhZG93X2ZsYWdzLCB0 KTsgICAgICAgXAorICAgICAgICBwcmludGsoWEVOTE9HX0dfRVJSICJnbWZuICUiUFJJX21mbiIg aGFzIGZsYWdzICUjeCIgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgIiBidXQgbm8gdHlw ZS0lI3ggc2hhZG93XG4iLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAg ICAgICAgbWZuX3goZ21mbiksIHBnLT5zaGFkb3dfZmxhZ3MsIHQpOyAgICAgICAgICAgICAgICAg ICAgICAgXAogICAgICAgICBicmVhazsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIH0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGlmICggc2hf dHlwZV9pc19waW5uYWJsZShkLCB0KSApICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXApAQCAtMjM5NSw5ICsyMzk5LDggQEAgdm9pZCBzaF9yZW1vdmVfc2hhZG93cyhzdHJ1Y3Qg ZG9tYWluICpkLCBtZm5fdCBnbWZuLCBpbnQgZmFzdCwgaW50IGFsbCkKICAgICAvKiBJZiB0aGF0 IGRpZG4ndCBjYXRjaCB0aGUgc2hhZG93cywgc29tZXRoaW5nIGlzIHdyb25nICovCiAgICAgaWYg KCAhZmFzdCAmJiBhbGwgJiYgKHBnLT5jb3VudF9pbmZvICYgUEdDX3BhZ2VfdGFibGUpICkKICAg ICB7Ci0gICAgICAgIFNIQURPV19FUlJPUigiY2FuJ3QgZmluZCBhbGwgc2hhZG93cyBvZiBtZm4g JSJQUklfbWZuIiAiCi0gICAgICAgICAgICAgICAgICAgICAiKHNoYWRvd19mbGFncz0lMDh4KVxu IiwKLSAgICAgICAgICAgICAgICAgICAgICBtZm5feChnbWZuKSwgcGctPnNoYWRvd19mbGFncyk7 CisgICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIgImNhbid0IGZpbmQgYWxsIHNoYWRvd3Mgb2Yg bWZuICUiUFJJX21mbgorICAgICAgICAgICAgICAgIiAoc2hhZG93X2ZsYWdzPSUwOHgpXG4iLCBt Zm5feChnbWZuKSwgcGctPnNoYWRvd19mbGFncyk7CiAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsK ICAgICB9CiAKQEAgLTI0NzcsOCArMjQ4MCw3IEBAIHN0YXRpYyB2b2lkIHNoX3VwZGF0ZV9wYWdp bmdfbW9kZXMoc3RydWN0IHZjcHUgKnYpCiAgICAgICAgIHYtPmFyY2gucGFnaW5nLnZ0bGIgPSB4 emFsbG9jX2FycmF5KHN0cnVjdCBzaGFkb3dfdnRsYiwgVlRMQl9FTlRSSUVTKTsKICAgICAgICAg aWYgKCB1bmxpa2VseSghdi0+YXJjaC5wYWdpbmcudnRsYikgKQogICAgICAgICB7Ci0gICAgICAg ICAgICBTSEFET1dfRVJST1IoIkNvdWxkIG5vdCBhbGxvY2F0ZSB2VExCIHNwYWNlIGZvciBkb20g JXUgdmNwdSAldVxuIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICBkLT5kb21haW5faWQsIHYt PnZjcHVfaWQpOworICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0VSUiAiQ291bGQgbm90IGFs bG9jYXRlIHZUTEIgc3BhY2UgZm9yICVwdlxuIiwgdik7CiAgICAgICAgICAgICBkb21haW5fY3Jh c2godi0+ZG9tYWluKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMjU4MSwx MCArMjU4MywxMCBAQCBzdGF0aWMgdm9pZCBzaF91cGRhdGVfcGFnaW5nX21vZGVzKHN0cnVjdCB2 Y3B1ICp2KQogCiAgICAgICAgICAgICAgICAgaWYgKCB2ICE9IGN1cnJlbnQgJiYgdmNwdV9ydW5u YWJsZSh2KSApCiAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICBTSEFET1df RVJST1IoIlNvbWUgdGhpcmQgcGFydHkgKCVwdikgaXMgY2hhbmdpbmcgIgotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgInRoaXMgSFZNIHZjcHUncyAoJXB2KSBwYWdpbmcgbW9kZSAi Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2hpbGUgaXQgaXMgcnVubmluZy5c biIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50LCB2KTsKKyAgICAg ICAgICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0VSUgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgIlNvbWUgdGhpcmQgcGFydHkgKCVwdikgaXMgY2hhbmdpbmcgdGhpcyBIVk0gdmNwdSdz IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAoJXB2KSBwYWdpbmcgbW9kZSB3aGlsZSBp dCBpcyBydW5uaW5nXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCwgdik7 CiAgICAgICAgICAgICAgICAgICAgIC8qIEl0J3Mgbm90IHNhZmUgdG8gZG8gdGhhdCBiZWNhdXNl IHdlIGNhbid0IGNoYW5nZQogICAgICAgICAgICAgICAgICAgICAgKiB0aGUgaG9zdCBDUjMgZm9y IGEgcnVubmluZyBkb21haW4gKi8KICAgICAgICAgICAgICAgICAgICAgZG9tYWluX2NyYXNoKHYt PmRvbWFpbik7CkBAIC0yOTAxLDEwICsyOTAzLDExIEBAIHZvaWQgc2hhZG93X3RlYXJkb3duKHN0 cnVjdCBkb21haW4gKmQsIGJvb2wgKnByZWVtcHRlZCkKICAgICAgICAgLyogQ29tcGxhaW4gaGVy ZSBpbiBjYXNlcyB3aGVyZSBzaGFkb3dfZnJlZV9wMm1fcGFnZSgpIHdvbid0LiAqLwogICAgICAg ICBlbHNlIGlmICggIXBhZ2VfZ2V0X293bmVyKHVucGFnZWRfcGFnZXRhYmxlKSAmJgogICAgICAg ICAgICAgICAgICAgISh1bnBhZ2VkX3BhZ2V0YWJsZS0+Y291bnRfaW5mbyAmIFBHQ19jb3VudF9t YXNrKSApCi0gICAgICAgICAgICBTSEFET1dfRVJST1IoImQlZDogT2RkIHVucGFnZWQgcHQgJSJQ UklfbWZuIiBjPSVseCB0PSUiUFJ0eXBlX2luZm8iXG4iLAotICAgICAgICAgICAgICAgICAgICAg ICAgIGQtPmRvbWFpbl9pZCwgbWZuX3gocGFnZV90b19tZm4odW5wYWdlZF9wYWdldGFibGUpKSwK LSAgICAgICAgICAgICAgICAgICAgICAgICB1bnBhZ2VkX3BhZ2V0YWJsZS0+Y291bnRfaW5mbywK LSAgICAgICAgICAgICAgICAgICAgICAgICB1bnBhZ2VkX3BhZ2V0YWJsZS0+dS5pbnVzZS50eXBl X2luZm8pOworICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19FUlIKKyAgICAgICAgICAgICAgICAg ICAiZCVkOiBPZGQgdW5wYWdlZCBwdCAlIlBSSV9tZm4iIGM9JWx4IHQ9JSJQUnR5cGVfaW5mbyJc biIsCisgICAgICAgICAgICAgICAgICAgZC0+ZG9tYWluX2lkLCBtZm5feChwYWdlX3RvX21mbih1 bnBhZ2VkX3BhZ2V0YWJsZSkpLAorICAgICAgICAgICAgICAgICAgIHVucGFnZWRfcGFnZXRhYmxl LT5jb3VudF9pbmZvLAorICAgICAgICAgICAgICAgICAgIHVucGFnZWRfcGFnZXRhYmxlLT51Lmlu dXNlLnR5cGVfaW5mbyk7CiAgICAgICAgIHNoYWRvd19mcmVlX3AybV9wYWdlKGQsIHVucGFnZWRf cGFnZXRhYmxlKTsKICAgICB9CiB9CkBAIC0zNDY4LDggKzM0NzEsOCBAQCBpbnQgc2hhZG93X2Rv bWN0bChzdHJ1Y3QgZG9tYWluICpkLAogICAgICAgICB7CiAgICAgICAgICAgICAvKiBDYW4ndCBz ZXQgdGhlIGFsbG9jYXRpb24gdG8gemVybyB1bmxlc3MgdGhlIGRvbWFpbiBzdG9wcyB1c2luZwog ICAgICAgICAgICAgICogc2hhZG93IHBhZ2V0YWJsZXMgZmlyc3QgKi8KLSAgICAgICAgICAgIFNI QURPV19FUlJPUigiQ2FuJ3Qgc2V0IHNoYWRvdyBhbGxvY2F0aW9uIHRvIHplcm8sIGRvbWFpbiAl dSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiIGlzIHN0aWxsIHVzaW5nIHNoYWRvd3MuXG4i LCBkLT5kb21haW5faWQpOworICAgICAgICAgICAgZHByaW50ayhYRU5MT0dfR19FUlIsICJDYW4n dCBzZXQgc2hhZG93IGFsbG9jYXRpb24gdG8gemVybywgIgorICAgICAgICAgICAgICAgICAgICAi ZCVkIGlzIHN0aWxsIHVzaW5nIHNoYWRvd3NcbiIsIGQtPmRvbWFpbl9pZCk7CiAgICAgICAgICAg ICBwYWdpbmdfdW5sb2NrKGQpOwogICAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7CiAgICAgICAg IH0KQEAgLTM0ODUsNyArMzQ4OCw2IEBAIGludCBzaGFkb3dfZG9tY3RsKHN0cnVjdCBkb21haW4g KmQsCiAgICAgICAgIHJldHVybiByYzsKIAogICAgIGRlZmF1bHQ6Ci0gICAgICAgIFNIQURPV19F UlJPUigiQmFkIHNoYWRvdyBvcCAldVxuIiwgc2MtPm9wKTsKICAgICAgICAgcmV0dXJuIC1FSU5W QUw7CiAgICAgfQogfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5j IGIveGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jCmluZGV4IGY5NzlkY2EuLmRkODZhYTEg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYworKysgYi94ZW4vYXJj aC94ODYvbW0vc2hhZG93L211bHRpLmMKQEAgLTIxNTUsNyArMjE1NSw3IEBAIHN0YXRpYyBpbnQg dmFsaWRhdGVfZ2w0ZShzdHJ1Y3QgdmNwdSAqdiwgdm9pZCAqbmV3X2dlLCBtZm5fdCBzbDRtZm4s IHZvaWQgKnNlKQogICAgICAgICAgICAgICAgICAgICAgICAgICBtZm5feChzbDRtZm4pLCBzaGFk b3dfaW5kZXgsIG5ld19zbDRlLmw0KTsKICAgICAgICAgICAgIGlmICggc2hhZG93X2w0ZV9nZXRf ZmxhZ3MobmV3X3NsNGUpICYgX1BBR0VfUFJFU0VOVCApCiAgICAgICAgICAgICB7Ci0gICAgICAg ICAgICAgICAgU0hBRE9XX0VSUk9SKCJvdXQtb2YtcmFuZ2UgbDRlIHVwZGF0ZVxuIik7CisgICAg ICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0VSUiAib3V0LW9mLXJhbmdlIGw0ZSB1cGRhdGVc biIpOwogICAgICAgICAgICAgICAgIHJlc3VsdCB8PSBTSEFET1dfU0VUX0VSUk9SOwogICAgICAg ICAgICAgfQogCkBAIC0yNDc4LDkgKzI0NzgsNyBAQCBzaF9tYXBfYW5kX3ZhbGlkYXRlX2dsNGUo c3RydWN0IHZjcHUgKnYsIG1mbl90IGdsNG1mbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2hhZG93X2w0X2luZGV4LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2 YWxpZGF0ZV9nbDRlKTsKICNlbHNlIC8vICEgR1VFU1RfUEFHSU5HX0xFVkVMUyA+PSA0Ci0gICAg U0hBRE9XX0VSUk9SKCJjYWxsZWQgaW4gd3JvbmcgcGFnaW5nIG1vZGUhXG4iKTsKLSAgICBCVUco KTsKLSAgICByZXR1cm4gMDsKKyAgICBCVUcoKTsgLyogQ2FsbGVkIGluIHdyb25nIHBhZ2luZyBt b2RlISAqLwogI2VuZGlmCiB9CiAKQEAgLTI0OTQsOSArMjQ5Miw3IEBAIHNoX21hcF9hbmRfdmFs aWRhdGVfZ2wzZShzdHJ1Y3QgdmNwdSAqdiwgbWZuX3QgZ2wzbWZuLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaGFkb3dfbDNfaW5kZXgsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHZhbGlkYXRlX2dsM2UpOwogI2Vsc2UgLy8gISBHVUVTVF9QQUdJTkdfTEVWRUxT ID49IDQKLSAgICBTSEFET1dfRVJST1IoImNhbGxlZCBpbiB3cm9uZyBwYWdpbmcgbW9kZSFcbiIp OwotICAgIEJVRygpOwotICAgIHJldHVybiAwOworICAgIEJVRygpOyAvKiBDYWxsZWQgaW4gd3Jv bmcgcGFnaW5nIG1vZGUhICovCiAjZW5kaWYKIH0KIApAQCAtMjUyMCw5ICsyNTE2LDcgQEAgc2hf bWFwX2FuZF92YWxpZGF0ZV9nbDJoZShzdHJ1Y3QgdmNwdSAqdiwgbWZuX3QgZ2wybWZuLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkb3dfbDJfaW5kZXgsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRlX2dsMmUpOwogI2Vsc2UgLyogTm9uLVBBRSBn dWVzdHMgZG9uJ3QgaGF2ZSBkaWZmZXJlbnQga2luZHMgb2YgbDIgdGFibGUgKi8KLSAgICBTSEFE T1dfRVJST1IoImNhbGxlZCBpbiB3cm9uZyBwYWdpbmcgbW9kZSFcbiIpOwotICAgIEJVRygpOwot ICAgIHJldHVybiAwOworICAgIEJVRygpOyAvKiBDYWxsZWQgaW4gd3JvbmcgcGFnaW5nIG1vZGUh ICovCiAjZW5kaWYKIH0KIApAQCAtMjk2Niw4ICsyOTYwLDggQEAgc3RhdGljIGludCBzaF9wYWdl X2ZhdWx0KHN0cnVjdCB2Y3B1ICp2LAogICAgICAqIGEgQlVHKCkgd2hlbiB3ZSB0cnkgdG8gdGFr ZSB0aGUgbG9jayBhZ2Fpbi4gKi8KICAgICBpZiAoIHVubGlrZWx5KHBhZ2luZ19sb2NrZWRfYnlf bWUoZCkpICkKICAgICB7Ci0gICAgICAgIFNIQURPV19FUlJPUigiUmVjdXJzaXZlIHNoYWRvdyBm YXVsdDogbG9jayB3YXMgdGFrZW4gYnkgJXNcbiIsCi0gICAgICAgICAgICAgICAgICAgICBkLT5h cmNoLnBhZ2luZy5sb2NrLmxvY2tlcl9mdW5jdGlvbik7CisgICAgICAgIHByaW50ayhYRU5MT0df R19FUlIgIlJlY3Vyc2l2ZSBzaGFkb3cgZmF1bHQ6IGxvY2sgdGFrZW4gYnkgJXNcbiIsCisgICAg ICAgICAgICAgICBkLT5hcmNoLnBhZ2luZy5sb2NrLmxvY2tlcl9mdW5jdGlvbik7CiAgICAgICAg IHJldHVybiAwOwogICAgIH0KIApAQCAtMzk1Miw3ICszOTQ2LDggQEAgc2hfc2V0X3RvcGxldmVs X3NoYWRvdyhzdHJ1Y3QgdmNwdSAqdiwKICAgICB9CiAgICAgZWxzZQogICAgIHsKLSAgICAgICAg U0hBRE9XX0VSUk9SKCJjYW4ndCBpbnN0YWxsICUjbHggYXMgdG9wbGV2ZWwgc2hhZG93XG4iLCBt Zm5feChzbWZuKSk7CisgICAgICAgIHByaW50ayhYRU5MT0dfR19FUlIgImNhbid0IGluc3RhbGwg JSJQUklfbWZuIiBhcyB0b3BsZXZlbCBzaGFkb3dcbiIsCisgICAgICAgICAgICAgICBtZm5feChz bWZuKSk7CiAgICAgICAgIGRvbWFpbl9jcmFzaChkKTsKICAgICAgICAgbmV3X2VudHJ5ID0gcGFn ZXRhYmxlX251bGwoKTsKICAgICB9CkBAIC0zOTcyLDcgKzM5NjcsNyBAQCBzaF9zZXRfdG9wbGV2 ZWxfc2hhZG93KHN0cnVjdCB2Y3B1ICp2LAogICAgICAgICAgKiBzaGFkb3cgYW5kIGl0J3Mgbm90 IHNhZmUgdG8gZnJlZSBpdCB5ZXQuICovCiAgICAgICAgIGlmICggIW1mbl90b19wYWdlKG9sZF9z bWZuKS0+dS5zaC5waW5uZWQgJiYgIXNoX3BpbihkLCBvbGRfc21mbikgKQogICAgICAgICB7Ci0g ICAgICAgICAgICBTSEFET1dfRVJST1IoImNhbid0IHJlLXBpbiAlI2x4XG4iLCBtZm5feChvbGRf c21mbikpOworICAgICAgICAgICAgcHJpbnRrKFhFTkxPR19HX0VSUiAiY2FuJ3QgcmUtcGluICUi UFJJX21mbiJcbiIsIG1mbl94KG9sZF9zbWZuKSk7CiAgICAgICAgICAgICBkb21haW5fY3Jhc2go ZCk7CiAgICAgICAgIH0KICAgICAgICAgc2hfcHV0X3JlZihkLCBvbGRfc21mbiwgMCk7CmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L3ByaXZhdGUuaCBiL3hlbi9hcmNoL3g4Ni9t bS9zaGFkb3cvcHJpdmF0ZS5oCmluZGV4IDY5MWJjZjYuLmExZmFlNTAgMTAwNjQ0Ci0tLSBhL3hl bi9hcmNoL3g4Ni9tbS9zaGFkb3cvcHJpdmF0ZS5oCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS9zaGFk b3cvcHJpdmF0ZS5oCkBAIC03NSw4ICs3NSw2IEBAIGV4dGVybiBpbnQgc2hhZG93X2F1ZGl0X2Vu YWJsZTsKIAogI2RlZmluZSBTSEFET1dfUFJJTlRLKF9mLCBfYS4uLikgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAogICAgIGRlYnVndHJhY2VfcHJpbnRrKCJzaDogJXMoKTog IiBfZiwgX19mdW5jX18sICMjX2EpCi0jZGVmaW5lIFNIQURPV19FUlJPUihfZiwgX2EuLi4pICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgcHJpbnRrKCJzaCBlcnJv cjogJXMoKTogIiBfZiwgX19mdW5jX18sICMjX2EpCiAjZGVmaW5lIFNIQURPV19ERUJVRyhmbGFn LCBfZiwgX2EuLi4pICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgZG8geyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAogICAgICAgICBpZiAoU0hBRE9XX0RFQlVHXyAjIyBmbGFnKSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXApAQCAtNTQ5LDggKzU0Nyw4IEBAIHN0YXRpYyBpbmxpbmUgdm9p ZCBzaF9wdXRfcmVmKHN0cnVjdCBkb21haW4gKmQsIG1mbl90IHNtZm4sIHBhZGRyX3QgZW50cnlf cGEpCiAKICAgICBpZiAoIHVubGlrZWx5KHggPT0gMCkgKQogICAgIHsKLSAgICAgICAgU0hBRE9X X0VSUk9SKCJzaGFkb3cgcmVmIHVuZGVyZmxvdywgc21mbj0lbHggb2M9JSNseCB0PSUjeFxuIiwK LSAgICAgICAgICAgICAgICAgICAgIG1mbl94KHNtZm4pLCBzcC0+dS5zaC5jb3VudCArIDBVTCwg c3AtPnUuc2gudHlwZSk7CisgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJzaGFkb3cgcmVmIHVu ZGVyZmxvdywgc21mbj0lIlBSSV9tZm4iIG9jPSUjbHggdD0lI3hcbiIsCisgICAgICAgICAgICAg ICBtZm5feChzbWZuKSwgc3AtPnUuc2guY291bnQgKyAwVUwsIHNwLT51LnNoLnR5cGUpOwogICAg ICAgICBCVUcoKTsKICAgICB9CiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaGFw LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2hhcC5oCmluZGV4IGM1ZDYwMzguLmI5NGJmYjQgMTAw NjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvaGFwLmgKKysrIGIveGVuL2luY2x1ZGUvYXNt LXg4Ni9oYXAuaApAQCAtMjcsOCArMjcsNiBAQAogCiAjZGVmaW5lIEhBUF9QUklOVEsoX2YsIF9h Li4uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgIGRlYnVn dHJhY2VfcHJpbnRrKCJoYXA6ICVzKCk6ICIgX2YsIF9fZnVuY19fLCAjI19hKQotI2RlZmluZSBI QVBfRVJST1IoX2YsIF9hLi4uKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKLSAgICBwcmludGsoImhhcCBlcnJvcjogJXMoKTogIiBfZiwgX19mdW5jX18sICMjX2Ep CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAv KiAgICAgICAgaGFwIGRvbWFpbiBsZXZlbCBmdW5jdGlvbnMgICAgICAgICAgICAqLwotLSAKMi4x LjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs