From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wei Liu Subject: [PATCH v5 12/23] x86/mm: move and rename map_ldt_shadow_page Date: Thu, 14 Sep 2017 13:58:41 +0100 Message-ID: <20170914125852.22129-13-wei.liu2@citrix.com> References: <20170914125852.22129-1-wei.liu2@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dsUCX-0008Ey-Do for xen-devel@lists.xenproject.org; Thu, 14 Sep 2017 13:29:05 +0000 In-Reply-To: <20170914125852.22129-1-wei.liu2@citrix.com> 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 , Wei Liu , Jan Beulich List-Id: xen-devel@lists.xenproject.org QWRkIHB2IHByZWZpeCB0byBpdC4gTW92ZSBpdCB0byBwdi9tbS5jLiBGaXggY2FsbCBzaXRlcy4K ClRha2UgdGhlIGNoYW5jZSB0byBjaGFuZ2UgdiB0byBjdXJyIGFuZCBkIHRvIGN1cnJkLgoKU2ln bmVkLW9mZi1ieTogV2VpIExpdSA8d2VpLmxpdTJAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94 ODYvbW0uYyAgICAgICAgICAgfCA3MyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvcHYvbW0uYyAgICAgICAgfCA3NSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9hcmNoL3g4Ni90cmFwcy5jICAg ICAgICB8ICA0ICstLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oICAgIHwgIDIgLS0KIHhlbi9p bmNsdWRlL2FzbS14ODYvcHYvbW0uaCB8ICA0ICsrKwogNSBmaWxlcyBjaGFuZ2VkLCA4MSBpbnNl cnRpb25zKCspLCA3NyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvbW0u YyBiL3hlbi9hcmNoL3g4Ni9tbS5jCmluZGV4IGJmZGJhMzQ0NjguLjhlMjVkMTU2MzEgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni9tbS5jCisrKyBiL3hlbi9hcmNoL3g4Ni9tbS5jCkBAIC01MjYs MjcgKzUyNiw2IEBAIHZvaWQgdXBkYXRlX2NyMyhzdHJ1Y3QgdmNwdSAqdikKICAgICBtYWtlX2Ny Myh2LCBjcjNfbWZuKTsKIH0KIAotLyoKLSAqIFJlYWQgdGhlIGd1ZXN0J3MgbDFlIHRoYXQgbWFw cyB0aGlzIGFkZHJlc3MsIGZyb20gdGhlIGtlcm5lbC1tb2RlCi0gKiBwYWdlIHRhYmxlcy4KLSAq Lwotc3RhdGljIGwxX3BnZW50cnlfdCBndWVzdF9nZXRfZWZmX2tlcm5fbDFlKHVuc2lnbmVkIGxv bmcgbGluZWFyKQotewotICAgIHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVudDsKLSAgICBjb25z dCBib29sIHVzZXJfbW9kZSA9ICEoY3Vyci0+YXJjaC5mbGFncyAmIFRGX2tlcm5lbF9tb2RlKTsK LSAgICBsMV9wZ2VudHJ5X3QgbDFlOwotCi0gICAgaWYgKCB1c2VyX21vZGUgKQotICAgICAgICB0 b2dnbGVfZ3Vlc3RfbW9kZShjdXJyKTsKLQotICAgIGwxZSA9IGd1ZXN0X2dldF9lZmZfbDFlKGxp bmVhcik7Ci0KLSAgICBpZiAoIHVzZXJfbW9kZSApCi0gICAgICAgIHRvZ2dsZV9ndWVzdF9tb2Rl KGN1cnIpOwotCi0gICAgcmV0dXJuIGwxZTsKLX0KLQogc3RhdGljIGlubGluZSB2b2lkIHBhZ2Vf c2V0X3RsYmZsdXNoX3RpbWVzdGFtcChzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlKQogewogICAgIC8q CkBAIC02MTUsNTggKzU5NCw2IEBAIHN0YXRpYyBpbnQgYWxsb2Nfc2VnZGVzY19wYWdlKHN0cnVj dCBwYWdlX2luZm8gKnBhZ2UpCiAgICAgcmV0dXJuIGkgPT0gNTEyID8gMCA6IC1FSU5WQUw7CiB9 CiAKLQotLyoKLSAqIE1hcCBhIGd1ZXN0J3MgTERUIHBhZ2UgKGNvdmVyaW5nIHRoZSBieXRlIGF0 IEBvZmZzZXQgZnJvbSBzdGFydCBvZiB0aGUgTERUKQotICogaW50byBYZW4ncyB2aXJ0dWFsIHJh bmdlLiAgUmV0dXJucyB0cnVlIGlmIHRoZSBtYXBwaW5nIGNoYW5nZWQsIGZhbHNlCi0gKiBvdGhl cndpc2UuCi0gKi8KLWJvb2wgbWFwX2xkdF9zaGFkb3dfcGFnZSh1bnNpZ25lZCBpbnQgb2Zmc2V0 KQotewotICAgIHN0cnVjdCB2Y3B1ICp2ID0gY3VycmVudDsKLSAgICBzdHJ1Y3QgZG9tYWluICpk ID0gdi0+ZG9tYWluOwotICAgIHN0cnVjdCBwYWdlX2luZm8gKnBhZ2U7Ci0gICAgbDFfcGdlbnRy eV90IGdsMWUsICpwbDFlOwotICAgIHVuc2lnbmVkIGxvbmcgbGluZWFyID0gdi0+YXJjaC5wdl92 Y3B1LmxkdF9iYXNlICsgb2Zmc2V0OwotCi0gICAgQlVHX09OKHVubGlrZWx5KGluX2lycSgpKSk7 Ci0KLSAgICAvKgotICAgICAqIEhhcmR3YXJlIGxpbWl0IGNoZWNraW5nIHNob3VsZCBndWFyYW50 ZWUgdGhpcyBwcm9wZXJ0eS4gIE5CLiBUaGlzIGlzCi0gICAgICogc2FmZSBhcyB1cGRhdGVzIHRv IHRoZSBMRFQgY2FuIG9ubHkgYmUgbWFkZSBieSBNTVVFWFRfU0VUX0xEVCB0byB0aGUKLSAgICAg KiBjdXJyZW50IHZjcHUsIGFuZCB2Y3B1X3Jlc2V0KCkgd2lsbCBibG9jayB1bnRpbCB0aGlzIHZj cHUgaGFzIGJlZW4KLSAgICAgKiBkZXNjaGVkdWxlZCBiZWZvcmUgY29udGludWluZy4KLSAgICAg Ki8KLSAgICBBU1NFUlQoKG9mZnNldCA+PiAzKSA8PSB2LT5hcmNoLnB2X3ZjcHUubGR0X2VudHMp OwotCi0gICAgaWYgKCBpc19wdl8zMmJpdF9kb21haW4oZCkgKQotICAgICAgICBsaW5lYXIgPSAo dWludDMyX3QpbGluZWFyOwotCi0gICAgZ2wxZSA9IGd1ZXN0X2dldF9lZmZfa2Vybl9sMWUobGlu ZWFyKTsKLSAgICBpZiAoIHVubGlrZWx5KCEobDFlX2dldF9mbGFncyhnbDFlKSAmIF9QQUdFX1BS RVNFTlQpKSApCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIHBhZ2UgPSBnZXRfcGFnZV9m cm9tX2dmbihkLCBsMWVfZ2V0X3BmbihnbDFlKSwgTlVMTCwgUDJNX0FMTE9DKTsKLSAgICBpZiAo IHVubGlrZWx5KCFwYWdlKSApCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIGlmICggdW5s aWtlbHkoIWdldF9wYWdlX3R5cGUocGFnZSwgUEdUX3NlZ19kZXNjX3BhZ2UpKSApCi0gICAgewot ICAgICAgICBwdXRfcGFnZShwYWdlKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLQot ICAgIHBsMWUgPSAmcHZfbGR0X3B0ZXModilbb2Zmc2V0ID4+IFBBR0VfU0hJRlRdOwotICAgIGwx ZV9hZGRfZmxhZ3MoZ2wxZSwgX1BBR0VfUlcpOwotCi0gICAgc3Bpbl9sb2NrKCZ2LT5hcmNoLnB2 X3ZjcHUuc2hhZG93X2xkdF9sb2NrKTsKLSAgICBsMWVfd3JpdGUocGwxZSwgZ2wxZSk7Ci0gICAg di0+YXJjaC5wdl92Y3B1LnNoYWRvd19sZHRfbWFwY250Kys7Ci0gICAgc3Bpbl91bmxvY2soJnYt PmFyY2gucHZfdmNwdS5zaGFkb3dfbGR0X2xvY2spOwotCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0K IHN0YXRpYyBpbnQgZ2V0X3BhZ2VfYW5kX3R5cGVfZnJvbV9tZm4oCiAgICAgbWZuX3QgbWZuLCB1 bnNpZ25lZCBsb25nIHR5cGUsIHN0cnVjdCBkb21haW4gKmQsCiAgICAgaW50IHBhcnRpYWwsIGlu dCBwcmVlbXB0aWJsZSkKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9wdi9tbS5jIGIveGVuL2Fy Y2gveDg2L3B2L21tLmMKaW5kZXggNGJmYTMyMjc4OC4uNjg5MGU4MGVmZCAxMDA2NDQKLS0tIGEv eGVuL2FyY2gveDg2L3B2L21tLmMKKysrIGIveGVuL2FyY2gveDg2L3B2L21tLmMKQEAgLTIyLDYg KzIyLDkgQEAKICNpbmNsdWRlIDx4ZW4vZ3Vlc3RfYWNjZXNzLmg+CiAKICNpbmNsdWRlIDxhc20v Y3VycmVudC5oPgorI2luY2x1ZGUgPGFzbS9wMm0uaD4KKworI2luY2x1ZGUgIm1tLmgiCiAKIC8q IE92ZXJyaWRlIG1hY3JvcyBmcm9tIGFzbS9wYWdlLmggdG8gbWFrZSB0aGVtIHdvcmsgd2l0aCBt Zm5fdCAqLwogI3VuZGVmIG1mbl90b19wYWdlCkBAIC01OCw2ICs2MSw3OCBAQCBsMV9wZ2VudHJ5 X3QgKm1hcF9ndWVzdF9sMWUodW5zaWduZWQgbG9uZyBsaW5lYXIsIG1mbl90ICpnbDFtZm4pCiAg ICAgcmV0dXJuIChsMV9wZ2VudHJ5X3QgKiltYXBfZG9tYWluX3BhZ2UoKmdsMW1mbikgKyBsMV90 YWJsZV9vZmZzZXQobGluZWFyKTsKIH0KIAorLyoKKyAqIFJlYWQgdGhlIGd1ZXN0J3MgbDFlIHRo YXQgbWFwcyB0aGlzIGFkZHJlc3MsIGZyb20gdGhlIGtlcm5lbC1tb2RlCisgKiBwYWdlIHRhYmxl cy4KKyAqLworc3RhdGljIGwxX3BnZW50cnlfdCBndWVzdF9nZXRfZWZmX2tlcm5fbDFlKHVuc2ln bmVkIGxvbmcgbGluZWFyKQoreworICAgIHN0cnVjdCB2Y3B1ICpjdXJyID0gY3VycmVudDsKKyAg ICBjb25zdCBib29sIHVzZXJfbW9kZSA9ICEoY3Vyci0+YXJjaC5mbGFncyAmIFRGX2tlcm5lbF9t b2RlKTsKKyAgICBsMV9wZ2VudHJ5X3QgbDFlOworCisgICAgaWYgKCB1c2VyX21vZGUgKQorICAg ICAgICB0b2dnbGVfZ3Vlc3RfbW9kZShjdXJyKTsKKworICAgIGwxZSA9IGd1ZXN0X2dldF9lZmZf bDFlKGxpbmVhcik7CisKKyAgICBpZiAoIHVzZXJfbW9kZSApCisgICAgICAgIHRvZ2dsZV9ndWVz dF9tb2RlKGN1cnIpOworCisgICAgcmV0dXJuIGwxZTsKK30KKworLyoKKyAqIE1hcCBhIGd1ZXN0 J3MgTERUIHBhZ2UgKGNvdmVyaW5nIHRoZSBieXRlIGF0IEBvZmZzZXQgZnJvbSBzdGFydCBvZiB0 aGUgTERUKQorICogaW50byBYZW4ncyB2aXJ0dWFsIHJhbmdlLiAgUmV0dXJucyB0cnVlIGlmIHRo ZSBtYXBwaW5nIGNoYW5nZWQsIGZhbHNlCisgKiBvdGhlcndpc2UuCisgKi8KK2Jvb2wgcHZfbWFw X2xkdF9zaGFkb3dfcGFnZSh1bnNpZ25lZCBpbnQgb2Zmc2V0KQoreworICAgIHN0cnVjdCB2Y3B1 ICpjdXJyID0gY3VycmVudDsKKyAgICBzdHJ1Y3QgZG9tYWluICpjdXJyZCA9IGN1cnItPmRvbWFp bjsKKyAgICBzdHJ1Y3QgcGFnZV9pbmZvICpwYWdlOworICAgIGwxX3BnZW50cnlfdCBnbDFlLCAq cGwxZTsKKyAgICB1bnNpZ25lZCBsb25nIGxpbmVhciA9IGN1cnItPmFyY2gucHZfdmNwdS5sZHRf YmFzZSArIG9mZnNldDsKKworICAgIEJVR19PTih1bmxpa2VseShpbl9pcnEoKSkpOworCisgICAg LyoKKyAgICAgKiBIYXJkd2FyZSBsaW1pdCBjaGVja2luZyBzaG91bGQgZ3VhcmFudGVlIHRoaXMg cHJvcGVydHkuICBOQi4gVGhpcyBpcworICAgICAqIHNhZmUgYXMgdXBkYXRlcyB0byB0aGUgTERU IGNhbiBvbmx5IGJlIG1hZGUgYnkgTU1VRVhUX1NFVF9MRFQgdG8gdGhlCisgICAgICogY3VycmVu dCB2Y3B1LCBhbmQgdmNwdV9yZXNldCgpIHdpbGwgYmxvY2sgdW50aWwgdGhpcyB2Y3B1IGhhcyBi ZWVuCisgICAgICogZGVzY2hlZHVsZWQgYmVmb3JlIGNvbnRpbnVpbmcuCisgICAgICovCisgICAg QVNTRVJUKChvZmZzZXQgPj4gMykgPD0gY3Vyci0+YXJjaC5wdl92Y3B1LmxkdF9lbnRzKTsKKwor ICAgIGlmICggaXNfcHZfMzJiaXRfZG9tYWluKGN1cnJkKSApCisgICAgICAgIGxpbmVhciA9ICh1 aW50MzJfdClsaW5lYXI7CisKKyAgICBnbDFlID0gZ3Vlc3RfZ2V0X2VmZl9rZXJuX2wxZShsaW5l YXIpOworICAgIGlmICggdW5saWtlbHkoIShsMWVfZ2V0X2ZsYWdzKGdsMWUpICYgX1BBR0VfUFJF U0VOVCkpICkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgcGFnZSA9IGdldF9wYWdlX2Zy b21fZ2ZuKGN1cnJkLCBsMWVfZ2V0X3BmbihnbDFlKSwgTlVMTCwgUDJNX0FMTE9DKTsKKyAgICBp ZiAoIHVubGlrZWx5KCFwYWdlKSApCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGlmICgg dW5saWtlbHkoIWdldF9wYWdlX3R5cGUocGFnZSwgUEdUX3NlZ19kZXNjX3BhZ2UpKSApCisgICAg eworICAgICAgICBwdXRfcGFnZShwYWdlKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K KworICAgIHBsMWUgPSAmcHZfbGR0X3B0ZXMoY3Vycilbb2Zmc2V0ID4+IFBBR0VfU0hJRlRdOwor ICAgIGwxZV9hZGRfZmxhZ3MoZ2wxZSwgX1BBR0VfUlcpOworCisgICAgc3Bpbl9sb2NrKCZjdXJy LT5hcmNoLnB2X3ZjcHUuc2hhZG93X2xkdF9sb2NrKTsKKyAgICBsMWVfd3JpdGUocGwxZSwgZ2wx ZSk7CisgICAgY3Vyci0+YXJjaC5wdl92Y3B1LnNoYWRvd19sZHRfbWFwY250Kys7CisgICAgc3Bp bl91bmxvY2soJmN1cnItPmFyY2gucHZfdmNwdS5zaGFkb3dfbGR0X2xvY2spOworCisgICAgcmV0 dXJuIHRydWU7Cit9CisKIC8qCiAgKiBMb2NhbCB2YXJpYWJsZXM6CiAgKiBtb2RlOiBDCmRpZmYg LS1naXQgYS94ZW4vYXJjaC94ODYvdHJhcHMuYyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCmluZGV4 IGQ4NGRiNGFjZGEuLmQ4ZmVlZjI5NDIgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni90cmFwcy5j CisrKyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jCkBAIC0xMTAxLDcgKzExMDEsNyBAQCBzdGF0aWMg aW50IGhhbmRsZV9nZHRfbGR0X21hcHBpbmdfZmF1bHQodW5zaWduZWQgbG9uZyBvZmZzZXQsCiAg ICAgLyoKICAgICAgKiBJZiB0aGUgZmF1bHQgaXMgaW4gYW5vdGhlciB2Y3B1J3MgYXJlYSwgaXQg Y2Fubm90IGJlIGR1ZSB0bwogICAgICAqIGEgR0RUL0xEVCBkZXNjcmlwdG9yIGxvYWQuIFRodXMg d2UgY2FuIHJlYXNvbmFibHkgZXhpdCBpbW1lZGlhdGVseSwgYW5kCi0gICAgICogaW5kZWVkIHdl IGhhdmUgdG8gc2luY2UgbWFwX2xkdF9zaGFkb3dfcGFnZSgpIHdvcmtzIGNvcnJlY3RseSBvbmx5 IG9uCisgICAgICogaW5kZWVkIHdlIGhhdmUgdG8gc2luY2UgcHZfbWFwX2xkdF9zaGFkb3dfcGFn ZSgpIHdvcmtzIGNvcnJlY3RseSBvbmx5IG9uCiAgICAgICogYWNjZXNzZXMgdG8gYSB2Y3B1J3Mg b3duIGFyZWEuCiAgICAgICovCiAgICAgaWYgKCB2Y3B1X2FyZWEgIT0gY3Vyci0+dmNwdV9pZCAp CkBAIC0xMTEzLDcgKzExMTMsNyBAQCBzdGF0aWMgaW50IGhhbmRsZV9nZHRfbGR0X21hcHBpbmdf ZmF1bHQodW5zaWduZWQgbG9uZyBvZmZzZXQsCiAgICAgaWYgKCBsaWtlbHkoaXNfbGR0X2FyZWEp ICkKICAgICB7CiAgICAgICAgIC8qIExEVCBmYXVsdDogQ29weSBhIG1hcHBpbmcgZnJvbSB0aGUg Z3Vlc3QncyBMRFQsIGlmIGl0IGlzIHZhbGlkLiAqLwotICAgICAgICBpZiAoIGxpa2VseShtYXBf bGR0X3NoYWRvd19wYWdlKG9mZnNldCkpICkKKyAgICAgICAgaWYgKCBsaWtlbHkocHZfbWFwX2xk dF9zaGFkb3dfcGFnZShvZmZzZXQpKSApCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICggZ3Vl c3RfbW9kZShyZWdzKSApCiAgICAgICAgICAgICAgICAgdHJhY2VfdHJhcF90d29fYWRkcihUUkNf UFZfR0RUX0xEVF9NQVBQSU5HX0ZBVUxULApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvYXNtLXg4 Ni9tbS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9tbS5oCmluZGV4IGE0OGQ3NWQ0MzQuLjhhNTZi ZWQ0NTQgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYvbW0uaAorKysgYi94ZW4vaW5j bHVkZS9hc20teDg2L21tLmgKQEAgLTU2Miw4ICs1NjIsNiBAQCBsb25nIHN1YmFyY2hfbWVtb3J5 X29wKHVuc2lnbmVkIGxvbmcgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZyk7 CiBpbnQgY29tcGF0X2FyY2hfbWVtb3J5X29wKHVuc2lnbmVkIGxvbmcgY21kLCBYRU5fR1VFU1Rf SEFORExFX1BBUkFNKHZvaWQpKTsKIGludCBjb21wYXRfc3ViYXJjaF9tZW1vcnlfb3AoaW50IG9w LCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpKTsKIAotYm9vbCBtYXBfbGR0X3NoYWRvd19w YWdlKHVuc2lnbmVkIGludCk7Ci0KICNkZWZpbmUgTklMKHR5cGUpICgodHlwZSAqKS1zaXplb2Yo dHlwZSkpCiAjZGVmaW5lIElTX05JTChwdHIpICghKCh1aW50cHRyX3QpKHB0cikgKyBzaXplb2Yo KihwdHIpKSkpCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvcHYvbW0uaCBiL3hl bi9pbmNsdWRlL2FzbS14ODYvcHYvbW0uaAppbmRleCAzY2EyNGNjNzBhLi40NzIyM2UzOGViIDEw MDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3B2L21tLmgKKysrIGIveGVuL2luY2x1ZGUv YXNtLXg4Ni9wdi9tbS5oCkBAIC0yOCw2ICsyOCw4IEBAIGludCBwdl9yb19wYWdlX2ZhdWx0KHVu c2lnbmVkIGxvbmcgYWRkciwgc3RydWN0IGNwdV91c2VyX3JlZ3MgKnJlZ3MpOwogbG9uZyBwdl9z ZXRfZ2R0KHN0cnVjdCB2Y3B1ICpkLCB1bnNpZ25lZCBsb25nICpmcmFtZXMsIHVuc2lnbmVkIGlu dCBlbnRyaWVzKTsKIHZvaWQgcHZfZGVzdHJveV9nZHQoc3RydWN0IHZjcHUgKmQpOwogCitib29s IHB2X21hcF9sZHRfc2hhZG93X3BhZ2UodW5zaWduZWQgaW50IG9mZik7CisKICNlbHNlCiAKICNp bmNsdWRlIDx4ZW4vZXJybm8uaD4KQEAgLTQzLDYgKzQ1LDggQEAgc3RhdGljIGlubGluZSBsb25n IHB2X3NldF9nZHQoc3RydWN0IHZjcHUgKmQsIHVuc2lnbmVkIGxvbmcgKmZyYW1lcywKIHsgcmV0 dXJuIC1FSU5WQUw7IH0KIHN0YXRpYyBpbmxpbmUgdm9pZCBwdl9kZXN0cm95X2dkdChzdHJ1Y3Qg dmNwdSAqZCkge30KIAorc3RhdGljIGlubGluZSBib29sIHB2X21hcF9sZHRfc2hhZG93X3BhZ2Uo dW5zaWduZWQgaW50IG9mZikgeyByZXR1cm4gZmFsc2U7IH0KKwogI2VuZGlmCiAKICNlbmRpZiAv KiBfX1g4Nl9QVl9NTV9IX18gKi8KLS0gCjIuMTEuMAoKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVs QGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=