From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH 1/4] xen/tmem: Switch to using bool Date: Wed, 28 Jun 2017 09:53:18 -0400 Message-ID: <20170628135318.GD27370@char.us.oracle.com> References: <1498648582-15521-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: Content-Disposition: inline In-Reply-To: <1498648582-15521-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andrew Cooper Cc: Xen-devel List-Id: xen-devel@lists.xenproject.org T24gV2VkLCBKdW4gMjgsIDIwMTcgYXQgMTI6MTY6MTlQTSArMDEwMCwgQW5kcmV3IENvb3BlciB3 cm90ZToKPiAgKiBEcm9wIHJlZHVuZGFudCBpbml0aWFsaXNlcnMKPiAgKiBTdHlsZSBjb3JyZWN0 aW9ucyB3aGlsZSBjaGFuZ2luZyBjbGllbnRfb3Zlcl9xdW90YSgpCj4gICogRHJvcCBhbGwgd3Jp dGUtb25seSBib29scyBmcm9tIGRvX3RtZW1fb3AoKQoKcy93cml0ZS1vbmx5L3VzZWxlc3Mgd3Jp dGUtb25seS8KCj4gCj4gU2lnbmVkLW9mZi1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3Bl cjNAY2l0cml4LmNvbT4KClJldmlld2VkLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJh ZC53aWxrQG9yYWNsZS5jb20+Cj4gLS0tCj4gQ0M6IEtvbnJhZCBSemVzenV0ZWsgV2lsayA8a29u cmFkLndpbGtAb3JhY2xlLmNvbT4KPiAtLS0KPiAgeGVuL2NvbW1vbi90bWVtLmMgICAgICAgICAg fCAzOSArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgeGVuL2NvbW1v bi90bWVtX2NvbnRyb2wuYyAgfCAxNiArKysrKysrKy0tLS0tLS0tCj4gIHhlbi9jb21tb24vdG1l bV94ZW4uYyAgICAgIHwgMTIgKysrKysrLS0tLS0tCj4gIHhlbi9pbmNsdWRlL3hlbi90bWVtX3hl bi5oIHwgMjQgKysrKysrKysrKysrLS0tLS0tLS0tLS0tCj4gIDQgZmlsZXMgY2hhbmdlZCwgNDIg aW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21t b24vdG1lbS5jIGIveGVuL2NvbW1vbi90bWVtLmMKPiBpbmRleCAzMDZkZGE2Li5jOTU1Y2Y3IDEw MDY0NAo+IC0tLSBhL3hlbi9jb21tb24vdG1lbS5jCj4gKysrIGIveGVuL2NvbW1vbi90bWVtLmMK PiBAQCAtNzEsNyArNzEsNyBAQCBzdHJ1Y3QgdG1lbV9wYWdlX2Rlc2NyaXB0b3Igewo+ICAgICAg cGFnZXNpemVfdCBzaXplOyAvKiAwID09IFBBR0VfU0laRSAocGZwKSwgLTEgPT0gZGF0YSBpbnZh bGlkLAo+ICAgICAgICAgICAgICAgICAgICAgIGVsc2UgY29tcHJlc3NlZCBkYXRhIChjZGF0YSku ICovCj4gICAgICB1aW50MzJfdCBpbmRleDsKPiAtICAgIGJvb2xfdCBldmljdGlvbl9hdHRlbXB0 ZWQ7ICAvKiBDSEFOR0UgVE8gbGlmZXRpbWVzPyAoc2V0dGFibGUpLiAqLwo+ICsgICAgYm9vbCBl dmljdGlvbl9hdHRlbXB0ZWQ7ICAvKiBDSEFOR0UgVE8gbGlmZXRpbWVzPyAoc2V0dGFibGUpLiAq Lwo+ICAgICAgdW5pb24gewo+ICAgICAgICAgIHN0cnVjdCBwYWdlX2luZm8gKnBmcDsgIC8qIFBh Z2UgZnJhbWUgcG9pbnRlci4gKi8KPiAgICAgICAgICBjaGFyICpjZGF0YTsgLyogQ29tcHJlc3Nl ZCBkYXRhLiAqLwo+IEBAIC04ODQsMzkgKzg4NCw0MSBAQCBzdGF0aWMgdm9pZCBjbGllbnRfZmx1 c2goc3RydWN0IGNsaWVudCAqY2xpZW50KQo+ICAgICAgY2xpZW50X2ZyZWUoY2xpZW50KTsKPiAg fQo+ICAKPiAtc3RhdGljIGJvb2xfdCBjbGllbnRfb3Zlcl9xdW90YShzdHJ1Y3QgY2xpZW50ICpj bGllbnQpCj4gK3N0YXRpYyBib29sIGNsaWVudF9vdmVyX3F1b3RhKGNvbnN0IHN0cnVjdCBjbGll bnQgKmNsaWVudCkKPiAgewo+ICAgICAgaW50IHRvdGFsID0gX2F0b21pY19yZWFkKHRtZW1fZ2xv YmFsLmNsaWVudF93ZWlnaHRfdG90YWwpOwo+ICAKPiAgICAgIEFTU0VSVChjbGllbnQgIT0gTlVM TCk7Cj4gICAgICBpZiAoICh0b3RhbCA9PSAwKSB8fCAoY2xpZW50LT5pbmZvLndlaWdodCA9PSAw KSB8fAo+ICAgICAgICAgICAgKGNsaWVudC0+ZXBoX2NvdW50ID09IDApICkKPiAtICAgICAgICBy ZXR1cm4gMDsKPiAtICAgIHJldHVybiAoICgodG1lbV9nbG9iYWwuZXBoX2NvdW50KjEwMEwpIC8g Y2xpZW50LT5lcGhfY291bnQgKSA+Cj4gLSAgICAgICAgICAgICAoKHRvdGFsKjEwMEwpIC8gY2xp ZW50LT5pbmZvLndlaWdodCkgKTsKPiArICAgICAgICByZXR1cm4gZmFsc2U7Cj4gKwo+ICsgICAg cmV0dXJuICgoKHRtZW1fZ2xvYmFsLmVwaF9jb3VudCAqIDEwMEwpIC8gY2xpZW50LT5lcGhfY291 bnQpID4KPiArICAgICAgICAgICAgKCh0b3RhbCAqIDEwMEwpIC8gY2xpZW50LT5pbmZvLndlaWdo dCkpOwo+ICB9Cj4gIAo+ICAvKioqKioqKioqKioqIE1FTU9SWSBSRVZPQ0FUSU9OIFJPVVRJTkVT ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCj4gIAo+IC1zdGF0aWMgYm9vbF90IHRt ZW1fdHJ5X3RvX2V2aWN0X3BncChzdHJ1Y3QgdG1lbV9wYWdlX2Rlc2NyaXB0b3IgKnBncCwgYm9v bF90ICpob2xkX3Bvb2xfcndsb2NrKQo+ICtzdGF0aWMgYm9vbCB0bWVtX3RyeV90b19ldmljdF9w Z3Aoc3RydWN0IHRtZW1fcGFnZV9kZXNjcmlwdG9yICpwZ3AsCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBib29sICpob2xkX3Bvb2xfcndsb2NrKQo+ICB7Cj4gICAgICBzdHJ1 Y3QgdG1lbV9vYmplY3Rfcm9vdCAqb2JqID0gcGdwLT51cy5vYmo7Cj4gICAgICBzdHJ1Y3QgdG1l bV9wb29sICpwb29sID0gb2JqLT5wb29sOwo+ICAKPiAgICAgIGlmICggcG9vbC0+aXNfZHlpbmcg KQo+IC0gICAgICAgIHJldHVybiAwOwo+ICsgICAgICAgIHJldHVybiBmYWxzZTsKPiAgICAgIGlm ICggc3Bpbl90cnlsb2NrKCZvYmotPm9ial9zcGlubG9jaykgKQo+ICAgICAgewo+ICAgICAgICAg IGlmICggb2JqLT5wZ3BfY291bnQgPiAxICkKPiAtICAgICAgICAgICAgcmV0dXJuIDE7Cj4gKyAg ICAgICAgICAgIHJldHVybiB0cnVlOwo+ICAgICAgICAgIGlmICggd3JpdGVfdHJ5bG9jaygmcG9v bC0+cG9vbF9yd2xvY2spICkKPiAgICAgICAgICB7Cj4gICAgICAgICAgICAgICpob2xkX3Bvb2xf cndsb2NrID0gMTsKPiAtICAgICAgICAgICAgcmV0dXJuIDE7Cj4gKyAgICAgICAgICAgIHJldHVy biB0cnVlOwo+ICAgICAgICAgIH0KPiAgICAgICAgICBzcGluX3VubG9jaygmb2JqLT5vYmpfc3Bp bmxvY2spOwo+ICAgICAgfQo+IC0gICAgcmV0dXJuIDA7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4g IH0KPiAgCj4gIGludCB0bWVtX2V2aWN0KHZvaWQpCj4gQEAgLTkyNiw3ICs5MjgsNyBAQCBpbnQg dG1lbV9ldmljdCh2b2lkKQo+ICAgICAgc3RydWN0IHRtZW1fb2JqZWN0X3Jvb3QgKm9iajsKPiAg ICAgIHN0cnVjdCB0bWVtX3Bvb2wgKnBvb2w7Cj4gICAgICBpbnQgcmV0ID0gMDsKPiAtICAgIGJv b2xfdCBob2xkX3Bvb2xfcndsb2NrID0gMDsKPiArICAgIGJvb2wgaG9sZF9wb29sX3J3bG9jayA9 IGZhbHNlOwo+ICAKPiAgICAgIHRtZW1fc3RhdHMuZXZpY3RfYXR0ZW1wdHMrKzsKPiAgICAgIHNw aW5fbG9jaygmZXBoX2xpc3RzX3NwaW5sb2NrKTsKPiBAQCAtOTk1LDcgKzk5Nyw3IEBAIGludCB0 bWVtX2V2aWN0KHZvaWQpCj4gICAqIGlzIGEgbWluaW11bSBhbW91bnQgb2YgbWVtb3J5ICgxTUIp IGF2YWlsYWJsZSBCRUZPUkUgYW55IGRhdGEgc3RydWN0dXJlCj4gICAqIGxvY2tzIGFyZSBoZWxk Lgo+ICAgKi8KPiAtc3RhdGljIGlubGluZSBib29sX3QgdG1lbV9lbnN1cmVfYXZhaWxfcGFnZXMo dm9pZCkKPiArc3RhdGljIGlubGluZSBib29sIHRtZW1fZW5zdXJlX2F2YWlsX3BhZ2VzKHZvaWQp Cj4gIHsKPiAgICAgIGludCBmYWlsZWRfZXZpY3QgPSAxMDsKPiAgICAgIHVuc2lnbmVkIGxvbmcg ZnJlZV9tZW07Cj4gQEAgLTEwMDQsMTIgKzEwMDYsMTIgQEAgc3RhdGljIGlubGluZSBib29sX3Qg dG1lbV9lbnN1cmVfYXZhaWxfcGFnZXModm9pZCkKPiAgICAgICAgICBmcmVlX21lbSA9ICh0bWVt X3BhZ2VfbGlzdF9wYWdlcyArIHRvdGFsX2ZyZWVfcGFnZXMoKSkKPiAgICAgICAgICAgICAgICAg ICAgICAgICAgPj4gKDIwIC0gUEFHRV9TSElGVCk7Cj4gICAgICAgICAgaWYgKCBmcmVlX21lbSAp Cj4gLSAgICAgICAgICAgIHJldHVybiAxOwo+ICsgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKPiAg ICAgICAgICBpZiAoICF0bWVtX2V2aWN0KCkgKQo+ICAgICAgICAgICAgICBmYWlsZWRfZXZpY3Qt LTsKPiAgICAgIH0gd2hpbGUgKCBmYWlsZWRfZXZpY3QgPiAwICk7Cj4gIAo+IC0gICAgcmV0dXJu IDA7Cj4gKyAgICByZXR1cm4gZmFsc2U7Cj4gIH0KPiAgCj4gIC8qKioqKioqKioqKiogVE1FTSBD T1JFIE9QRVJBVElPTlMgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwo+IEBA IC0xODc5LDkgKzE4ODEsNiBAQCBsb25nIGRvX3RtZW1fb3AodG1lbV9jbGlfb3BfdCB1b3BzKQo+ ICAgICAgc3RydWN0IHRtZW1fcG9vbCAqcG9vbCA9IE5VTEw7Cj4gICAgICBzdHJ1Y3QgeGVuX3Rt ZW1fb2lkICpvaWRwOwo+ICAgICAgaW50IHJjID0gMDsKPiAtICAgIGJvb2xfdCBzdWNjX2dldCA9 IDAsIHN1Y2NfcHV0ID0gMDsKPiAtICAgIGJvb2xfdCBub25fc3VjY19nZXQgPSAwLCBub25fc3Vj Y19wdXQgPSAwOwo+IC0gICAgYm9vbF90IGZsdXNoID0gMCwgZmx1c2hfb2JqID0gMDsKPiAgCj4g ICAgICBpZiAoICF0bWVtX2luaXRpYWxpemVkICkKPiAgICAgICAgICByZXR1cm4gLUVOT0RFVjsK PiBAQCAtMTk2NSwyMiArMTk2NCwxNiBAQCBsb25nIGRvX3RtZW1fb3AodG1lbV9jbGlfb3BfdCB1 b3BzKQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtZW1fY2xpX2J1Zl9udWxs KTsKPiAgICAgICAgICAgICAgICAgIGVsc2UKPiAgICAgICAgICAgICAgICAgICAgICByYyA9IC1F Tk9NRU07Cj4gLSAgICAgICAgICAgICAgICBpZiAocmMgPT0gMSkgc3VjY19wdXQgPSAxOwo+IC0g ICAgICAgICAgICAgICAgZWxzZSBub25fc3VjY19wdXQgPSAxOwo+ICAgICAgICAgICAgICAgICAg YnJlYWs7Cj4gICAgICAgICAgICAgIGNhc2UgVE1FTV9HRVRfUEFHRToKPiAgICAgICAgICAgICAg ICAgIHJjID0gZG9fdG1lbV9nZXQocG9vbCwgb2lkcCwgb3AudS5nZW4uaW5kZXgsIG9wLnUuZ2Vu LmNtZm4sCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1lbV9jbGlfYnVmX251 bGwpOwo+IC0gICAgICAgICAgICAgICAgaWYgKHJjID09IDEpIHN1Y2NfZ2V0ID0gMTsKPiAtICAg ICAgICAgICAgICAgIGVsc2Ugbm9uX3N1Y2NfZ2V0ID0gMTsKPiAgICAgICAgICAgICAgICAgIGJy ZWFrOwo+ICAgICAgICAgICAgICBjYXNlIFRNRU1fRkxVU0hfUEFHRToKPiAtICAgICAgICAgICAg ICAgIGZsdXNoID0gMTsKPiAgICAgICAgICAgICAgICAgIHJjID0gZG9fdG1lbV9mbHVzaF9wYWdl KHBvb2wsIG9pZHAsIG9wLnUuZ2VuLmluZGV4KTsKPiAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ ICAgICAgICAgICAgICBjYXNlIFRNRU1fRkxVU0hfT0JKRUNUOgo+ICAgICAgICAgICAgICAgICAg cmMgPSBkb190bWVtX2ZsdXNoX29iamVjdChwb29sLCBvaWRwKTsKPiAtICAgICAgICAgICAgICAg IGZsdXNoX29iaiA9IDE7Cj4gICAgICAgICAgICAgICAgICBicmVhazsKPiAgICAgICAgICAgICAg ZGVmYXVsdDoKPiAgICAgICAgICAgICAgICAgIHRtZW1fY2xpZW50X3dhcm4oInRtZW06IG9wICVk IG5vdCBpbXBsZW1lbnRlZFxuIiwgb3AuY21kKTsKPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi90 bWVtX2NvbnRyb2wuYyBiL3hlbi9jb21tb24vdG1lbV9jb250cm9sLmMKPiBpbmRleCAyZDk4MGUz Li4zMGJmNmZiIDEwMDY0NAo+IC0tLSBhL3hlbi9jb21tb24vdG1lbV9jb250cm9sLmMKPiArKysg Yi94ZW4vY29tbW9uL3RtZW1fY29udHJvbC5jCj4gQEAgLTE5LDggKzE5LDggQEAKPiAgc3RhdGlj IGludCB0bWVtY19mcmVlemVfcG9vbHMoZG9taWRfdCBjbGlfaWQsIGludCBhcmcpCj4gIHsKPiAg ICAgIHN0cnVjdCBjbGllbnQgKmNsaWVudDsKPiAtICAgIGJvb2xfdCBmcmVlemUgPSAoYXJnID09 IFhFTl9TWVNDVExfVE1FTV9PUF9GUkVFWkUpID8gMSA6IDA7Cj4gLSAgICBib29sX3QgZGVzdHJv eSA9IChhcmcgPT0gWEVOX1NZU0NUTF9UTUVNX09QX0RFU1RST1kpID8gMSA6IDA7Cj4gKyAgICBi b29sIGZyZWV6ZSA9IGFyZyA9PSBYRU5fU1lTQ1RMX1RNRU1fT1BfRlJFRVpFOwo+ICsgICAgYm9v bCBkZXN0cm95ID0gYXJnID09IFhFTl9TWVNDVExfVE1FTV9PUF9ERVNUUk9ZOwo+ICAgICAgY2hh ciAqczsKPiAgCj4gICAgICBzID0gZGVzdHJveSA/ICJkZXN0cm95ZWQiIDogKCBmcmVlemUgPyAi ZnJvemVuIiA6ICJ0aGF3ZWQiICk7Cj4gQEAgLTk2LDEyICs5NiwxMiBAQCBzdGF0aWMgaW50IHRt ZW1jX2ZsdXNoX21lbShkb21pZF90IGNsaV9pZCwgdWludDMyX3Qga2IpCj4gICNkZWZpbmUgQlNJ WkUgMTAyNAo+ICAKPiAgc3RhdGljIGludCB0bWVtY19saXN0X2NsaWVudChzdHJ1Y3QgY2xpZW50 ICpjLCB0bWVtX2NsaV92YV9wYXJhbV90IGJ1ZiwKPiAtICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpbnQgb2ZmLCB1aW50MzJfdCBsZW4sIGJvb2xfdCB1c2VfbG9uZykKPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBpbnQgb2ZmLCB1aW50MzJfdCBsZW4sIGJvb2wgdXNlX2xvbmcp Cj4gIHsKPiAgICAgIGNoYXIgaW5mb1tCU0laRV07Cj4gICAgICBpbnQgaSwgbiA9IDAsIHN1bSA9 IDA7Cj4gICAgICBzdHJ1Y3QgdG1lbV9wb29sICpwOwo+IC0gICAgYm9vbF90IHM7Cj4gKyAgICBi b29sIHM7Cj4gIAo+ICAgICAgbiA9IHNjbnByaW50ZihpbmZvLEJTSVpFLCJDPUNJOiVkLHd3OiVk LGNvOiVkLGZyOiVkLCIKPiAgICAgICAgICAiVGM6JSJQUkl1NjQiLEdlOiVsZCxQcDolbGQsR3A6 JWxkJWMiLAo+IEBAIC0xNDksNyArMTQ5LDcgQEAgc3RhdGljIGludCB0bWVtY19saXN0X2NsaWVu dChzdHJ1Y3QgY2xpZW50ICpjLCB0bWVtX2NsaV92YV9wYXJhbV90IGJ1ZiwKPiAgfQo+ICAKPiAg c3RhdGljIGludCB0bWVtY19saXN0X3NoYXJlZCh0bWVtX2NsaV92YV9wYXJhbV90IGJ1ZiwgaW50 IG9mZiwgdWludDMyX3QgbGVuLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29s X3QgdXNlX2xvbmcpCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCB1c2VfbG9u ZykKPiAgewo+ICAgICAgY2hhciBpbmZvW0JTSVpFXTsKPiAgICAgIGludCBpLCBuID0gMCwgc3Vt ID0gMDsKPiBAQCAtMTg4LDcgKzE4OCw3IEBAIHN0YXRpYyBpbnQgdG1lbWNfbGlzdF9zaGFyZWQo dG1lbV9jbGlfdmFfcGFyYW1fdCBidWYsIGludCBvZmYsIHVpbnQzMl90IGxlbiwKPiAgfQo+ICAK PiAgc3RhdGljIGludCB0bWVtY19saXN0X2dsb2JhbF9wZXJmKHRtZW1fY2xpX3ZhX3BhcmFtX3Qg YnVmLCBpbnQgb2ZmLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludDMy X3QgbGVuLCBib29sX3QgdXNlX2xvbmcpCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB1aW50MzJfdCBsZW4sIGJvb2wgdXNlX2xvbmcpCj4gIHsKPiAgICAgIGNoYXIgaW5mb1tC U0laRV07Cj4gICAgICBpbnQgbiA9IDAsIHN1bSA9IDA7Cj4gQEAgLTIwNCw3ICsyMDQsNyBAQCBz dGF0aWMgaW50IHRtZW1jX2xpc3RfZ2xvYmFsX3BlcmYodG1lbV9jbGlfdmFfcGFyYW1fdCBidWYs IGludCBvZmYsCj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgdG1lbWNfbGlzdF9nbG9iYWwodG1lbV9j bGlfdmFfcGFyYW1fdCBidWYsIGludCBvZmYsIHVpbnQzMl90IGxlbiwKPiAtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYm9vbF90IHVzZV9sb25nKQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvb2wgdXNlX2xvbmcpCj4gIHsKPiAgICAgIGNoYXIgaW5mb1tCU0laRV07Cj4g ICAgICBpbnQgbiA9IDAsIHN1bSA9IG9mZjsKPiBAQCAtMjM4LDcgKzIzOCw3IEBAIHN0YXRpYyBp bnQgdG1lbWNfbGlzdF9nbG9iYWwodG1lbV9jbGlfdmFfcGFyYW1fdCBidWYsIGludCBvZmYsIHVp bnQzMl90IGxlbiwKPiAgfQo+ICAKPiAgc3RhdGljIGludCB0bWVtY19saXN0KGRvbWlkX3QgY2xp X2lkLCB0bWVtX2NsaV92YV9wYXJhbV90IGJ1ZiwgdWludDMyX3QgbGVuLAo+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYm9vbF90IHVzZV9sb25nKQo+ICsgICAgICAgICAgICAgICAg ICAgICAgYm9vbCB1c2VfbG9uZykKPiAgewo+ICAgICAgc3RydWN0IGNsaWVudCAqY2xpZW50Owo+ ICAgICAgaW50IG9mZiA9IDA7Cj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vdG1lbV94ZW4uYyBi L3hlbi9jb21tb24vdG1lbV94ZW4uYwo+IGluZGV4IDcyNWFlOTMuLjIwZjc0YjIgMTAwNjQ0Cj4g LS0tIGEveGVuL2NvbW1vbi90bWVtX3hlbi5jCj4gKysrIGIveGVuL2NvbW1vbi90bWVtX3hlbi5j Cj4gQEAgLTE0LDEwICsxNCwxMCBAQAo+ICAjaW5jbHVkZSA8eGVuL2NwdS5oPgo+ICAjaW5jbHVk ZSA8eGVuL2luaXQuaD4KPiAgCj4gLWJvb2xfdCBfX3JlYWRfbW9zdGx5IG9wdF90bWVtID0gMDsK PiArYm9vbCBfX3JlYWRfbW9zdGx5IG9wdF90bWVtOwo+ICBib29sZWFuX3BhcmFtKCJ0bWVtIiwg b3B0X3RtZW0pOwo+ICAKPiAtYm9vbF90IF9fcmVhZF9tb3N0bHkgb3B0X3RtZW1fY29tcHJlc3Mg PSAwOwo+ICtib29sIF9fcmVhZF9tb3N0bHkgb3B0X3RtZW1fY29tcHJlc3M7Cj4gIGJvb2xlYW5f cGFyYW0oInRtZW1fY29tcHJlc3MiLCBvcHRfdG1lbV9jb21wcmVzcyk7Cj4gIAo+ICBhdG9taWNf dCBmcmVlYWJsZV9wYWdlX2NvdW50ID0gQVRPTUlDX0lOSVQoMCk7Cj4gQEAgLTMyLDE0ICszMiwx NCBAQCBzdGF0aWMgREVGSU5FX1BFUl9DUFVfUkVBRF9NT1NUTFkodm9pZCAqLCBzY3JhdGNoX3Bh Z2UpOwo+ICAKPiAgI2lmIGRlZmluZWQoQ09ORklHX0FSTSkKPiAgc3RhdGljIGlubGluZSB2b2lk ICpjbGlfZ2V0X3BhZ2UoeGVuX3Bmbl90IGNtZm4sIHVuc2lnbmVkIGxvbmcgKnBjbGlfbWZuLAo+ IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgcGFnZV9pbmZvICoqcGNs aV9wZnAsIGJvb2xfdCBjbGlfd3JpdGUpCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBwYWdlX2luZm8gKipwY2xpX3BmcCwgYm9vbCBjbGlfd3JpdGUpCj4gIHsKPiAg ICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwo+ICAgICAgcmV0dXJuIE5VTEw7Cj4gIH0KPiAgCj4g IHN0YXRpYyBpbmxpbmUgdm9pZCBjbGlfcHV0X3BhZ2Uodm9pZCAqY2xpX3ZhLCBzdHJ1Y3QgcGFn ZV9pbmZvICpjbGlfcGZwLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2ln bmVkIGxvbmcgY2xpX21mbiwgYm9vbF90IG1hcmtfZGlydHkpCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdW5zaWduZWQgbG9uZyBjbGlfbWZuLCBib29sIG1hcmtfZGlydHkpCj4g IHsKPiAgICAgIEFTU0VSVF9VTlJFQUNIQUJMRSgpOwo+ICB9Cj4gQEAgLTQ3LDcgKzQ3LDcgQEAg c3RhdGljIGlubGluZSB2b2lkIGNsaV9wdXRfcGFnZSh2b2lkICpjbGlfdmEsIHN0cnVjdCBwYWdl X2luZm8gKmNsaV9wZnAsCj4gICNpbmNsdWRlIDxhc20vcDJtLmg+Cj4gIAo+ICBzdGF0aWMgaW5s aW5lIHZvaWQgKmNsaV9nZXRfcGFnZSh4ZW5fcGZuX3QgY21mbiwgdW5zaWduZWQgbG9uZyAqcGNs aV9tZm4sCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwYWdlX2lu Zm8gKipwY2xpX3BmcCwgYm9vbF90IGNsaV93cml0ZSkKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqKnBjbGlfcGZwLCBib29sIGNsaV93cml0ZSkK PiAgewo+ICAgICAgcDJtX3R5cGVfdCB0Owo+ICAgICAgc3RydWN0IHBhZ2VfaW5mbyAqcGFnZTsK PiBAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgKmNsaV9nZXRfcGFnZSh4ZW5f cGZuX3QgY21mbiwgdW5zaWduZWQgbG9uZyAqcGNsaV9tZm4sCj4gIH0KPiAgCj4gIHN0YXRpYyBp bmxpbmUgdm9pZCBjbGlfcHV0X3BhZ2Uodm9pZCAqY2xpX3ZhLCBzdHJ1Y3QgcGFnZV9pbmZvICpj bGlfcGZwLAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcg Y2xpX21mbiwgYm9vbF90IG1hcmtfZGlydHkpCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdW5zaWduZWQgbG9uZyBjbGlfbWZuLCBib29sIG1hcmtfZGlydHkpCj4gIHsKPiAgICAg IGlmICggbWFya19kaXJ0eSApCj4gICAgICB7Cj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hl bi90bWVtX3hlbi5oIGIveGVuL2luY2x1ZGUveGVuL3RtZW1feGVuLmgKPiBpbmRleCBkYzU4ODhj Li41NDJjMGIzIDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL3hlbi90bWVtX3hlbi5oCj4gKysr IGIveGVuL2luY2x1ZGUveGVuL3RtZW1feGVuLmgKPiBAQCAtMzUsMjcgKzM1LDI3IEBAIGV4dGVy biBhdG9taWNfdCBmcmVlYWJsZV9wYWdlX2NvdW50Owo+ICBleHRlcm4gaW50IHRtZW1faW5pdCh2 b2lkKTsKPiAgI2RlZmluZSB0bWVtX2hhc2ggaGFzaF9sb25nCj4gIAo+IC1leHRlcm4gYm9vbF90 IG9wdF90bWVtX2NvbXByZXNzOwo+IC1zdGF0aWMgaW5saW5lIGJvb2xfdCB0bWVtX2NvbXByZXNz aW9uX2VuYWJsZWQodm9pZCkKPiArZXh0ZXJuIGJvb2wgb3B0X3RtZW1fY29tcHJlc3M7Cj4gK3N0 YXRpYyBpbmxpbmUgYm9vbCB0bWVtX2NvbXByZXNzaW9uX2VuYWJsZWQodm9pZCkKPiAgewo+ICAg ICAgcmV0dXJuIG9wdF90bWVtX2NvbXByZXNzOwo+ICB9Cj4gIAo+ICAjaWZkZWYgQ09ORklHX1RN RU0KPiAtZXh0ZXJuIGJvb2xfdCBvcHRfdG1lbTsKPiAtc3RhdGljIGlubGluZSBib29sX3QgdG1l bV9lbmFibGVkKHZvaWQpCj4gK2V4dGVybiBib29sIG9wdF90bWVtOwo+ICtzdGF0aWMgaW5saW5l IGJvb2wgdG1lbV9lbmFibGVkKHZvaWQpCj4gIHsKPiAgICAgIHJldHVybiBvcHRfdG1lbTsKPiAg fQo+ICAKPiAgc3RhdGljIGlubGluZSB2b2lkIHRtZW1fZGlzYWJsZSh2b2lkKQo+ICB7Cj4gLSAg ICBvcHRfdG1lbSA9IDA7Cj4gKyAgICBvcHRfdG1lbSA9IGZhbHNlOwo+ICB9Cj4gICNlbHNlCj4g LXN0YXRpYyBpbmxpbmUgYm9vbF90IHRtZW1fZW5hYmxlZCh2b2lkKQo+ICtzdGF0aWMgaW5saW5l IGJvb2wgdG1lbV9lbmFibGVkKHZvaWQpCj4gIHsKPiAtICAgIHJldHVybiAwOwo+ICsgICAgcmV0 dXJuIGZhbHNlOwo+ICB9Cj4gIAo+ICBzdGF0aWMgaW5saW5lIHZvaWQgdG1lbV9kaXNhYmxlKHZv aWQpCj4gQEAgLTI2Niw3ICsyNjYsNyBAQCBzdHJ1Y3QgdG1lbV9nbG9iYWwgewo+ICAgICAgc3Ry dWN0IGxpc3RfaGVhZCBlcGhlbWVyYWxfcGFnZV9saXN0OyAgLyogQWxsIHBhZ2VzIGluIGVwaGVt ZXJhbCBwb29scy4gKi8KPiAgICAgIHN0cnVjdCBsaXN0X2hlYWQgY2xpZW50X2xpc3Q7Cj4gICAg ICBzdHJ1Y3QgdG1lbV9wb29sICpzaGFyZWRfcG9vbHNbTUFYX0dMT0JBTF9TSEFSRURfUE9PTFNd Owo+IC0gICAgYm9vbF90IHNoYXJlZF9hdXRoOwo+ICsgICAgYm9vbCBzaGFyZWRfYXV0aDsKPiAg ICAgIGxvbmcgZXBoX2NvdW50OyAgLyogQXRvbWljaXR5IGRlcGVuZHMgb24gZXBoX2xpc3RzX3Nw aW5sb2NrLiAqLwo+ICAgICAgYXRvbWljX3QgY2xpZW50X3dlaWdodF90b3RhbDsKPiAgfTsKPiBA QCAtMjg2LDcgKzI4Niw3IEBAIHN0cnVjdCBjbGllbnQgewo+ICAgICAgZG9taWRfdCBjbGlfaWQ7 Cj4gICAgICB4ZW5fdG1lbV9jbGllbnRfdCBpbmZvOwo+ICAgICAgLyogRm9yIHNhdmUvcmVzdG9y ZS9taWdyYXRpb24uICovCj4gLSAgICBib29sX3Qgd2FzX2Zyb3plbjsKPiArICAgIGJvb2wgd2Fz X2Zyb3plbjsKPiAgICAgIHN0cnVjdCBsaXN0X2hlYWQgcGVyc2lzdGVudF9pbnZhbGlkYXRlZF9s aXN0Owo+ICAgICAgc3RydWN0IHRtZW1fcGFnZV9kZXNjcmlwdG9yICpjdXJfcGdwOwo+ICAgICAg LyogU3RhdGlzdGljcyBjb2xsZWN0aW9uLiAqLwo+IEBAIC0zMDcsOSArMzA3LDkgQEAgc3RydWN0 IGNsaWVudCB7Cj4gICNkZWZpbmUgaXNfc2hhcmVkKF9wKSAgICAgIChfcC0+c2hhcmVkKQo+ICAK PiAgc3RydWN0IHRtZW1fcG9vbCB7Cj4gLSAgICBib29sX3Qgc2hhcmVkOwo+IC0gICAgYm9vbF90 IHBlcnNpc3RlbnQ7Cj4gLSAgICBib29sX3QgaXNfZHlpbmc7Cj4gKyAgICBib29sIHNoYXJlZDsK PiArICAgIGJvb2wgcGVyc2lzdGVudDsKPiArICAgIGJvb2wgaXNfZHlpbmc7Cj4gICAgICBzdHJ1 Y3QgY2xpZW50ICpjbGllbnQ7Cj4gICAgICB1aW50NjRfdCB1dWlkWzJdOyAvKiAwIGZvciBwcml2 YXRlLCBub24temVybyBmb3Igc2hhcmVkLiAqLwo+ICAgICAgdWludDMyX3QgcG9vbF9pZDsKPiAt LSAKPiAyLjEuNAo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRw czovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==