From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bob Liu Subject: Re: [BUG] kernel BUG at drivers/block/xen-blkfront.c:1711 Date: Wed, 10 Aug 2016 20:49:40 +0800 Message-ID: <57AB22E4.1040208@oracle.com> References: <57553355.8050302@virtuozzo.com> <1465202552.15816.70.camel@citrix.com> <57835DEF.1090207@virtuozzo.com> <57838B41.5020309@oracle.com> <57877C49.5000503@virtuozzo.com> <57877FCF.1040105@oracle.com> <57AB1F2B.5080403@virtuozzo.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <57AB1F2B.5080403@virtuozzo.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Evgenii Shatokhin Cc: Juergen Gross , Dario Faggioli , George Dunlap , xen-devel@lists.xen.org, David Vrabel , Konstantin Khorenko , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org Ck9uIDA4LzEwLzIwMTYgMDg6MzMgUE0sIEV2Z2VuaWkgU2hhdG9raGluIHdyb3RlOgo+IE9uIDE0 LjA3LjIwMTYgMTU6MDQsIEJvYiBMaXUgd3JvdGU6Cj4+Cj4+IE9uIDA3LzE0LzIwMTYgMDc6NDkg UE0sIEV2Z2VuaWkgU2hhdG9raGluIHdyb3RlOgo+Pj4gT24gMTEuMDcuMjAxNiAxNTowNCwgQm9i IExpdSB3cm90ZToKPj4+Pgo+Pj4+Cj4+Pj4gT24gMDcvMTEvMjAxNiAwNDo1MCBQTSwgRXZnZW5p aSBTaGF0b2toaW4gd3JvdGU6Cj4+Pj4+IE9uIDA2LjA2LjIwMTYgMTE6NDIsIERhcmlvIEZhZ2dp b2xpIHdyb3RlOgo+Pj4+Pj4gSnVzdCBDYy1pbmcgc29tZSBMaW51eCwgYmxvY2ssIGFuZCBYZW4g b24gQ2VudE9TIHBlb3BsZS4uLgo+Pj4+Pj4KPj4+Pj4KPj4+Pj4gUGluZy4KPj4+Pj4KPj4+Pj4g QW55IHN1Z2dlc3Rpb25zIGhvdyB0byBkZWJ1ZyB0aGlzIG9yIHdoYXQgbWlnaHQgY2F1c2UgdGhl IHByb2JsZW0/Cj4+Pj4+Cj4+Pj4+IE9idmlvdXNseSwgd2UgY2Fubm90IGNvbnRyb2wgWGVuIG9u IHRoZSBBbWF6b24ncyBzZXJ2ZXJzLiBCdXQgcGVyaGFwcyB0aGVyZSBpcyBzb21ldGhpbmcgd2Ug Y2FuIGRvIGF0IHRoZSBrZXJuZWwncyBzaWRlLCBpcyBpdD8KPj4+Pj4KPj4+Pj4+IE9uIE1vbiwg MjAxNi0wNi0wNiBhdCAxMToyNCArMDMwMCwgRXZnZW5paSBTaGF0b2toaW4gd3JvdGU6Cj4+Pj4+ Pj4gKFJlc2VuZGluZyB0aGlzIGJ1ZyByZXBvcnQgYmVjYXVzZSB0aGUgbWVzc2FnZSBJIHNlbnQg bGFzdCB3ZWVrIGRpZAo+Pj4+Pj4+IG5vdAo+Pj4+Pj4+IG1ha2UgaXQgdG8gdGhlIG1haWxpbmcg bGlzdCBzb21laG93LikKPj4+Pj4+Pgo+Pj4+Pj4+IEhpLAo+Pj4+Pj4+Cj4+Pj4+Pj4gT25lIG9m IG91ciB1c2VycyBnZXRzIGtlcm5lbCBwYW5pY3MgZnJvbSB0aW1lIHRvIHRpbWUgd2hlbiBoZSB0 cmllcwo+Pj4+Pj4+IHRvCj4+Pj4+Pj4gdXNlIGhpcyBBbWF6b24gRUMyIGluc3RhbmNlIHdpdGgg Q2VudE9TNyB4NjQgaW4gaXQgWzFdLiBLZXJuZWwgcGFuaWMKPj4+Pj4+PiBoYXBwZW5zIHdpdGhp biBtaW51dGVzIGZyb20gdGhlIG1vbWVudCB0aGUgaW5zdGFuY2Ugc3RhcnRzLiBUaGUKPj4+Pj4+ PiBwcm9ibGVtCj4+Pj4+Pj4gZG9lcyBub3Qgc2hvdyB1cCBldmVyeSB0aW1lLCBob3dldmVyLgo+ Pj4+Pj4+Cj4+Pj4+Pj4gVGhlIHVzZXIgZmlyc3Qgb2JzZXJ2ZWQgdGhlIHByb2JsZW0gd2l0aCBh IGN1c3RvbSBrZXJuZWwsIGJ1dCBpdCB3YXMKPj4+Pj4+PiBmb3VuZCBsYXRlciB0aGF0IHRoZSBz dG9jayBrZXJuZWwgMy4xMC4wLTMyNy4xOC4yLmVsNy54ODZfNjQgZnJvbQo+Pj4+Pj4+IENlbnRP Uzcgd2FzIGFmZmVjdGVkIGFzIHdlbGwuCj4+Pj4KPj4+PiBQbGVhc2UgdHJ5IHRoaXMgcGF0Y2g6 Cj4+Pj4gaHR0cHM6Ly9naXQua2VybmVsLm9yZy9jZ2l0L2xpbnV4L2tlcm5lbC9naXQvdG9ydmFs ZHMvbGludXguZ2l0L2NvbW1pdC8/aWQ9N2IwNzY3NTAyYjVkYjExY2IxZjBkYWVmMmQwMWY2ZDcx YjExOTJkYwo+Pj4+Cj4+Pj4gUmVnYXJkcywKPj4+PiBCb2IKPj4+Pgo+Pj4KPj4+IFVuZm9ydHVu YXRlbHksIGl0IGRpZCBub3QgaGVscC4gVGhlIHNhbWUgQlVHX09OKCkgaW4gYmxrZnJvbnRfc2V0 dXBfaW5kaXJlY3QoKSBzdGlsbCB0cmlnZ2VycyBpbiBvdXIga2VybmVsIGJhc2VkIG9uIFJIRUwn cyAzLjEwLjAtMzI3LjE4LjIsIHdoZXJlIEkgYWRkZWQgdGhlIHBhdGNoLgo+Pj4KPj4+IEFzIGZh ciBhcyBJIGNhbiBzZWUsIHRoZSBwYXRjaCBtYWtlcyBzdXJlIHRoZSBpbmRpcmVjdCBwYWdlcyBh cmUgYWRkZWQgdG8gdGhlIGxpc3Qgb25seSBpZiAoIWluZm8tPmZlYXR1cmVfcGVyc2lzdGVudCkg aG9sZHMuIEkgc3VwcG9zZSBpdCBob2xkcyBpbiBvdXIgY2FzZSBhbmQgdGhlIHBhZ2VzIGFyZSBh ZGRlZCB0byB0aGUgbGlzdCBiZWNhdXNlIHRoZSB0cmlnZ2VyZWQgQlVHX09OKCkgaXMgaGVyZToK Pj4+Cj4+PiAgICAgIGlmICghaW5mby0+ZmVhdHVyZV9wZXJzaXN0ZW50ICYmIGluZm8tPm1heF9p bmRpcmVjdF9zZWdtZW50cykgewo+Pj4gICAgICAgICAgPC4uLj4KPj4+ICAgICAgICAgIEJVR19P TighbGlzdF9lbXB0eSgmaW5mby0+aW5kaXJlY3RfcGFnZXMpKTsKPj4+ICAgICAgICAgIDwuLi4+ Cj4+PiAgICAgIH0KPj4+Cj4+Cj4+IFRoYXQncyBvZGQuCj4+IENvdWxkIHlvdSBwbGVhc2UgdHJ5 IHRvIHJlcHJvZHVjZSB0aGlzIGlzc3VlIHdpdGggYSByZWNlbnQgdXBzdHJlYW0ga2VybmVsPwo+ Pgo+PiBUaGFua3MsCj4+IEJvYgo+IAo+IE5vIGx1Y2sgd2l0aCB0aGUgdXBzdHJlYW0ga2VybmVs IDQuNy4wIHNvIGZhciBkdWUgdG8gdW5yZWxhdGVkIGlzc3VlcyAoYmFkIGluaXRyZCwgSSBzdXBw b3NlLCBzbyB0aGUgc3lzdGVtIGRvZXMgbm90IGV2ZW4gYm9vdCkuCj4gCj4gSG93ZXZlciwgdGhl IHByb2JsZW0gcmVwcm9kdWNlZCB3aXRoIHRoZSBzdGFibGUgdXBzdHJlYW0ga2VybmVsIDMuMTQu NzQuIEFmdGVyIHRoZSBzeXN0ZW0gYm9vdGVkIHRoZSBzZWNvbmQgdGltZSB3aXRoIHRoaXMga2Vy bmVsLCB0aGF0IEJVR19PTiB0cmlnZ2VyZWQ6Cj4gICAgICBrZXJuZWwgQlVHIGF0IGRyaXZlcnMv YmxvY2sveGVuLWJsa2Zyb250LmM6MTcwMQo+IAoKQ291bGQgeW91IHBsZWFzZSBwcm92aWRlIG1v cmUgZGV0YWlsIG9uIGhvdyB0byByZXByb2R1Y2UgdGhpcyBidWc/IEknZCBsaWtlIHRvIGhhdmUg YSB0ZXN0LgoKVGhhbmtzIQpCb2IKCj4+Cj4+PiBTbyB0aGUgcHJvYmxlbSBpcyBzdGlsbCBvdXQg dGhlcmUgc29tZXdoZXJlLCBpdCBzZWVtcy4KPj4+Cj4+PiBSZWdhcmRzLAo+Pj4gRXZnZW5paQo+ Pj4KPj4+Pj4+Pgo+Pj4+Pj4+IFRoZSBwYXJ0IG9mIHRoZSBzeXN0ZW0gbG9nIGhlIHdhcyBhYmxl IHRvIHJldHJpZXZlIGlzIGF0dGFjaGVkLiBIZXJlCj4+Pj4+Pj4gaXMKPj4+Pj4+PiB0aGUgYnVn IGluZm8sIGZvciBjb252ZW5pZW5jZToKPj4+Pj4+Pgo+Pj4+Pj4+IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQo+Pj4+Pj4+IFsgICAgMi4yNDY5MTJdIGtlcm5lbCBCVUcgYXQg ZHJpdmVycy9ibG9jay94ZW4tYmxrZnJvbnQuYzoxNzExIQo+Pj4+Pj4+IFsgICAgMi4yNDY5MTJd IGludmFsaWQgb3Bjb2RlOiAwMDAwIFsjMV0gU01QCj4+Pj4+Pj4gWyAgICAyLjI0NjkxMl0gTW9k dWxlcyBsaW5rZWQgaW46IGF0YV9nZW5lcmljIHBhdGFfYWNwaQo+Pj4+Pj4+IGNyY3QxMGRpZl9w Y2xtdWwKPj4+Pj4+PiBjcmN0MTBkaWZfY29tbW9uIGNyYzMyX3BjbG11bCBjcmMzMmNfaW50ZWwg Z2hhc2hfY2xtdWxuaV9pbnRlbAo+Pj4+Pj4+IHhlbl9uZXRmcm9udCB4ZW5fYmxrZnJvbnQoKykg YWVzbmlfaW50ZWwgbHJ3IGF0YV9waWl4IGdmMTI4bXVsCj4+Pj4+Pj4gZ2x1ZV9oZWxwZXIgYWJs a19oZWxwZXIgY3J5cHRkIGxpYmF0YSBzZXJpb19yYXcgZmxvcHB5IHN1bnJwYwo+Pj4+Pj4+IGRt X21pcnJvcgo+Pj4+Pj4+IGRtX3JlZ2lvbl9oYXNoIGRtX2xvZyBkbV9tb2Qgc2NzaV90cmFuc3Bv cnRfaXNjc2kKPj4+Pj4+PiBbICAgIDIuMjQ2OTEyXSBDUFU6IDEgUElEOiA1MCBDb21tOiB4ZW53 YXRjaCBOb3QgdGFpbnRlZAo+Pj4+Pj4+IDMuMTAuMC0zMjcuMTguMi5lbDcueDg2XzY0ICMxCj4+ Pj4+Pj4gWyAgICAyLjI0NjkxMl0gSGFyZHdhcmUgbmFtZTogWGVuIEhWTSBkb21VLCBCSU9TIDQu Mi5hbWF6b24KPj4+Pj4+PiAxMi8wNy8yMDE1Cj4+Pj4+Pj4gWyAgICAyLjI0NjkxMl0gdGFzazog ZmZmZjg4MDBlOWZjYjk4MCB0aTogZmZmZjg4MDBlOThiYzAwMCB0YXNrLnRpOgo+Pj4+Pj4+IGZm ZmY4ODAwZTk4YmMwMDAKPj4+Pj4+PiBbICAgIDIuMjQ2OTEyXSBSSVA6IDAwMTA6WzxmZmZmZmZm ZmEwMTU1ODRmPl0gIFs8ZmZmZmZmZmZhMDE1NTg0Zj5dCj4+Pj4+Pj4gYmxrZnJvbnRfc2V0dXBf aW5kaXJlY3QrMHg0MWYvMHg0MzAgW3hlbl9ibGtmcm9udF0KPj4+Pj4+PiBbICAgIDIuMjQ2OTEy XSBSU1A6IDAwMTg6ZmZmZjg4MDBlOThiZmNkMCAgRUZMQUdTOiAwMDAxMDI4Mwo+Pj4+Pj4+IFsg ICAgMi4yNDY5MTJdIFJBWDogZmZmZjg4MDAzNTNlMTVjMCBSQlg6IGZmZmY4ODAwZTk4YzUyYzgg UkNYOgo+Pj4+Pj4+IDAwMDAwMDAwMDAwMDAwMjAKPj4+Pj4+PiBbICAgIDIuMjQ2OTEyXSBSRFg6 IGZmZmY4ODAwMzUzZTE1YjAgUlNJOiBmZmZmODgwMGU5OGM1MmI4IFJESToKPj4+Pj4+PiBmZmZm ODgwMDM1M2UxNWQwCj4+Pj4+Pj4gWyAgICAyLjI0NjkxMl0gUkJQOiBmZmZmODgwMGU5OGJmZDIw IFIwODogZmZmZjg4MDAzNTNlMTViMCBSMDk6Cj4+Pj4+Pj4gZmZmZjg4MDBlYjQwM2MwMAo+Pj4+ Pj4+IFsgICAgMi4yNDY5MTJdIFIxMDogZmZmZmZmZmZhMDE1NTUzMiBSMTE6IGZmZmZmZmZmZmZm ZmZmZTggUjEyOgo+Pj4+Pj4+IGZmZmY4ODAwZTk4YzQwMDAKPj4+Pj4+PiBbICAgIDIuMjQ2OTEy XSBSMTM6IGZmZmY4ODAwZTk4YzUyYjggUjE0OiAwMDAwMDAwMDAwMDAwMDIwIFIxNToKPj4+Pj4+ PiBmZmZmODgwMDM1M2UxNWMwCj4+Pj4+Pj4gWyAgICAyLjI0NjkxMl0gRlM6ICAwMDAwMDAwMDAw MDAwMDAwKDAwMDApIEdTOmZmZmY4ODAwZWZjMjAwMDAoMDAwMCkKPj4+Pj4+PiBrbmxHUzowMDAw MDAwMDAwMDAwMDAwCj4+Pj4+Pj4gWyAgICAyLjI0NjkxMl0gQ1M6ICAwMDEwIERTOiAwMDAwIEVT OiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwo+Pj4+Pj4+IFsgICAgMi4yNDY5MTJdIENSMjog MDAwMDdmMWI2MTVlZjAwMCBDUjM6IDAwMDAwMDAwZTJiNDQwMDAgQ1I0Ogo+Pj4+Pj4+IDAwMDAw MDAwMDAxNDA2ZTAKPj4+Pj4+PiBbICAgIDIuMjQ2OTEyXSBEUjA6IDAwMDAwMDAwMDAwMDAwMDAg RFIxOiAwMDAwMDAwMDAwMDAwMDAwIERSMjoKPj4+Pj4+PiAwMDAwMDAwMDAwMDAwMDAwCj4+Pj4+ Pj4gWyAgICAyLjI0NjkxMl0gRFIzOiAwMDAwMDAwMDAwMDAwMDAwIERSNjogMDAwMDAwMDBmZmZm MGZmMCBEUjc6Cj4+Pj4+Pj4gMDAwMDAwMDAwMDAwMDQwMAo+Pj4+Pj4+IFsgICAgMi4yNDY5MTJd IFN0YWNrOgo+Pj4+Pj4+IFsgICAgMi4yNDY5MTJdICAwMDAwMDAwMDAwMDAwMDIwIDAwMDAwMDAw MDAwMDAwMDEgMDAwMDAwMjBhMDE1NzIxNwo+Pj4+Pj4+IDAwMDAwMTAwZTk4YmZkYmMKPj4+Pj4+ PiBbICAgIDIuMjQ2OTEyXSAgMDAwMDAwMDAyN2VmYTNlZiBmZmZmODgwMGU5OGJmZGJjIGZmZmY4 ODAwZTk4Y2UwMDAKPj4+Pj4+PiBmZmZmODgwMGU5OGM0MDAwCj4+Pj4+Pj4gWyAgICAyLjI0Njkx Ml0gIGZmZmY4ODAwZTk4Y2UwNDAgMDAwMDAwMDAwMDAwMDAwMSBmZmZmODgwMGU5OGJmZTA4Cj4+ Pj4+Pj4gZmZmZmZmZmZhMDE1NWQ0Ywo+Pj4+Pj4+IFsgICAgMi4yNDY5MTJdIENhbGwgVHJhY2U6 Cj4+Pj4+Pj4gWyAgICAyLjI0NjkxMl0gIFs8ZmZmZmZmZmZhMDE1NWQ0Yz5dIGJsa2JhY2tfY2hh bmdlZCsweDRlYy8weGZjOAo+Pj4+Pj4+IFt4ZW5fYmxrZnJvbnRdCj4+Pj4+Pj4gWyAgICAyLjI0 NjkxMl0gIFs8ZmZmZmZmZmY4MTNhNmZkMD5dID8geGVuYnVzX2dhdGhlcisweDE3MC8weDE5MAo+ Pj4+Pj4+IFsgICAgMi4yNDY5MTJdICBbPGZmZmZmZmZmODE2MzIyZjU+XSA/IF9fc2xhYl9mcmVl KzB4MTBlLzB4Mjc3Cj4+Pj4+Pj4gWyAgICAyLjI0NjkxMl0gIFs8ZmZmZmZmZmY4MTNhODA1ZD5d Cj4+Pj4+Pj4geGVuYnVzX290aGVyZW5kX2NoYW5nZWQrMHhhZC8weDExMAo+Pj4+Pj4+IFsgICAg Mi4yNDY5MTJdICBbPGZmZmZmZmZmODEzYTcyNTc+XSA/IHhlbndhdGNoX3RocmVhZCsweDc3LzB4 MTgwCj4+Pj4+Pj4gWyAgICAyLjI0NjkxMl0gIFs8ZmZmZmZmZmY4MTNhOWJhMz5dIGJhY2tlbmRf Y2hhbmdlZCsweDEzLzB4MjAKPj4+Pj4+PiBbICAgIDIuMjQ2OTEyXSAgWzxmZmZmZmZmZjgxM2E3 MjQ2Pl0geGVud2F0Y2hfdGhyZWFkKzB4NjYvMHgxODAKPj4+Pj4+PiBbICAgIDIuMjQ2OTEyXSAg WzxmZmZmZmZmZjgxMGE2YWUwPl0gPyB3YWtlX3VwX2F0b21pY190KzB4MzAvMHgzMAo+Pj4+Pj4+ IFsgICAgMi4yNDY5MTJdICBbPGZmZmZmZmZmODEzYTcxZTA+XSA/Cj4+Pj4+Pj4gdW5yZWdpc3Rl cl94ZW5idXNfd2F0Y2grMHgxZjAvMHgxZjAKPj4+Pj4+PiBbICAgIDIuMjQ2OTEyXSAgWzxmZmZm ZmZmZjgxMGE1YWVmPl0ga3RocmVhZCsweGNmLzB4ZTAKPj4+Pj4+PiBbICAgIDIuMjQ2OTEyXSAg WzxmZmZmZmZmZjgxMGE1YTIwPl0gPwo+Pj4+Pj4+IGt0aHJlYWRfY3JlYXRlX29uX25vZGUrMHgx NDAvMHgxNDAKPj4+Pj4+PiBbICAgIDIuMjQ2OTEyXSAgWzxmZmZmZmZmZjgxNjQ2MTE4Pl0gcmV0 X2Zyb21fZm9yaysweDU4LzB4OTAKPj4+Pj4+PiBbICAgIDIuMjQ2OTEyXSAgWzxmZmZmZmZmZjgx MGE1YTIwPl0gPwo+Pj4+Pj4+IGt0aHJlYWRfY3JlYXRlX29uX25vZGUrMHgxNDAvMHgxNDAKPj4+ Pj4+PiBbICAgIDIuMjQ2OTEyXSBDb2RlOiBlMSA0OCA4NSBjMCA3NSBjZSA0OSA4ZCA4NCAyNCA0 MCAwMSAwMCAwMCA0OCA4OQo+Pj4+Pj4+IDQ1Cj4+Pj4+Pj4gYjggZTkgOTEgZmQgZmYgZmYgNGMg ODkgZmYgZTggOGQgYWUgMDYgZTEgZTkgZjIgZmMgZmYgZmYgMzEgYzAgZTkgMmUKPj4+Pj4+PiBm ZQo+Pj4+Pj4+IGZmIGZmIDwwZj4gMGIgZTggOWEgNTcgZjIgZTAgMGYgMGIgMGYgMWYgODQgMDAg MDAgMDAgMDAgMDAgMGYgMWYgNDQKPj4+Pj4+PiAwMAo+Pj4+Pj4+IFsgICAgMi4yNDY5MTJdIFJJ UCAgWzxmZmZmZmZmZmEwMTU1ODRmPl0KPj4+Pj4+PiBibGtmcm9udF9zZXR1cF9pbmRpcmVjdCsw eDQxZi8weDQzMCBbeGVuX2Jsa2Zyb250XQo+Pj4+Pj4+IFsgICAgMi4yNDY5MTJdICBSU1AgPGZm ZmY4ODAwZTk4YmZjZDA+Cj4+Pj4+Pj4gWyAgICAyLjQ5MTU3NF0gLS0tWyBlbmQgdHJhY2UgOGE5 Yjk5MjgxMjYyN2M3MSBdLS0tCj4+Pj4+Pj4gWyAgICAyLjQ5NTYxOF0gS2VybmVsIHBhbmljIC0g bm90IHN5bmNpbmc6IEZhdGFsIGV4Y2VwdGlvbgo+Pj4+Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQo+Pj4+Pj4+Cj4+Pj4+Pj4gWGVuIHZlcnNpb24gNC4yLgo+Pj4+Pj4+ Cj4+Pj4+Pj4gRUMyIGluc3RhbmNlIHR5cGU6IGMzLmxhcmdlIHdpdGggRUJTIG1hZ25ldGljIHN0 b3JhZ2UsIGlmIHRoYXQKPj4+Pj4+PiBtYXR0ZXJzLgo+Pj4+Pj4+Cj4+Pj4+Pj4gSGVyZSBpcyB0 aGUgY29kZSB3aGVyZSB0aGUgQlVHX09OIHRyaWdnZXJzIChkcml2ZXJzL2Jsb2NrL3hlbi0KPj4+ Pj4+PiBibGtmcm9udC5jKToKPj4+Pj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KPj4+Pj4+PiBpZiAoIWluZm8tPmZlYXR1cmVfcGVyc2lzdGVudCAmJiBpbmZvLT5tYXhf aW5kaXJlY3Rfc2VnbWVudHMpIHsKPj4+Pj4+PiAgICAgICAgIC8qCj4+Pj4+Pj4gICAgICAgICAg ICAgKiBXZSBhcmUgdXNpbmcgaW5kaXJlY3QgZGVzY3JpcHRvcnMgYnV0IG5vdCBwZXJzaXN0ZW50 Cj4+Pj4+Pj4gICAgICAgICAgICAgKiBncmFudHMsIHdlIG5lZWQgdG8gYWxsb2NhdGUgYSBzZXQg b2YgcGFnZXMgdGhhdCBjYW4gYmUKPj4+Pj4+PiAgICAgICAgICAgICAqIHVzZWQgZm9yIG1hcHBp bmcgaW5kaXJlY3QgZ3JlZnMKPj4+Pj4+PiAgICAgICAgICAgICAqLwo+Pj4+Pj4+ICAgICAgICAg aW50IG51bSA9IElORElSRUNUX0dSRUZTKHNlZ3MpICogQkxLX1JJTkdfU0laRTsKPj4+Pj4+Pgo+ Pj4+Pj4+ICAgICAgICAgQlVHX09OKCFsaXN0X2VtcHR5KCZpbmZvLT5pbmRpcmVjdF9wYWdlcykp OyAvLyA8PCBUaGlzIG9uZSBoaXRzLgo+Pj4+Pj4+ICAgICAgICAgZm9yIChpID0gMDsgaSA8IG51 bTsgaSsrKSB7Cj4+Pj4+Pj4gICAgICAgICAgICAgc3RydWN0IHBhZ2UgKmluZGlyZWN0X3BhZ2Ug PSBhbGxvY19wYWdlKEdGUF9OT0lPKTsKPj4+Pj4+PiAgICAgICAgICAgICBpZiAoIWluZGlyZWN0 X3BhZ2UpCj4+Pj4+Pj4gICAgICAgICAgICAgICAgIGdvdG8gb3V0X29mX21lbW9yeTsKPj4+Pj4+ PiAgICAgICAgICAgICBsaXN0X2FkZCgmaW5kaXJlY3RfcGFnZS0+bHJ1LCAmaW5mby0+aW5kaXJl Y3RfcGFnZXMpOwo+Pj4+Pj4+ICAgICAgICAgfQo+Pj4+Pj4+IH0KPj4+Pj4+PiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4+Pj4+Pgo+Pj4+Pj4+IEFzIHdlIGNoZWNrZWQs ICdpbmZvLT5pbmRpcmVjdF9wYWdlcycgbGlzdCBpbmRlZWQgY29udGFpbmVkIGFyb3VuZAo+Pj4+ Pj4+IDMwCj4+Pj4+Pj4gZWxlbWVudHMgYXQgdGhhdCBwb2ludC4KPj4+Pj4+Pgo+Pj4+Pj4+IEFu eSBpZGVhcyB3aGF0IG1heSBjYXVzZSB0aGlzIGFuZCBob3cgdG8gZml4IGl0Pwo+Pj4+Pj4+Cj4+ Pj4+Pj4gSWYgYW55IG90aGVyIGRhdGEgYXJlIG5lZWRlZCwgcGxlYXNlIGxldCBtZSBrbm93Lgo+ Pj4+Pj4+Cj4+Pj4+Pj4gUmVmZXJlbmNlczoKPj4+Pj4+PiBbMV0gaHR0cHM6Ly9idWdzLm9wZW52 ei5vcmcvYnJvd3NlL09WWi02NzE4CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK