From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v8 1/9] x86/xpti: avoid copying L4 page table contents when possible Date: Wed, 18 Apr 2018 10:30:43 +0200 Message-ID: <20180418083051.8334-2-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 all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1f8iUX-0003NJ-Bg for xen-devel@lists.xenproject.org; Wed, 18 Apr 2018 08:31:01 +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 Rm9yIG1pdGlnYXRpb24gb2YgTWVsdGRvd24gdGhlIGN1cnJlbnQgTDQgcGFnZSB0YWJsZSBpcyBj b3BpZWQgdG8gdGhlCmNwdSBsb2NhbCByb290IHBhZ2UgdGFibGUgZWFjaCB0aW1lIGEgNjQgYml0 IHB2IGd1ZXN0IGlzIGVudGVyZWQuCgpDb3B5aW5nIGNhbiBiZSBhdm9pZGVkIGluIGNhc2VzIHdo ZXJlIHRoZSBndWVzdCBMNCBwYWdlIHRhYmxlIGhhc24ndApiZWVuIG1vZGlmaWVkIHdoaWxlIHJ1 bm5pbmcgdGhlIGh5cGVydmlzb3IsIGUuZy4gd2hlbiBoYW5kbGluZwppbnRlcnJ1cHRzIG9yIGFu eSBoeXBlcmNhbGwgbm90IG1vZGlmeWluZyB0aGUgTDQgcGFnZSB0YWJsZSBvciAlY3IzLgoKU28g YWRkIGEgcGVyLWNwdSBmbGFnIGluZGljYXRpbmcgd2hldGhlciB0aGUgY29weWluZyBzaG91bGQg YmUKcGVyZm9ybWVkIGFuZCBzZXQgdGhhdCBmbGFnIG9ubHkgd2hlbiBsb2FkaW5nIGEgbmV3ICVj cjMgb3IgbW9kaWZ5aW5nCnRoZSBMNCBwYWdlIHRhYmxlLiAgVGhpcyBpbmNsdWRlcyBzeW5jaHJv bml6YXRpb24gb2YgdGhlIGNwdSBsb2NhbApyb290IHBhZ2UgdGFibGUgd2l0aCBvdGhlciBjcHVz LCBzbyBhZGQgYSBzcGVjaWFsIHN5bmNocm9uaXphdGlvbiBmbGFnCmZvciB0aGF0IGNhc2UuCgpB IHNpbXBsZSBwZXJmb3JtYW5jZSBjaGVjayAoY29tcGlsaW5nIHRoZSBoeXBlcnZpc29yIHZpYSAi bWFrZSAtaiA0IikKaW4gZG9tMCB3aXRoIDQgdmNwdXMgc2hvd3MgYSBzaWduaWZpY2FudCBpbXBy b3ZlbWVudDoKCi0gcmVhbCB0aW1lIGRyb3BzIGZyb20gMTEyIHNlY29uZHMgdG8gMTAzIHNlY29u ZHMKLSBzeXN0ZW0gdGltZSBkcm9wcyBmcm9tIDE0MiBzZWNvbmRzIHRvIDEzMSBzZWNvbmRzCgpT aWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ClJldmlld2VkLWJ5 OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQpWODoKLSBtb3JlIHNoYWRvdyBj b2RlOiBzZXQgZmxhZyBvbiBhbGwgYWZmZWN0ZWQgY3B1cyAoVGltIERlZWdhbikKClY3OgotIGFk ZCBtaXNzaW5nIGZsYWcgc2V0dGluZyBpbiBzaGFkb3cgY29kZQoKVjY6Ci0gY29ycmVjdCBhbiBl cnJvciBmcm9tIHJlYmFzaW5nIHRvIHN0YWdpbmcgaW4gYXNzZW1ibHkgcGFydAoKVjQ6Ci0gbW92 ZSBzZXR0aW5nIG9mIHJvb3RfcGd0X2NoYW5nZWQgZmxhZyBpbiBmbHVzaF9hcmVhX2xvY2FsKCkg b3V0IG9mCiAgaXJxIGRpc2FibGVkIHNlY3Rpb24gKEphbiBCZXVsaWNoKQotIG1vdmUgc2V0dGlu ZyBvZiByb290X3BndF9jaGFuZ2VkIGluIG1ha2VfY3IzKCkgdG8gX3RvZ2dsZV9ndWVzdF9wdCgp CiAgKEphbiBCZXVsaWNoKQotIHJlbW92ZSBtb3N0IGNvbmRpdGlvbmFscyBpbiB3cml0ZV9wdGJh c2UoKSAoSmFuIEJldWxpY2gpCi0gZG9uJ3Qgc2V0IHJvb3RfcGd0X2NoYW5nZWQgaW4gZG9fbW11 X3VwZGF0ZSgpIGZvciBtb2RpZmljYXRpb24gb2YKICB0aGUgdXNlciBwYWdlIHRhYmxlIChKYW4g QmV1bGljaCkKClYzOgotIHNldCBmbGFnIGxvY2FsbHkgb25seSBpZiBhZmZlY3RlZCBMNCBpcyBh Y3RpdmUgKEphbiBCZXVsaWNoKQotIGFkZCBzZXR0aW5nIGZsYWcgdG8gZmx1c2hfYXJlYV9tYXNr KCkgKEphbiBCZXVsaWNoKQotIHNldCBmbGFnIGluIG1ha2VfY3IzKCkgb25seSBpZiBjYWxsZWQg Zm9yIGN1cnJlbnQgYWN0aXZlIHZjcHUKClRvIGJlIGFwcGxpZWQgb24gdG9wIG9mIEphbidzICJN ZWx0ZG93biBiYW5kLWFpZCBvdmVyaGVhZCByZWR1Y3Rpb24iCnNlcmllcwotLS0KIHhlbi9hcmNo L3g4Ni9mbHVzaHRsYi5jICAgICAgICAgICB8IDE2ICsrKysrKysrKysrKysrKysKIHhlbi9hcmNo L3g4Ni9tbS5jICAgICAgICAgICAgICAgICB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLQogeGVuL2FyY2gveDg2L21tL3NoYWRvdy9tdWx0aS5jICAgIHwgMTAgKysrKysr KysrKwogeGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jICAgICAgICAgIHwgIDIgKysKIHhlbi9hcmNo L3g4Ni9zbXAuYyAgICAgICAgICAgICAgICB8ICAyICstCiB4ZW4vYXJjaC94ODYveDg2XzY0L2Fz bS1vZmZzZXRzLmMgfCAgMSArCiB4ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMgICAgICAgfCAg OSArKysrKysrLS0KIHhlbi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oICAgICB8ICA4ICsrKysr KysrCiB4ZW4vaW5jbHVkZS9hc20teDg2L2ZsdXNodGxiLmggICAgfCAgNSArKysrKwogOSBmaWxl cyBjaGFuZ2VkLCA3MyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvZmx1c2h0bGIuYyBiL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCmluZGV4 IDhhN2E3NmI4ZmYuLmFkMTliYTBmNWQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9mbHVzaHRs Yi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9mbHVzaHRsYi5jCkBAIC04LDYgKzgsNyBAQAogICovCiAK ICNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KKyNpbmNsdWRlIDx4ZW4vc21wLmg+CiAjaW5jbHVkZSA8 eGVuL3NvZnRpcnEuaD4KICNpbmNsdWRlIDxhc20vZmx1c2h0bGIuaD4KICNpbmNsdWRlIDxhc20v cGFnZS5oPgpAQCAtMTYwLDUgKzE2MSwyMCBAQCB1bnNpZ25lZCBpbnQgZmx1c2hfYXJlYV9sb2Nh bChjb25zdCB2b2lkICp2YSwgdW5zaWduZWQgaW50IGZsYWdzKQogCiAgICAgbG9jYWxfaXJxX3Jl c3RvcmUoaXJxZmwpOwogCisgICAgaWYgKCBmbGFncyAmIEZMVVNIX1JPT1RfUEdUQkwgKQorICAg ICAgICBnZXRfY3B1X2luZm8oKS0+cm9vdF9wZ3RfY2hhbmdlZCA9IHRydWU7CisKICAgICByZXR1 cm4gZmxhZ3M7CiB9CisKK3ZvaWQgZmx1c2hfcm9vdF9wZ3RfbWFzayhjcHVtYXNrX3QgKm1hc2sp Cit7CisgICAgaW50IGNwdTsKKyAgICBzdHJ1Y3QgY3B1X2luZm8gKmNwdV9pbmZvOworCisgICAg Zm9yX2VhY2hfY3B1KGNwdSwgbWFzaykKKyAgICB7CisgICAgICAgIGNwdV9pbmZvID0gKHN0cnVj dCBjcHVfaW5mbyAqKShzdGFja19iYXNlW2NwdV0gKyBTVEFDS19TSVpFKSAtIDE7CisgICAgICAg IGNwdV9pbmZvLT5yb290X3BndF9jaGFuZ2VkID0gdHJ1ZTsKKyAgICB9Cit9CmRpZmYgLS1naXQg YS94ZW4vYXJjaC94ODYvbW0uYyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IDlmZTU1ODNmYzMu LjdkOTYwYzc0MmUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNo L3g4Ni9tbS5jCkBAIC01MDIsNiArNTAyLDcgQEAgdm9pZCBtYWtlX2NyMyhzdHJ1Y3QgdmNwdSAq diwgbWZuX3QgbWZuKQogCiB2b2lkIHdyaXRlX3B0YmFzZShzdHJ1Y3QgdmNwdSAqdikKIHsKKyAg ICBnZXRfY3B1X2luZm8oKS0+cm9vdF9wZ3RfY2hhbmdlZCA9IHRydWU7CiAgICAgd3JpdGVfY3Iz KHYtPmFyY2guY3IzKTsKIH0KIApAQCAtMzY5OSwxOCArMzcwMCwyNyBAQCBsb25nIGRvX21tdV91 cGRhdGUoCiAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAg ICAgcmMgPSBtb2RfbDRfZW50cnkodmEsIGw0ZV9mcm9tX2ludHB0ZShyZXEudmFsKSwgbWZuLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbWQgPT0gTU1VX1BUX1VQREFU RV9QUkVTRVJWRV9BRCwgdik7Ci0gICAgICAgICAgICAgICAgICAgIC8qCi0gICAgICAgICAgICAg ICAgICAgICAqIE5vIG5lZWQgdG8gc3luYyBpZiBhbGwgdXNlcyBvZiB0aGUgcGFnZSBjYW4gYmUg YWNjb3VudGVkCi0gICAgICAgICAgICAgICAgICAgICAqIHRvIHRoZSBwYWdlIGxvY2sgd2UgaG9s ZCwgaXRzIHBpbm5lZCBzdGF0dXMsIGFuZCB1c2VzIG9uCi0gICAgICAgICAgICAgICAgICAgICAq IHRoaXMgKHYpQ1BVLgotICAgICAgICAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgICAgICAg ICAgaWYgKCAhcmMgJiYgIWNwdV9oYXNfbm9feHB0aSAmJgotICAgICAgICAgICAgICAgICAgICAg ICAgICgocGFnZS0+dS5pbnVzZS50eXBlX2luZm8gJiBQR1RfY291bnRfbWFzaykgPgotICAgICAg ICAgICAgICAgICAgICAgICAgICAoMSArICEhKHBhZ2UtPnUuaW51c2UudHlwZV9pbmZvICYgUEdU X3Bpbm5lZCkgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhZ2V0YWJsZV9nZXRfcGZu KGN1cnItPmFyY2guZ3Vlc3RfdGFibGUpID09IG1mbikgKwotICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHBhZ2V0YWJsZV9nZXRfcGZuKGN1cnItPmFyY2guZ3Vlc3RfdGFibGVfdXNlcikgPT0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZm4pKSkgKQotICAgICAgICAgICAgICAgICAg ICAgICAgc3luY19ndWVzdCA9IHRydWU7CisgICAgICAgICAgICAgICAgICAgIGlmICggIXJjICYm ICFjcHVfaGFzX25vX3hwdGkgKQorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg ICAgICAgICAgICBib29sIGxvY2FsX2luX3VzZSA9IGZhbHNlOworCisgICAgICAgICAgICAgICAg ICAgICAgICBpZiAoIHBhZ2V0YWJsZV9nZXRfcGZuKGN1cnItPmFyY2guZ3Vlc3RfdGFibGUpID09 IG1mbiApCisgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbG9jYWxfaW5fdXNlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBn ZXRfY3B1X2luZm8oKS0+cm9vdF9wZ3RfY2hhbmdlZCA9IHRydWU7CisgICAgICAgICAgICAgICAg ICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgIC8qCisgICAgICAgICAgICAgICAg ICAgICAgICAgKiBObyBuZWVkIHRvIHN5bmMgaWYgYWxsIHVzZXMgb2YgdGhlIHBhZ2UgY2FuIGJl CisgICAgICAgICAgICAgICAgICAgICAgICAgKiBhY2NvdW50ZWQgdG8gdGhlIHBhZ2UgbG9jayB3 ZSBob2xkLCBpdHMgcGlubmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgKiBzdGF0dXMsIGFu ZCB1c2VzIG9uIHRoaXMgKHYpQ1BVLgorICAgICAgICAgICAgICAgICAgICAgICAgICovCisgICAg ICAgICAgICAgICAgICAgICAgICBpZiAoIChwYWdlLT51LmludXNlLnR5cGVfaW5mbyAmIFBHVF9j b3VudF9tYXNrKSA+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxICsgISEocGFnZS0+ dS5pbnVzZS50eXBlX2luZm8gJiBQR1RfcGlubmVkKSArCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAocGFnZXRhYmxlX2dldF9wZm4oY3Vyci0+YXJjaC5ndWVzdF90YWJsZV91c2VyKSA9 PQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1mbikgKyBsb2NhbF9pbl91c2UpICkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeW5jX2d1ZXN0ID0gdHJ1ZTsKKyAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICBicmVhazsKIAogICAgICAgICAgICAg ICAgIGNhc2UgUEdUX3dyaXRhYmxlX3BhZ2U6CkBAIC0zODI1LDcgKzM4MzUsNyBAQCBsb25nIGRv X21tdV91cGRhdGUoCiAKICAgICAgICAgY3B1bWFza19hbmRub3QobWFzaywgcHRfb3duZXItPmRp cnR5X2NwdW1hc2ssIGNwdW1hc2tfb2YoY3B1KSk7CiAgICAgICAgIGlmICggIWNwdW1hc2tfZW1w dHkobWFzaykgKQotICAgICAgICAgICAgZmx1c2hfbWFzayhtYXNrLCBGTFVTSF9UTEJfR0xPQkFM KTsKKyAgICAgICAgICAgIGZsdXNoX21hc2sobWFzaywgRkxVU0hfVExCX0dMT0JBTCB8IEZMVVNI X1JPT1RfUEdUQkwpOwogICAgIH0KIAogICAgIHBlcmZjX2FkZChudW1fcGFnZV91cGRhdGVzLCBp KTsKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS9zaGFkb3cvbXVsdGkuYyBiL3hlbi9hcmNo L3g4Ni9tbS9zaGFkb3cvbXVsdGkuYwppbmRleCA5YzNhZjMzMGVjLi41ZTc3OWJhYTUzIDEwMDY0 NAotLS0gYS94ZW4vYXJjaC94ODYvbW0vc2hhZG93L211bHRpLmMKKysrIGIveGVuL2FyY2gveDg2 L21tL3NoYWRvdy9tdWx0aS5jCkBAIC05NjYsNiArOTY2LDE2IEBAIHN0YXRpYyBpbnQgc2hhZG93 X3NldF9sNGUoc3RydWN0IGRvbWFpbiAqZCwKICAgICAgICAgfQogICAgICAgICBzaF9wdXRfcmVm KGQsIG9zbDNtZm4sIHBhZGRyKTsKICAgICB9CisKKyAgICBpZiAoICFjcHVfaGFzX25vX3hwdGkg KQorICAgICAgICAvKgorICAgICAgICAgKiBMYXp5IGZsdXNoaW5nIGlzIGVub3VnaDogZWl0aGVy IHdlIGRvIGEgVExCIGZsdXNoIHJpZ2h0IGFmdGVyd2FyZHMKKyAgICAgICAgICogd2hpY2ggd2ls bCBwaWNrIHVwIHRoZSBuZXcgcm9vdCBwYWdlIHRhYmxlIG9uIGFsbCBhZmZlY3RlZCBjcHVzCisg ICAgICAgICAqIG9yIGEgVExCIGZsdXNoIHdvbid0IGJlIG5lZWRlZCBhbmQgdGhlIHNhbWUgcmVh c29ucyBmb3IgdGhhdCBiZWluZworICAgICAgICAgKiBub3QgbmVjZXNzYXJ5IGFwcGx5IHRvIHRo ZSByb290IHBhZ2UgdGFibGUsIHRvby4KKyAgICAgICAgICovCisgICAgICAgIGZsdXNoX3Jvb3Rf cGd0X21hc2soZC0+ZGlydHlfY3B1bWFzayk7CisKICAgICByZXR1cm4gZmxhZ3M7CiB9CiAKZGlm ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi9kb21haW4uYyBiL3hlbi9hcmNoL3g4Ni9wdi9kb21h aW4uYwppbmRleCBhYzY1YmE0NjA5Li5iMWM0MDM3M2ZhIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYvcHYvZG9tYWluLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L2RvbWFpbi5jCkBAIC0yMTcsNiAr MjE3LDggQEAgc3RhdGljIHZvaWQgX3RvZ2dsZV9ndWVzdF9wdChzdHJ1Y3QgdmNwdSAqdikKIHsK ICAgICB2LT5hcmNoLmZsYWdzIF49IFRGX2tlcm5lbF9tb2RlOwogICAgIHVwZGF0ZV9jcjModik7 CisgICAgZ2V0X2NwdV9pbmZvKCktPnJvb3RfcGd0X2NoYW5nZWQgPSB0cnVlOworCiAgICAgLyog RG9uJ3QgZmx1c2ggdXNlciBnbG9iYWwgbWFwcGluZ3MgZnJvbSB0aGUgVExCLiBEb24ndCB0aWNr IFRMQiBjbG9jay4gKi8KICAgICBhc20gdm9sYXRpbGUgKCAibW92ICUwLCAlJWNyMyIgOiA6ICJy IiAodi0+YXJjaC5jcjMpIDogIm1lbW9yeSIgKTsKIApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2 L3NtcC5jIGIveGVuL2FyY2gveDg2L3NtcC5jCmluZGV4IDAzM2RkMDU5NTguLjYzZTgxOWNhMzgg MTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zbXAuYworKysgYi94ZW4vYXJjaC94ODYvc21wLmMK QEAgLTIwOCw3ICsyMDgsNyBAQCB2b2lkIGludmFsaWRhdGVfaW50ZXJydXB0KHN0cnVjdCBjcHVf dXNlcl9yZWdzICpyZWdzKQogICAgIGFja19BUElDX2lycSgpOwogICAgIHBlcmZjX2luY3IoaXBp cyk7CiAgICAgaWYgKCAoZmxhZ3MgJiBGTFVTSF9WQ1BVX1NUQVRFKSAmJiBfX3N5bmNfbG9jYWxf ZXhlY3N0YXRlKCkgKQotICAgICAgICBmbGFncyAmPSB+KEZMVVNIX1RMQiB8IEZMVVNIX1RMQl9H TE9CQUwpOworICAgICAgICBmbGFncyAmPSB+KEZMVVNIX1RMQiB8IEZMVVNIX1RMQl9HTE9CQUwg fCBGTFVTSF9ST09UX1BHVEJMKTsKICAgICBpZiAoIGZsYWdzICYgfihGTFVTSF9WQ1BVX1NUQVRF IHwgRkxVU0hfT1JERVJfTUFTSykgKQogICAgICAgICBmbHVzaF9hcmVhX2xvY2FsKGZsdXNoX3Zh LCBmbGFncyk7CiAgICAgY3B1bWFza19jbGVhcl9jcHUoc21wX3Byb2Nlc3Nvcl9pZCgpLCAmZmx1 c2hfY3B1bWFzayk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRz LmMgYi94ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMKaW5kZXggYTJmZWE5NGY0Yy4u OWUyYWVmYjAwZiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9hc20tb2Zmc2V0cy5j CisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYwpAQCAtMTQzLDYgKzE0Myw3 IEBAIHZvaWQgX19kdW1teV9fKHZvaWQpCiAgICAgT0ZGU0VUKENQVUlORk9fc2hhZG93X3NwZWNf Y3RybCwgc3RydWN0IGNwdV9pbmZvLCBzaGFkb3dfc3BlY19jdHJsKTsKICAgICBPRkZTRVQoQ1BV SU5GT191c2Vfc2hhZG93X3NwZWNfY3RybCwgc3RydWN0IGNwdV9pbmZvLCB1c2Vfc2hhZG93X3Nw ZWNfY3RybCk7CiAgICAgT0ZGU0VUKENQVUlORk9fYnRpX2lzdF9pbmZvLCBzdHJ1Y3QgY3B1X2lu Zm8sIGJ0aV9pc3RfaW5mbyk7CisgICAgT0ZGU0VUKENQVUlORk9fcm9vdF9wZ3RfY2hhbmdlZCwg c3RydWN0IGNwdV9pbmZvLCByb290X3BndF9jaGFuZ2VkKTsKICAgICBERUZJTkUoQ1BVSU5GT19z aXplb2YsIHNpemVvZihzdHJ1Y3QgY3B1X2luZm8pKTsKICAgICBCTEFOSygpOwogCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMgYi94ZW4vYXJjaC94ODYveDg2XzY0L2Vu dHJ5LlMKaW5kZXggNDVkOTg0MmQwOS4uZGQ0MjIyM2IyMCAxMDA2NDQKLS0tIGEveGVuL2FyY2gv eDg2L3g4Nl82NC9lbnRyeS5TCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50cnkuUwpAQCAt MTI5LDExICsxMjksMTUgQEAgcmVzdG9yZV9hbGxfZ3Vlc3Q6CiAgICAgICAgIG1vdiAgIFZDUFVf Y3IzKCVyYngpLCAlcjkKICAgICAgICAgR0VUX1NUQUNLX0VORChkeCkKICAgICAgICAgbW92ICAg U1RBQ0tfQ1BVSU5GT19GSUVMRChwdl9jcjMpKCVyZHgpLCAlcmRpCisgICAgICAgIHRlc3QgICVy ZGksICVyZGkKKyAgICAgICAganogICAgLkxyYWdfa2VlcF9jcjMKKyAgICAgICAgbW92ICAgJXJk aSwgJXJheAorICAgICAgICBjbXBiICAkMCwgU1RBQ0tfQ1BVSU5GT19GSUVMRChyb290X3BndF9j aGFuZ2VkKSglcmR4KQorICAgICAgICBqZSAgICAuTHJhZ19jb3B5X2RvbmUKKyAgICAgICAgbW92 YiAgJDAsIFNUQUNLX0NQVUlORk9fRklFTEQocm9vdF9wZ3RfY2hhbmdlZCkoJXJkeCkKICAgICAg ICAgbW92YWJzICRQQUREUl9NQVNLICYgUEFHRV9NQVNLLCAlcnNpCiAgICAgICAgIG1vdmFicyAk RElSRUNUTUFQX1ZJUlRfU1RBUlQsICVyY3gKLSAgICAgICAgbW92ICAgJXJkaSwgJXJheAogICAg ICAgICBhbmQgICAlcnNpLCAlcmRpCi0gICAgICAgIGp6ICAgIC5McmFnX2tlZXBfY3IzCiAgICAg ICAgIGFuZCAgICVyOSwgJXJzaQogICAgICAgICBhZGQgICAlcmN4LCAlcmRpCiAgICAgICAgIGFk ZCAgICVyY3gsICVyc2kKQEAgLTE0OCw2ICsxNTIsNyBAQCByZXN0b3JlX2FsbF9ndWVzdDoKICAg ICAgICAgc3ViICAgJChST09UX1BBR0VUQUJMRV9GSVJTVF9YRU5fU0xPVCAtIFwKICAgICAgICAg ICAgICAgICBST09UX1BBR0VUQUJMRV9MQVNUX1hFTl9TTE9UIC0gMSkgKiA4LCAlcmRpCiAgICAg ICAgIHJlcCBtb3ZzcQorLkxyYWdfY29weV9kb25lOgogICAgICAgICBtb3YgICBTVEFDS19DUFVJ TkZPX0ZJRUxEKGNyNCkoJXJkeCksICVyZGkKICAgICAgICAgbW92ICAgJXI5LCBTVEFDS19DUFVJ TkZPX0ZJRUxEKHhlbl9jcjMpKCVyZHgpCiAgICAgICAgIG1vdiAgICVyZGksICVyc2kKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oIGIveGVuL2luY2x1ZGUvYXNtLXg4 Ni9jdXJyZW50LmgKaW5kZXggM2EwZTFlZWYzNi4uZjI0OTFiNDQyMyAxMDA2NDQKLS0tIGEveGVu L2luY2x1ZGUvYXNtLXg4Ni9jdXJyZW50LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jdXJy ZW50LmgKQEAgLTU5LDYgKzU5LDE0IEBAIHN0cnVjdCBjcHVfaW5mbyB7CiAgICAgYm9vbCAgICAg ICAgIHVzZV9zaGFkb3dfc3BlY19jdHJsOwogICAgIHVpbnQ4X3QgICAgICBidGlfaXN0X2luZm87 CiAKKyAgICAvKgorICAgICAqIFRoZSBmb2xsb3dpbmcgZmllbGQgY29udHJvbHMgY29weWluZyBv ZiB0aGUgTDQgcGFnZSB0YWJsZSBvZiA2NC1iaXQKKyAgICAgKiBQViBndWVzdHMgdG8gdGhlIHBl ci1jcHUgcm9vdCBwYWdlIHRhYmxlIG9uIGVudGVyaW5nIHRoZSBndWVzdCBjb250ZXh0LgorICAg ICAqIElmIHNldCB0aGUgTDQgcGFnZSB0YWJsZSBpcyBiZWluZyBjb3BpZWQgdG8gdGhlIHJvb3Qg cGFnZSB0YWJsZSBhbmQKKyAgICAgKiB0aGUgZmllbGQgd2lsbCBiZSByZXNldC4KKyAgICAgKi8K KyAgICBib29sICAgICAgICAgcm9vdF9wZ3RfY2hhbmdlZDsKKwogICAgIHVuc2lnbmVkIGxvbmcg X19wYWQ7CiAgICAgLyogZ2V0X3N0YWNrX2JvdHRvbSgpIG11c3QgYmUgMTYtYnl0ZSBhbGlnbmVk ICovCiB9OwpkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9mbHVzaHRsYi5oIGIveGVu L2luY2x1ZGUvYXNtLXg4Ni9mbHVzaHRsYi5oCmluZGV4IDJjYWRlOWNiZmIuLjZiZjMzYTZmNWUg MTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvZmx1c2h0bGIuaAorKysgYi94ZW4vaW5j bHVkZS9hc20teDg2L2ZsdXNodGxiLmgKQEAgLTEwMyw2ICsxMDMsOCBAQCB2b2lkIHdyaXRlX2Ny Myh1bnNpZ25lZCBsb25nIGNyMyk7CiAjZGVmaW5lIEZMVVNIX1ZBX1ZBTElEICAgMHg4MDAKICAv KiBGbHVzaCBDUFUgc3RhdGUgKi8KICNkZWZpbmUgRkxVU0hfVkNQVV9TVEFURSAweDEwMDAKKyAv KiBGbHVzaCB0aGUgcGVyLWNwdSByb290IHBhZ2UgdGFibGUgKi8KKyNkZWZpbmUgRkxVU0hfUk9P VF9QR1RCTCAweDIwMDAKIAogLyogRmx1c2ggbG9jYWwgVExCcy9jYWNoZXMuICovCiB1bnNpZ25l ZCBpbnQgZmx1c2hfYXJlYV9sb2NhbChjb25zdCB2b2lkICp2YSwgdW5zaWduZWQgaW50IGZsYWdz KTsKQEAgLTEzNCw2ICsxMzYsOSBAQCB2b2lkIGZsdXNoX2FyZWFfbWFzayhjb25zdCBjcHVtYXNr X3QgKiwgY29uc3Qgdm9pZCAqdmEsIHVuc2lnbmVkIGludCBmbGFncyk7CiAjZGVmaW5lIGZsdXNo X3RsYl9vbmVfYWxsKHYpICAgICAgICAgICAgICAgICAgICBcCiAgICAgZmx1c2hfdGxiX29uZV9t YXNrKCZjcHVfb25saW5lX21hcCwgdikKIAorLyogTGF6eSBmbHVzaCBvZiB0aGUgcGVyLWNwdSBy b290IHBhZ2UgdGFibGUuICovCit2b2lkIGZsdXNoX3Jvb3RfcGd0X21hc2soY3B1bWFza190ICpt YXNrKTsKKwogc3RhdGljIGlubGluZSB2b2lkIGZsdXNoX3BhZ2VfdG9fcmFtKHVuc2lnbmVkIGxv bmcgbWZuLCBib29sIHN5bmNfaWNhY2hlKSB7fQogc3RhdGljIGlubGluZSBpbnQgaW52YWxpZGF0 ZV9kY2FjaGVfdmFfcmFuZ2UoY29uc3Qgdm9pZCAqcCwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSkKLS0gCjIuMTMuNgoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBt YWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMu eGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=