From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44583) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dm9Vf-00054I-LU for qemu-devel@nongnu.org; Sun, 27 Aug 2017 22:10:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dm9Vb-00087T-HA for qemu-devel@nongnu.org; Sun, 27 Aug 2017 22:10:39 -0400 Received: from mxhk.zte.com.cn ([63.217.80.70]:61106) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dm9Va-00086b-AK for qemu-devel@nongnu.org; Sun, 27 Aug 2017 22:10:35 -0400 Date: Mon, 28 Aug 2017 10:10:17 +0800 (CST) Message-ID: <201708281010178639853@zte.com.cn> References: 1503391578-6121-1-git-send-email-wang.yong155@zte.com.cn, 3606dadd-cf55-7bfa-93c4-db11ee00d6ed@cn.fujitsu.com Mime-Version: 1.0 From: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Subject: [Qemu-devel] =?utf-8?b?562U5aSNOiBSZTogW1BBVENIdjQgMDIvMDNdIGNv?= =?utf-8?q?lo-compare=3A_Use_IOThread_to_Check_old_packetregularly_and_Pro?= =?utf-8?q?cess_pactkets_of_the_primary?= List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: zhangchen.fnst@cn.fujitsu.com Cc: pbonzini@redhat.com, stefanha@redhat.com, famz@redhat.com, jasowang@redhat.com, zhang.zhanghailiang@huawei.com, wang.guang55@zte.com.cn, lizhijian@cn.fujitsu.com, qemu-devel@nongnu.org, zhangckid@gmail.com Pj4gICBzdGF0aWMgY2hhciAqY29tcGFyZV9nZXRfcHJpX2luZGV2KE9iamVjdCAqb2JqLCBFcnJv ciAqKmVycnApPj4gQEAgLTc1OSwxMiArNzY0LDEwIEBAIHN0YXRpYyB2b2lkIGNvbG9fY29tcGFy ZV9jb21wbGV0ZShVc2VyQ3JlYXRhYmxlICp1YywgRXJyb3IgKiplcnJwKT4+ICAgez4+ICAgICAg IENvbXBhcmVTdGF0ZSAqcyA9IENPTE9fQ09NUEFSRSh1Yyk+PiAgICAgICBDaGFyZGV2ICpjaHI+ PiAtICAgIGNoYXIgdGhyZWFkX25hbWVbNjRdPj4gLSAgICBzdGF0aWMgaW50IGNvbXBhcmVfaWQ+ PiAgID4+IC0gICAgaWYgKCFzLT5wcmlfaW5kZXYgfHwgIXMtPnNlY19pbmRldiB8fCAhcy0+b3V0 ZGV2KSB7Pj4gKyAgICBpZiAoIXMtPnByaV9pbmRldiB8fCAhcy0+c2VjX2luZGV2IHx8ICFzLT5v dXRkZXYgfHwgIXMtPmlvdGhyZWFkKSB7Pj4gICAgICAgICAgIGVycm9yX3NldGcoZXJycCwgImNv bG8gY29tcGFyZSBuZWVkcyAncHJpbWFyeV9pbicgLCI+PiAtICAgICAgICAgICAgICAgICAgICIn c2Vjb25kYXJ5X2luJywnb3V0ZGV2JyBwcm9wZXJ0eSBzZXQiKT4+ICsgICAgICAgICAgICAgICAg ICAgIidzZWNvbmRhcnlfaW4nLCdvdXRkZXYnLCdpb3RocmVhZCcgcHJvcGVydHkgc2V0Iik+Pklm IHVzZXIgZm9yZ290IGlucHV0IHRoZSBpb3RocmVhZCBmaWVsZCwgdGhleSB3aWxsIGdldCB0aGUg c2VnbWVudGF0aW9uID5mYXVsdC4+UGxlYXNlIGZpeCB0aGlzIGJ1Zy4+DQoNCj5Qcm9ncmFtIHJl Y2VpdmVkIHNpZ25hbCBTSUdTRUdWLCBTZWdtZW50YXRpb24gZmF1bHQuPjB4MDAwMDU1NTU1NTk0 YzMxOSBpbiBpb3RocmVhZF9nZXRfYWlvX2NvbnRleHQgKGlvdGhyZWFkPTB4MCkgYXQgPmlvdGhy ZWFkLmM6MjcxPjI3MSAgICAgICAgcmV0dXJuIGlvdGhyZWFkLT5jdHgNCg0KVGhha25zLCBJIHdp bGwgZml4IGl0Lg0KDQoNCg0KDQpXYW5nWW9uZw0KDQoNCg0K5Y6f5aeL6YKu5Lu2DQoNCg0KDQrl j5Hku7bkurrvvJogPHpoYW5nY2hlbi5mbnN0QGNuLmZ1aml0c3UuY29tPg0K5pS25Lu25Lq677ya 546L5YuHMTAxNzA1MzAgPHBib256aW5pQHJlZGhhdC5jb20+IDxzdGVmYW5oYUByZWRoYXQuY29t PiA8ZmFtekByZWRoYXQuY29tPiA8amFzb3dhbmdAcmVkaGF0LmNvbT4gPHpoYW5nLnpoYW5naGFp bGlhbmdAaHVhd2VpLmNvbT4NCuaKhOmAgeS6uu+8miA8emhhbmdjaGVuLmZuc3RAY24uZnVqaXRz dS5jb20+546L5bm/MTAxNjU5OTIgPGxpemhpamlhbkBjbi5mdWppdHN1LmNvbT4gPHFlbXUtZGV2 ZWxAbm9uZ251Lm9yZz4gPHpoYW5nY2tpZEBnbWFpbC5jb20+DQrml6Ug5pyfIO+8mjIwMTflubQw OOaciDI05pelIDE2OjA4DQrkuLsg6aKYIO+8mlJlOiBbUEFUQ0h2NCAwMi8wM10gY29sby1jb21w YXJlOiBVc2UgSU9UaHJlYWQgdG8gQ2hlY2sgb2xkIHBhY2tldHJlZ3VsYXJseSBhbmQgUHJvY2Vz cyBwYWN0a2V0cyBvZiB0aGUgcHJpbWFyeQ0KDQoNCg0KDQoNCg0KDQpPbiAwOC8yMi8yMDE3IDA0 OjQ2IFBNLCBXYW5nIHlvbmcgd3JvdGU6DQo+IEZyb206IFdhbmcgWW9uZyA8d2FuZy55b25nMTU1 QHp0ZS5jb20uY24+DQo+DQo+IFJlbW92ZSB0aGUgdGFzayB3aGljaCBjaGVjayBvbGQgcGFja2V0 IGluIHRoZSBjb21wYXJpbmcgdGhyZWFkLA0KPiB0aGVuIHVzZSBJT3RocmVhZCBjb250ZXh0IHRp bWVyIHRvIGhhbmRsZSBpdC4NCj4NCj4gUHJvY2VzcyBwYWN0a2V0cyBpbiB0aGUgSU9UaHJlYWQg d2hpY2ggYXJyaXZlZCBvdmVyIHRoZSBzb2NrZXQuDQo+IHdlIHVzZSBpb3RocmVhZF9nZXRfZ19t YWluX2NvbnRleHQgdG8gY3JlYXRlIGEgbmV3IGdfbWFpbl9sb29wIGluDQo+IHRoZSBJT1RocmVh ZC50aGVuIHRoZSBwYWNrZXRzIGZyb20gdGhlIHByaW1hcnkgYW5kIHRoZSBzZWNvbmRhcnkNCj4g YXJlIHByb2Nlc3NlZCBpbiB0aGUgSU9UaHJlYWQuDQo+DQo+IEZpbmFsbHkgcmVtb3ZlIHRoZSBj b2xvLWNvbXBhcmUgdGhyZWFkIHVzaW5nIHRoZSBJT1RocmVhZCBpbnN0ZWFkLg0KPg0KPiBTaWdu ZWQtb2ZmLWJ5OiBXYW5nIFlvbmcgPHdhbmcueW9uZzE1NUB6dGUuY29tLmNuPg0KPiBTaWduZWQt b2ZmLWJ5OiBXYW5nIEd1YW5nIDx3YW5nLmd1YW5nNTVAenRlLmNvbS5jbj4NCj4gLS0tDQo+ICAg bmV0L2NvbG8tY29tcGFyZS5jIHwgNzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDM5IGluc2VydGlvbnMo KyksIDM2IGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvbmV0L2NvbG8tY29tcGFyZS5j IGIvbmV0L2NvbG8tY29tcGFyZS5jDQo+IGluZGV4IDVmZThlM2YuLjY5Y2IxNmUgMTAwNjQ0DQo+ IC0tLSBhL25ldC9jb2xvLWNvbXBhcmUuYw0KPiArKysgYi9uZXQvY29sby1jb21wYXJlLmMNCj4g QEAgLTI5LDYgKzI5LDcgQEANCj4gICAjaW5jbHVkZSAicWVtdS9zb2NrZXRzLmgiDQo+ICAgI2lu Y2x1ZGUgInFhcGktdmlzaXQuaCINCj4gICAjaW5jbHVkZSAibmV0L2NvbG8uaCINCj4gKyNpbmNs dWRlICJzeXNlbXUvaW90aHJlYWQuaCINCj4gICANCj4gICAjZGVmaW5lIFRZUEVfQ09MT19DT01Q QVJFICJjb2xvLWNvbXBhcmUiDQo+ICAgI2RlZmluZSBDT0xPX0NPTVBBUkUob2JqKSBcDQo+IEBA IC04MiwxMSArODMsMTAgQEAgdHlwZWRlZiBzdHJ1Y3QgQ29tcGFyZVN0YXRlIHsNCj4gICAgICAg R1F1ZXVlIGNvbm5fbGlzdA0KPiAgICAgICAvKiBoYXNodGFibGUgdG8gc2F2ZSBjb25uZWN0aW9u ICovDQo+ICAgICAgIEdIYXNoVGFibGUgKmNvbm5lY3Rpb25fdHJhY2tfdGFibGUNCj4gLSAgICAv KiBjb21wYXJlIHRocmVhZCwgYSB0aHJlYWQgZm9yIGVhY2ggTklDICovDQo+IC0gICAgUWVtdVRo cmVhZCB0aHJlYWQNCj4gICANCj4gKyAgICBJT1RocmVhZCAqaW90aHJlYWQNCj4gICAgICAgR01h aW5Db250ZXh0ICp3b3JrZXJfY29udGV4dA0KPiAtICAgIEdNYWluTG9vcCAqY29tcGFyZV9sb29w DQo+ICsgICAgUUVNVVRpbWVyICpwYWNrZXRfY2hlY2tfdGltZXINCj4gICB9IENvbXBhcmVTdGF0 ZQ0KPiAgIA0KPiAgIHR5cGVkZWYgc3RydWN0IENvbXBhcmVDbGFzcyB7DQo+IEBAIC01OTcsMjIg KzU5Nyw0MCBAQCBzdGF0aWMgdm9pZCBjb21wYXJlX3NlY19jaHJfaW4odm9pZCAqb3BhcXVlLCBj b25zdCB1aW50OF90ICpidWYsIGludCBzaXplKQ0KPiAgICAqIENoZWNrIG9sZCBwYWNrZXQgcmVn dWxhcmx5IHNvIGl0IGNhbiB3YXRjaCBmb3IgYW55IHBhY2tldHMNCj4gICAgKiB0aGF0IHRoZSBz ZWNvbmRhcnkgaGFzbid0IHByb2R1Y2VkIGVxdWl2YWxlbnRzIG9mLg0KPiAgICAqLw0KPiAtc3Rh dGljIGdib29sZWFuIGNoZWNrX29sZF9wYWNrZXRfcmVndWxhcih2b2lkICpvcGFxdWUpDQo+ICtz dGF0aWMgdm9pZCBjaGVja19vbGRfcGFja2V0X3JlZ3VsYXIodm9pZCAqb3BhcXVlKQ0KPiAgIHsN Cj4gICAgICAgQ29tcGFyZVN0YXRlICpzID0gb3BhcXVlDQo+ICAgDQo+ICAgICAgIC8qIGlmIGhh dmUgb2xkIHBhY2tldCB3ZSB3aWxsIG5vdGlmeSBjaGVja3BvaW50ICovDQo+ICAgICAgIGNvbG9f b2xkX3BhY2tldF9jaGVjayhzKQ0KPiArICAgIHRpbWVyX21vZChzLT5wYWNrZXRfY2hlY2tfdGlt ZXIsIHFlbXVfY2xvY2tfZ2V0X21zKFFFTVVfQ0xPQ0tfVklSVFVBTCkgKw0KPiArICAgICAgICAg ICAgICAgIFJFR1VMQVJfUEFDS0VUX0NIRUNLX01TKQ0KPiArfQ0KPiArDQo+ICtzdGF0aWMgdm9p ZCBjb2xvX2NvbXBhcmVfdGltZXJfaW5pdChDb21wYXJlU3RhdGUgKnMpDQo+ICt7DQo+ICsgICAg QWlvQ29udGV4dCAqY3R4ID0gaW90aHJlYWRfZ2V0X2Fpb19jb250ZXh0KHMtPmlvdGhyZWFkKQ0K PiAgIA0KPiAtICAgIHJldHVybiBUUlVFDQo+ICsgICAgcy0+cGFja2V0X2NoZWNrX3RpbWVyID0g YWlvX3RpbWVyX25ldyhjdHgsIFFFTVVfQ0xPQ0tfVklSVFVBTCwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU0NBTEVfTVMsIGNoZWNrX29sZF9wYWNrZXRfcmVndWxhciwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcykNCj4gKyAgICB0aW1lcl9tb2Qocy0+ cGFja2V0X2NoZWNrX3RpbWVyLCBxZW11X2Nsb2NrX2dldF9tcyhRRU1VX0NMT0NLX1ZJUlRVQUwp ICsNCj4gKyAgICAgICAgICAgICAgICAgICAgUkVHVUxBUl9QQUNLRVRfQ0hFQ0tfTVMpDQo+ICAg fQ0KPiAgIA0KPiAtc3RhdGljIHZvaWQgKmNvbG9fY29tcGFyZV90aHJlYWQodm9pZCAqb3BhcXVl KQ0KPiArc3RhdGljIHZvaWQgY29sb19jb21wYXJlX3RpbWVyX2RlbChDb21wYXJlU3RhdGUgKnMp DQo+ICAgew0KPiAtICAgIENvbXBhcmVTdGF0ZSAqcyA9IG9wYXF1ZQ0KPiAtICAgIEdTb3VyY2Ug KnRpbWVvdXRfc291cmNlDQo+ICsgICAgaWYgKHMtPnBhY2tldF9jaGVja190aW1lcikgew0KPiAr ICAgICAgICB0aW1lcl9kZWwocy0+cGFja2V0X2NoZWNrX3RpbWVyKQ0KPiArICAgICAgICB0aW1l cl9mcmVlKHMtPnBhY2tldF9jaGVja190aW1lcikNCj4gKyAgICAgICAgcy0+cGFja2V0X2NoZWNr X3RpbWVyID0gTlVMTA0KPiArICAgIH0NCj4gKyB9DQo+ICAgDQo+IC0gICAgcy0+d29ya2VyX2Nv bnRleHQgPSBnX21haW5fY29udGV4dF9uZXcoKQ0KPiArc3RhdGljIHZvaWQgY29sb19jb21wYXJl X2lvdGhyZWFkKENvbXBhcmVTdGF0ZSAqcykNCj4gK3sNCj4gKyAgICBvYmplY3RfcmVmKE9CSkVD VChzLT5pb3RocmVhZCkpDQo+ICsgICAgcy0+d29ya2VyX2NvbnRleHQgPSBpb3RocmVhZF9nZXRf Z19tYWluX2NvbnRleHQocy0+aW90aHJlYWQpDQo+ICAgDQo+ICAgICAgIHFlbXVfY2hyX2ZlX3Nl dF9oYW5kbGVycygmcy0+Y2hyX3ByaV9pbiwgY29tcGFyZV9jaHJfY2FuX3JlYWQsDQo+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJlX3ByaV9jaHJfaW4sIE5VTEwsIE5VTEws DQo+IEBAIC02MjEsMjAgKzYzOSw3IEBAIHN0YXRpYyB2b2lkICpjb2xvX2NvbXBhcmVfdGhyZWFk KHZvaWQgKm9wYXF1ZSkNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmVf c2VjX2Nocl9pbiwgTlVMTCwgTlVMTCwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHMsIHMtPndvcmtlcl9jb250ZXh0LCB0cnVlKQ0KPiAgIA0KPiAtICAgIHMtPmNvbXBhcmVfbG9v cCA9IGdfbWFpbl9sb29wX25ldyhzLT53b3JrZXJfY29udGV4dCwgRkFMU0UpDQo+IC0NCj4gLSAg ICAvKiBUbyBraWNrIGFueSBwYWNrZXRzIHRoYXQgdGhlIHNlY29uZGFyeSBkb2Vzbid0IG1hdGNo ICovDQo+IC0gICAgdGltZW91dF9zb3VyY2UgPSBnX3RpbWVvdXRfc291cmNlX25ldyhSRUdVTEFS X1BBQ0tFVF9DSEVDS19NUykNCj4gLSAgICBnX3NvdXJjZV9zZXRfY2FsbGJhY2sodGltZW91dF9z b3VyY2UsDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIChHU291cmNlRnVuYyljaGVja19v bGRfcGFja2V0X3JlZ3VsYXIsIHMsIE5VTEwpDQo+IC0gICAgZ19zb3VyY2VfYXR0YWNoKHRpbWVv dXRfc291cmNlLCBzLT53b3JrZXJfY29udGV4dCkNCj4gLQ0KPiAtICAgIGdfbWFpbl9sb29wX3J1 bihzLT5jb21wYXJlX2xvb3ApDQo+IC0NCj4gLSAgICBnX3NvdXJjZV91bnJlZih0aW1lb3V0X3Nv dXJjZSkNCj4gLSAgICBnX21haW5fbG9vcF91bnJlZihzLT5jb21wYXJlX2xvb3ApDQo+IC0gICAg Z19tYWluX2NvbnRleHRfdW5yZWYocy0+d29ya2VyX2NvbnRleHQpDQo+IC0gICAgcmV0dXJuIE5V TEwNCj4gKyAgICBjb2xvX2NvbXBhcmVfdGltZXJfaW5pdChzKQ0KPiAgIH0NCj4gICANCj4gICBz dGF0aWMgY2hhciAqY29tcGFyZV9nZXRfcHJpX2luZGV2KE9iamVjdCAqb2JqLCBFcnJvciAqKmVy cnApDQo+IEBAIC03NTksMTIgKzc2NCwxMCBAQCBzdGF0aWMgdm9pZCBjb2xvX2NvbXBhcmVfY29t cGxldGUoVXNlckNyZWF0YWJsZSAqdWMsIEVycm9yICoqZXJycCkNCj4gICB7DQo+ICAgICAgIENv bXBhcmVTdGF0ZSAqcyA9IENPTE9fQ09NUEFSRSh1YykNCj4gICAgICAgQ2hhcmRldiAqY2hyDQo+ IC0gICAgY2hhciB0aHJlYWRfbmFtZVs2NF0NCj4gLSAgICBzdGF0aWMgaW50IGNvbXBhcmVfaWQN Cj4gICANCj4gLSAgICBpZiAoIXMtPnByaV9pbmRldiB8fCAhcy0+c2VjX2luZGV2IHx8ICFzLT5v dXRkZXYpIHsNCj4gKyAgICBpZiAoIXMtPnByaV9pbmRldiB8fCAhcy0+c2VjX2luZGV2IHx8ICFz LT5vdXRkZXYgfHwgIXMtPmlvdGhyZWFkKSB7DQo+ICAgICAgICAgICBlcnJvcl9zZXRnKGVycnAs ICJjb2xvIGNvbXBhcmUgbmVlZHMgJ3ByaW1hcnlfaW4nICwiDQo+IC0gICAgICAgICAgICAgICAg ICAgIidzZWNvbmRhcnlfaW4nLCdvdXRkZXYnIHByb3BlcnR5IHNldCIpDQo+ICsgICAgICAgICAg ICAgICAgICAgIidzZWNvbmRhcnlfaW4nLCdvdXRkZXYnLCdpb3RocmVhZCcgcHJvcGVydHkgc2V0 IikNCg0KSWYgdXNlciBmb3Jnb3QgaW5wdXQgdGhlIGlvdGhyZWFkIGZpZWxkLCB0aGV5IHdpbGwg Z2V0IHRoZSBzZWdtZW50YXRpb24gDQpmYXVsdC4NClBsZWFzZSBmaXggdGhpcyBidWcuDQoNClBy b2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1YsIFNlZ21lbnRhdGlvbiBmYXVsdC4NCjB4MDAw MDU1NTU1NTk0YzMxOSBpbiBpb3RocmVhZF9nZXRfYWlvX2NvbnRleHQgKGlvdGhyZWFkPTB4MCkg YXQgDQppb3RocmVhZC5jOjI3MQ0KMjcxICAgICAgICByZXR1cm4gaW90aHJlYWQtPmN0eA0KDQoN ClRoYW5rcw0KWmhhbmcgQ2hlbg0KDQo+ICAgICAgICAgICByZXR1cm4NCj4gICAgICAgfSBlbHNl IGlmICghc3RyY21wKHMtPnByaV9pbmRldiwgcy0+b3V0ZGV2KSB8fA0KPiAgICAgICAgICAgICAg ICAgICFzdHJjbXAocy0+c2VjX2luZGV2LCBzLT5vdXRkZXYpIHx8DQo+IEBAIC03OTksMTIgKzgw Miw3IEBAIHN0YXRpYyB2b2lkIGNvbG9fY29tcGFyZV9jb21wbGV0ZShVc2VyQ3JlYXRhYmxlICp1 YywgRXJyb3IgKiplcnJwKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdfZnJlZSwNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25uZWN0aW9uX2Rlc3Ryb3kpDQo+ICAgDQo+ IC0gICAgc3ByaW50Zih0aHJlYWRfbmFtZSwgImNvbG8tY29tcGFyZSAlZCIsIGNvbXBhcmVfaWQp DQo+IC0gICAgcWVtdV90aHJlYWRfY3JlYXRlKCZzLT50aHJlYWQsIHRocmVhZF9uYW1lLA0KPiAt ICAgICAgICAgICAgICAgICAgICAgICBjb2xvX2NvbXBhcmVfdGhyZWFkLCBzLA0KPiAtICAgICAg ICAgICAgICAgICAgICAgICBRRU1VX1RIUkVBRF9KT0lOQUJMRSkNCj4gLSAgICBjb21wYXJlX2lk KysNCj4gLQ0KPiArICAgIGNvbG9fY29tcGFyZV9pb3RocmVhZChzKQ0KPiAgICAgICByZXR1cm4N Cj4gICB9DQo+ICAgDQo+IEBAIC04NDgsNiArODQ2LDEwIEBAIHN0YXRpYyB2b2lkIGNvbG9fY29t cGFyZV9pbml0KE9iamVjdCAqb2JqKQ0KPiAgICAgICBvYmplY3RfcHJvcGVydHlfYWRkX3N0cihv YmosICJvdXRkZXYiLA0KPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wYXJlX2dl dF9vdXRkZXYsIGNvbXBhcmVfc2V0X291dGRldiwNCj4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTlVMTCkNCj4gKyAgICBvYmplY3RfcHJvcGVydHlfYWRkX2xpbmsob2JqLCAiaW90aHJl YWQiLCBUWVBFX0lPVEhSRUFELA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIChPYmpl Y3QgKiopJnMtPmlvdGhyZWFkLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9iamVj dF9wcm9wZXJ0eV9hbGxvd19zZXRfbGluaywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPQkpfUFJPUF9MSU5LX1VOUkVGX09OX1JFTEVBU0UsIE5VTEwpDQo+ICAgDQo+ICAgICAgIHMt PnZuZXRfaGRyID0gZmFsc2UNCj4gICAgICAgb2JqZWN0X3Byb3BlcnR5X2FkZF9ib29sKG9iaiwg InZuZXRfaGRyX3N1cHBvcnQiLCBjb21wYXJlX2dldF92bmV0X2hkciwNCj4gQEAgLTg2MSw5ICs4 NjMsNyBAQCBzdGF0aWMgdm9pZCBjb2xvX2NvbXBhcmVfZmluYWxpemUoT2JqZWN0ICpvYmopDQo+ ICAgICAgIHFlbXVfY2hyX2ZlX2RlaW5pdCgmcy0+Y2hyX3ByaV9pbiwgZmFsc2UpDQo+ICAgICAg IHFlbXVfY2hyX2ZlX2RlaW5pdCgmcy0+Y2hyX3NlY19pbiwgZmFsc2UpDQo+ICAgICAgIHFlbXVf Y2hyX2ZlX2RlaW5pdCgmcy0+Y2hyX291dCwgZmFsc2UpDQo+IC0NCj4gLSAgICBnX21haW5fbG9v cF9xdWl0KHMtPmNvbXBhcmVfbG9vcCkNCj4gLSAgICBxZW11X3RocmVhZF9qb2luKCZzLT50aHJl YWQpDQo+ICsgICAgY29sb19jb21wYXJlX3RpbWVyX2RlbChzKQ0KPiAgIA0KPiAgICAgICAvKiBS ZWxlYXNlIGFsbCB1bmhhbmRsZWQgcGFja2V0cyBhZnRlciBjb21wYXJlIHRoZWFkIGV4aXRlZCAq Lw0KPiAgICAgICBnX3F1ZXVlX2ZvcmVhY2goJnMtPmNvbm5fbGlzdCwgY29sb19mbHVzaF9wYWNr ZXRzLCBzKQ0KPiBAQCAtODcxLDYgKzg3MSw5IEBAIHN0YXRpYyB2b2lkIGNvbG9fY29tcGFyZV9m aW5hbGl6ZShPYmplY3QgKm9iaikNCj4gICAgICAgZ19xdWV1ZV9jbGVhcigmcy0+Y29ubl9saXN0 KQ0KPiAgIA0KPiAgICAgICBnX2hhc2hfdGFibGVfZGVzdHJveShzLT5jb25uZWN0aW9uX3RyYWNr X3RhYmxlKQ0KPiArICAgIGlmIChzLT5pb3RocmVhZCkgew0KPiArICAgICAgICBvYmplY3RfdW5y ZWYoT0JKRUNUKHMtPmlvdGhyZWFkKSkNCj4gKyAgICB9DQo+ICAgICAgIGdfZnJlZShzLT5wcmlf aW5kZXYpDQo+ICAgICAgIGdfZnJlZShzLT5zZWNfaW5kZXYpDQo+ICAgICAgIGdfZnJlZShzLT5v dXRkZXYpDQoNCi0tIA0KVGhhbmtzDQpaaGFuZyBDaGVu