From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id A22D6C982D7 for ; Sat, 19 Sep 2026 09:47:59 +0000 (UTC) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 652C24026A; Sat, 19 Sep 2026 11:47:58 +0200 (CEST) Received: from dkmailrelay1.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id 2EA77400EF for ; Sat, 19 Sep 2026 11:47:56 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesys.local [192.168.4.10]) by dkmailrelay1.smartsharesystems.com (Postfix) with ESMTP id E8A03205CD; Sat, 19 Sep 2026 11:47:55 +0200 (CEST) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Subject: RE: [PATCH 6/6] mempool: no cache size limit X-MimeOLE: Produced By Microsoft Exchange V6.5 Date: Sat, 19 Sep 2026 11:47:52 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35F65A56@smartserver.smartshare.dk> In-Reply-To: <47b4d1bbc1644820aec4e9844dbfb96a@huawei.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH 6/6] mempool: no cache size limit Thread-Index: AQHdQRBWyXIpNFvS4EakmQe4E/7zIbbUT1vAgAAodBCAACZywIABE0Kg References: <20260910103613.808038-1-mb@smartsharesystems.com> <20260910103613.808038-7-mb@smartsharesystems.com> <98CBD80474FA8B44BF855DF32C47DC35F65A55@smartserver.smartshare.dk> <47b4d1bbc1644820aec4e9844dbfb96a@huawei.com> From: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Konstantin Ananyev" , , "Andrew Rybchenko" , "Bruce Richardson" , "Stephen Hemminger" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PiA+ID4gPiBkaWZmIC0tZ2l0IGEvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuaA0KPiBiL2xpYi9t ZW1wb29sL3J0ZV9tZW1wb29sLmgNCj4gPiA+ID4gaW5kZXggNWE4MWU1M2E5Zi4uNWZjN2NkYjc5 YyAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuaA0KPiA+ID4g PiArKysgYi9saWIvbWVtcG9vbC9ydGVfbWVtcG9vbC5oDQo+ID4gPiA+IEBAIC0xMDUsOCArMTA1 LDcgQEAgc3RydWN0IF9fcnRlX2NhY2hlX2FsaWduZWQgcnRlX21lbXBvb2xfY2FjaGUNCj4gew0K PiA+ID4gPiAgCX0gc3RhdHM7ICAgICAgICAgICAgICAgICAgICAgICAgLyoqPCBTdGF0aXN0aWNz ICovDQo+ID4gPiA+ICAjZW5kaWYNCj4gPiA+ID4gIAkvKiogQ2FjaGUgb2JqZWN0cyAqLw0KPiA+ ID4gPiAtCWFsaWduYXMoUlRFX0NBQ0hFX0xJTkVfU0laRSkgdm9pZA0KPiA+ID4gPiAqb2Jqc1tS VEVfTUVNUE9PTF9DQUNIRV9NQVhfU0laRV07DQo+ID4gPiA+IC0JUlRFX0NBQ0hFX0dVQVJEOw0K PiA+ID4gPiArCWFsaWduYXMoUlRFX0NBQ0hFX0xJTkVfU0laRSkgdm9pZCAqb2Jqc1tdOw0KPiA+ ID4NCj4gPiA+IExHVE0gdG8gbWUgaW4gZ2VuZXJhbC4NCj4gPiA+IEFnYWluLCBqdXN0IGFzIGEg dGhvdWdodDoNCj4gPiA+IFdvdWxkIGl0IGJlIHBsYXVzaWJsZSB0byBoYXZlIGEgcG9pbnRlciBw ZXIgbGNvcmUgaW5zdGVhZD8NCj4gPiA+IGkuZS46DQo+ID4gPiBhbGlnbmFzKFJURV9DQUNIRV9M SU5FX1NJWkUpIHZvaWQgKm9ianNbUlRFX01BWF9MQ09SRV07DQo+ID4gPiBUaGF0IHdheSB3ZSBj YW4gYXZvaWQgbXVsdGlwbHkgb3AgaW4gcnRlX21lbXBvb2xfZGVmYXVsdF9jYWNoZSgpLA0KPiA+ ID4gYWxzbyBpdCB3aWxsIGFsbG93IHVzIHRvIGFsbG9jYXRlIGxjb3JlIGNhY2hlIG9uIGRlbWFu ZCAob25seSBmb3INCj4gPiA+IGVuYWJsZWQgbGNvcmVzKS4NCj4gPiA+IEFzIGEgZG93bnNpZGUg LSBzaXplb2YocnRlX21lbXBvb2xfY2FjaGUpIHdpbGwgZ3JvdyBieQ0KPiA+ID4gKFJURV9NQVhf TENPUkUgLSAxKSAqIHNpemVvZih1aW50cHRyX3QpLCBidXQgdGhhdCdzIHByb2JhYmx5IG5vdCBh DQo+IGJpZw0KPiA+ID4gZGVhbC4NCj4gPg0KPiA+IFRoZSBtdWx0aXBseSBvcCBpcyBub3QgZXhw ZW5zaXZlLg0KPiA+DQo+ID4gVGhpcyBwYXRjaCBoYXM6DQo+ID4gc3RydWN0IHJ0ZV9tZW1wb29s X2NhY2hlICpjYWNoZSA9DQo+ID4gCShzdHJ1Y3QgcnRlX21lbXBvb2xfY2FjaGUgKikNCj4gPiAJ UlRFX1BUUl9BREQoDQo+ID4gCW1wLT5sb2NhbF9jYWNoZSwNCj4gPiAJbGNvcmVfaWQgKiAoc2l6 ZV90KW1wLT5zaXplb2ZfY2FjaGVfcGVyX2xjb3JlKTsNCj4gPg0KPiA+IFdoaWNoIGNvbXBpbGVz IHRvIHNvbWV0aGluZyBsaWtlOg0KPiA+IHB0ciA9IExPQUQobXAgKyBvZmZzZXRvZihjYWNoZV9w dHIpKTsNCj4gPiBvZmYgPSBMT0FEKG1wICsgb2Zmc2V0b2Yoc2l6ZW9mX2NhY2hlX3Blcl9sY29y ZSkpOw0KPiA+IG9mZiAqPSBsY29yZV9pZDsNCj4gPiBwdHIgKz0gb2ZmOw0KPiA+DQo+ID4NCj4g PiBZZXMsIGhhdmluZyBhbiBhcnJheSBvZiBwb2ludGVycyB0byB0aGUgY2FjaGVzIGluIHRoZSBt ZW1wb29sIHdvdWxkDQo+IGJlIGEgZ29vZA0KPiA+IGFsdGVybmF0aXZlOg0KPiA+DQo+ID4gc3Ry dWN0IF9fcnRlX2NhY2hlX2FsaWduZWQgcnRlX21lbXBvb2wgew0KPiA+IC0Jc3RydWN0IHJ0ZV9t ZW1wb29sX2NhY2hlICpsb2NhbF9jYWNoZTsgLyoqPCBQZXItbGNvcmUgbG9jYWwgY2FjaGUNCj4g Ki8NCj4gPg0KPiA+IFsuLi5dDQo+ID4gCXN0cnVjdCBydGVfbWVtcG9vbF9kZWJ1Z19zdGF0cyBz dGF0c1tSVEVfTUFYX0xDT1JFICsgMV07DQo+ID4gI2VuZGlmDQo+ID4gKwkvKiogUGVyLWxjb3Jl IGxvY2FsIGNhY2hlICovDQo+ID4gKwlzdHJ1Y3QgcnRlX21lbXBvb2xfY2FjaGUgKmxvY2FsX2Nh Y2hlW1JURV9NQVhfTENPUkVdOw0KPiA+IH07DQo+IA0KPiBZZXMsIHlvdSByaWdodCwgb2ZmLWNv dXJzZSBpdCBoYXMgdG8gYmUgdGhhdCB3YXkuDQo+IA0KPiA+DQo+ID4NCj4gPiBMb29rdXAgZm9y IHRoYXQgd291bGQgYmVjb21lIHNpbXBsZToNCj4gPiBzdHJ1Y3QgcnRlX21lbXBvb2xfY2FjaGUg KmNhY2hlID0NCj4gPiAJbXAtPmxvY2FsX2NhY2hlW2xjb3JlX2lkXTsNCj4gPg0KPiA+IFdoaWNo IGNvbXBpbGVzIHRvIHNvbWV0aGluZyBsaWtlOg0KPiA+IG9mZiA9IGxjb3JlX2lkICogc2l6ZW9m KHZvaWQqKTsgLy8gU2hpZnQgb3BlcmF0aW9uDQo+ID4gb2ZmICs9IG9mZnNldG9mKGNhY2hlX3B0 cl9hcnJheSk7DQo+ID4gcHRyID0gTE9BRChtcCArIG9mZik7DQo+ID4NCj4gPiBZZXMsIEkgc3Vw cG9zZSB0aGF0IHdvdWxkIGJlIGZhc3Rlci4NCj4gPiBJJ2xsIHRha2UgYSBzdGFiIGF0IGl0Lg0K DQpJIHRyaWVkIGl0LCBidXQgdGhlIG1lbXBvb2wgcGVyZiB0ZXN0IHlpZWxkcyBzaW1pbGFyIHJl c3VsdHMgb24gb3VyIGJ1aWxkIHNlcnZlciAoYSB2aXJ0dWFsIG1hY2hpbmUpLg0KDQpUaGVyZSBh cmUgYWxzbyBhIGNvdXBsZSBvZiBkaXNhZHZhbnRhZ2VzOg0KMS4gVGhlIHRhYmxlIGhhcyBhIGxh cmdlciBtZW1vcnkgKGFuZCBjYWNoZSkgZm9vdHByaW50IHRoYW4gdGhlIHNvbHV0aW9uIHdpdGgg dGhlIGJhc2UgcG9pbnRlciBhbmQgbXVsdGlwbGllci4gV2Uga25ldyB0aGF0LCBhbmQgY29uc2lk ZXIgaXQgaW5zaWduaWZpY2FudC4NCjIuIElmIHRoZSBtZW1wb29sIGNhY2hlIG1pc3NlcywgdGhl IGJhY2tlbmQgbXVzdCBiZSBpbnZvbHZlZCwgYW5kIHRoaXMgbmVlZHMgdG8gbG9hZCBtcC0+b3Bz X2luZGV4LiBXaXRoIHRoZSBiYXNlL211bHRpcGxpZXIgdmFyaWFudCwgb3BzX2luZGV4IGlzIGlu IHRoZSBzYW1lIGNhY2hlIGxpbmUgYXMgdGhlIGxvY2FsX2NhY2hlIHBvaW50ZXIsIGFuZCB0aHVz IGFscmVhZHkgaG90IGluIHRoZSBjYWNoZS4gV2l0aCB0aGUgbGNvcmVfaWQgaW5kZXhlZCBsb2Nh bF9jYWNoZSBwb2ludGVyIGFycmF5LCBvcHNfaW5kZXggaXMgbm90IGhvdCBpbiB0aGUgY2FjaGUu IE9idmlvdXNseSwgd2Ugd2FudCB0byBvcHRpbWl6ZSBmb3IgbWVtcG9vbCBjYWNoZSBoaXRzLCBz byB0aGlzIHNob3VsZCBiZSBjb25zaWRlcmVkIGluc2lnbmlmaWNhbnQ7IEkgb25seSBtZW50aW9u IGl0IGZvciBjb21wbGV0ZW5lc3MuDQoNCkkgdGhpbmsgd2Ugc2hvdWxkIHN0aWNrIHdpdGggdGhl IHBhdGNoIHNlcmllcyBhcyBpcy4NCg0KSWYgeW91IHdhbnQgdG8gcGxheSBhcm91bmQgd2l0aCB0 aGUgbGNvcmVfaWQgaW5kZXhlZCBsb2NhbF9jYWNoZSBwb2ludGVyIGFycmF5LCBhIHBhdGNoIGlz IHByb3ZpZGVkIGF0IHRoZSBib3R0b20gb2YgdGhpcyBlbWFpbC4NCg0KPiA+DQo+ID4gQ2FjaGVz IGZvciBhbGwgbGNvcmVzIG11c3QgYmUgYWxsb2NhdGVkIGF0IG1lbXBvb2wgY3JlYXRpb24uIE9y IHdlDQo+IHdvdWxkIG5lZWQNCj4gPiBzcGVjaWFsIGhhbmRsaW5nIHRvIGFsbG9jYXRlL2ZyZWUg dGhlIHJlbGV2YW50IHBlci1sY29yZSBjYWNoZSBmb3INCj4gYWxsIHJlZ2lzdGVyZWQNCj4gPiBt ZW1wb29scyB3aGVuZXZlciBhIG5ldyBsY29yZSBpcyByZWdpc3RlcmVkIGZvciB1c2UgYXQgcnVu dGltZSwgZS5nLg0KPiBieQ0KPiA+IHJ0ZV90aHJlYWRfcmVnaXN0ZXIoKS91bnJlZ2lzdGVyKCku DQo+IA0KPiBNeSBpbml0aWFsIHRob3VnaHQgd2FzOg0KPiB3ZSBjYW4gYWxsb2NhdGUgY2FjaGVz IGZvciBhbGwgbGNvcmVzIHRoYXQgYXJlIGFscmVhZHkgZW5hYmxlZCBhdA0KPiBtZW1wb29sX2lu aXQgdGltZS4NCj4gSWYgbGF0ZXIsIHN1Y2ggY29yZSB3aWxsIGJlIGRpc2FibGVkIC0gdGhhdCdz IHByb2JhYmx5IG5vdCBhIGJpZyBkZWFsLA0KPiB3ZSBjYW4gc2ltcGx5IGxlZnQgdGhlIGNhY2hl IGZvciBpdA0KPiBoYW5naW5nIGFyb3VuZCB1bnVzZWQgdW50aWwgbWVtcG9vbCB3aWxsIGJlIGRl c3Ryb3llZC4NCj4gRm9yIGxjb3JlcyB0aGF0IHdpbGwgYmUgZW5hYmxlZCBhZnRlciBtZW1wb29s X2luaXQoKSB3ZSBjYW4gdXNlIGxhenkNCj4gYWxsb2NhdGlvbiAoYXQgZmlyc3QgYWNjZXNzIHRv IGl0KS4NCj4gQnV0IGFmdGVyIGFub3RoZXIgdGhvdWdodCAtIHRoYXQncyBwcm9iYWJseSBub3Qg c3VjaCBnb29kIGlkZWEsIGFzIGluDQo+IHByaW5jaXBsZSBydGVfbWFsbG9jKCkgaGVyZSBjYW4g ZmFpbC4NCj4gDQo+ID4gPg0KPiA+ID4gPiAgfTsNCj4gPiA+ID4NCj4gPiA+ID4gIC8qKg0KPiA+ ID4gPiBAQCAtMjY1LDYgKzI2NCw3IEBAIHN0cnVjdCBfX3J0ZV9jYWNoZV9hbGlnbmVkIHJ0ZV9t ZW1wb29sIHsNCj4gPiA+ID4gIAlpbnQzMl90IG9wc19pbmRleDsNCj4gPiA+ID4NCj4gPiA+ID4g IAlzdHJ1Y3QgcnRlX21lbXBvb2xfY2FjaGUgKmxvY2FsX2NhY2hlOyAvKio8IFBlci1sY29yZSBs b2NhbA0KPiBjYWNoZQ0KPiA+ID4gKi8NCj4gPiA+ID4gKwl1aW50MzJfdCBzaXplb2ZfY2FjaGVf cGVyX2xjb3JlOyAvKio8IE11bHRpcGxpZXIgZm9yDQo+IGluZGV4aW5nDQo+ID4gPiBpbnRvIHRo ZQ0KPiA+ID4gPiBsb2NhbCBjYWNoZS4gKi8NCj4gPiA+ID4NCj4gPiA+ID4gIAl1aW50MzJfdCBw b3B1bGF0ZWRfc2l6ZTsgICAgICAgICAvKio8IE51bWJlciBvZiBwb3B1bGF0ZWQNCj4gPiA+IG9i amVjdHMuICovDQo+ID4gPiA+ICAJc3RydWN0IHJ0ZV9tZW1wb29sX29iamhkcl9saXN0IGVsdF9s aXN0OyAvKio8IExpc3Qgb2YNCj4gb2JqZWN0cyBpbg0KPiA+ID4gcG9vbCAqLw0KPiA+ID4gPiBA QCAtMTA1MCw4ICsxMDUwLDcgQEAgcnRlX21lbXBvb2xfZnJlZShzdHJ1Y3QgcnRlX21lbXBvb2wg Km1wKTsNCj4gPiA+ID4gICAqIEBwYXJhbSBjYWNoZV9zaXplDQo+ID4gPiA+ICAgKiAgIElmIGNh Y2hlX3NpemUgaXMgbm9uLXplcm8sIHRoZSBydGVfbWVtcG9vbCBsaWJyYXJ5IHdpbGwgdHJ5DQo+ IHRvDQo+ID4gPiA+ICAgKiAgIGxpbWl0IHRoZSBhY2Nlc3NlcyB0byB0aGUgY29tbW9uIGxvY2ts ZXNzIHBvb2wsIGJ5DQo+IG1haW50YWluaW5nDQo+ID4gPiBhDQo+ID4gPiA+IC0gKiAgIHBlci1s Y29yZSBvYmplY3QgY2FjaGUuIFRoaXMgYXJndW1lbnQgbXVzdCBiZSBsb3dlciBvcg0KPiBlcXVh bCB0bw0KPiA+ID4gPiAtICogICBSVEVfTUVNUE9PTF9DQUNIRV9NQVhfU0laRSBhbmQgbi4NCj4g PiA+ID4gKyAqICAgcGVyLWxjb3JlIG9iamVjdCBjYWNoZS4gVGhpcyBhcmd1bWVudCBtdXN0IGJl IGxvd2VyIG9yDQo+IGVxdWFsIHRvDQo+ID4gPiBuLg0KPiA+ID4gPiAgICogICBUaGUgYWNjZXNz IHRvIHRoZSBwZXItbGNvcmUgdGFibGUgaXMgb2YgY291cnNlDQo+ID4gPiA+ICAgKiAgIGZhc3Rl ciB0aGFuIHRoZSBtdWx0aS1wcm9kdWNlci9jb25zdW1lciBwb29sLiBUaGUgY2FjaGUgY2FuDQo+ IGJlDQo+ID4gPiA+ICAgKiAgIGRpc2FibGVkIGlmIHRoZSBjYWNoZV9zaXplIGFyZ3VtZW50IGlz IHNldCB0byAwOyBpdCBjYW4gYmUNCj4gPiA+IHVzZWZ1bCB0bw0KPiA+ID4gPiBAQCAtMTM3MSwx NSArMTM3MCwxNyBAQCBydGVfbWVtcG9vbF9jYWNoZV9jcmVhdGUodWludDMyX3Qgc2l6ZSwNCj4g aW50DQo+ID4gPiA+IHNvY2tldF9pZCkNCj4gPiA+ID4gIHN0YXRpYyBfX3J0ZV9hbHdheXNfaW5s aW5lIHN0cnVjdCBydGVfbWVtcG9vbF9jYWNoZSAqDQo+ID4gPiA+ICBydGVfbWVtcG9vbF9kZWZh dWx0X2NhY2hlKHN0cnVjdCBydGVfbWVtcG9vbCAqbXAsIHVuc2lnbmVkDQo+IGxjb3JlX2lkKQ0K PiA+ID4gPiAgew0KPiA+ID4gPiAtCWlmICh1bmxpa2VseShtcC0+Y2FjaGVfc2l6ZSA9PSAwKSkN Cj4gPiA+ID4gKwlpZiAodW5saWtlbHkobXAtPmxvY2FsX2NhY2hlID09IE5VTEwpKQ0KPiA+ID4g PiAgCQlyZXR1cm4gTlVMTDsNCj4gPiA+ID4NCj4gPiA+ID4gIAlpZiAodW5saWtlbHkobGNvcmVf aWQgPT0gTENPUkVfSURfQU5ZKSkNCj4gPiA+ID4gIAkJcmV0dXJuIE5VTEw7DQo+ID4gPiA+DQo+ ID4gPiA+IC0JcnRlX21lbXBvb2xfdHJhY2VfZGVmYXVsdF9jYWNoZShtcCwgbGNvcmVfaWQsDQo+ ID4gPiA+IC0JCSZtcC0+bG9jYWxfY2FjaGVbbGNvcmVfaWRdKTsNCj4gPiA+ID4gLQlyZXR1cm4g Jm1wLT5sb2NhbF9jYWNoZVtsY29yZV9pZF07DQo+ID4gPiA+ICsJc3RydWN0IHJ0ZV9tZW1wb29s X2NhY2hlICpjYWNoZSA9IChzdHJ1Y3QgcnRlX21lbXBvb2xfY2FjaGUNCj4gPiA+ID4gKilSVEVf UFRSX0FERChtcC0+bG9jYWxfY2FjaGUsDQo+ID4gPiA+ICsJCQlsY29yZV9pZCAqIChzaXplX3Qp bXAtPnNpemVvZl9jYWNoZV9wZXJfbGNvcmUpOw0KPiA+ID4gPiArCXJ0ZV9tZW1wb29sX3RyYWNl X2RlZmF1bHRfY2FjaGUobXAsIGxjb3JlX2lkLCBjYWNoZSk7DQo+ID4gPiA+ICsJX19ydGVfYXNz dW1lKGNhY2hlICE9IE5VTEwpOw0KPiA+ID4gPiArCXJldHVybiBjYWNoZTsNCj4gPiA+ID4gIH0N Cj4gPiA+ID4NCj4gPiA+ID4gIC8qKg0KPiA+ID4gPiAtLQ0KPiA+ID4gPiAyLjQzLjANCg0KZGlm ZiAtLWdpdCBhL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjZfMTEucnN0IGIvZG9jL2d1 aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yNl8xMS5yc3QNCmluZGV4IDY0ZjY4MDJlNTguLjQyZmM1 ZDJhZDIgMTAwNjQ0DQotLS0gYS9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzI2XzExLnJz dA0KKysrIGIvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yNl8xMS5yc3QNCkBAIC0xMDUs NyArMTA1LDcgQEAgQVBJIENoYW5nZXMNCiAgIGFzIGl0IGlzIG9mdGVuIHVzZWQgZm9yIHRoZSBg YGNhY2hlX3NpemVgYCBwYXJhbWV0ZXIgd2hlbiBjcmVhdGluZyBtZW1wb29scy4NCg0KICogbWVt cG9vbDogVXBkYXRlZCB0aGUgYGBydGVfbWVtcG9vbGBgIHN0cnVjdHVyZSBhcyBmb2xsb3dzOg0K LSAgLSBBZGRlZCB0aGUgYGBzaXplb2ZfY2FjaGVfcGVyX2xjb3JlYGAgZmllbGQsIGZvciBpbmRl eGluZyBpbnRvIHRoZSBwZXItbGNvcmUgbG9jYWwgY2FjaGUuDQorICAtIENoYW5nZWQgdGhlIGBg bG9jYWxfY2FjaGVgYCBmaWVsZCB0byBhcnJheSBvZiBwb2ludGVycyB0byBwZXItbGNvcmUgbG9j YWwgY2FjaGUsIGZvciBpbXByb3ZlZCBsb29rdXAgcGVyZm9ybWFuY2UuDQoNCiAqIG1lbXBvb2w6 IFVwZGF0ZWQgdGhlIGBgcnRlX21lbXBvb2xfY2FjaGVgYCBzdHJ1Y3R1cmUgYXMgZm9sbG93czoN CiAgIC0gUmVtb3ZlZCB0aGUgZGVwcmVjYXRlZCBhbmQgb2Jzb2xldGUgYGBmbHVzaHRocmVzaGBg IGZpZWxkLg0KZGlmZiAtLWdpdCBhL2xpYi9tZW1wb29sL3J0ZV9tZW1wb29sLmMgYi9saWIvbWVt cG9vbC9ydGVfbWVtcG9vbC5jDQppbmRleCAwNjlhYWJhYTcwLi41NTZlY2ZlMTUwIDEwMDY0NA0K LS0tIGEvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuYw0KKysrIGIvbGliL21lbXBvb2wvcnRlX21l bXBvb2wuYw0KQEAgLTc1OSw3ICs3NTksNyBAQCBtZW1wb29sX2NhY2hlX2luaXQoc3RydWN0IHJ0 ZV9tZW1wb29sX2NhY2hlICpjYWNoZSwgdWludDMyX3Qgc2l6ZSkNCiAvKg0KICAqIENyZWF0ZSBh bmQgaW5pdGlhbGl6ZSBhIGNhY2hlIGZvciBvYmplY3RzIHRoYXQgYXJlIHJldHJpZXZlZCBmcm9t IGFuZA0KICAqIHJldHVybmVkIHRvIGFuIHVuZGVybHlpbmcgbWVtcG9vbC4gVGhpcyBzdHJ1Y3R1 cmUgaXMgaWRlbnRpY2FsIHRvIHRoZQ0KLSAqIGxvY2FsX2NhY2hlIGVudHJ5IHBvaW50ZWQgdG8g YnkgdGhlIG1lbXBvb2wgc3RydWN0dXJlLg0KKyAqIGxvY2FsX2NhY2hlW2xjb3JlX2lkXSBwb2lu dGVkIHRvIGJ5IHRoZSBtZW1wb29sIHN0cnVjdHVyZS4NCiAgKi8NCiBSVEVfRVhQT1JUX1NZTUJP TChydGVfbWVtcG9vbF9jYWNoZV9jcmVhdGUpDQogc3RydWN0IHJ0ZV9tZW1wb29sX2NhY2hlICoN CkBAIC05MzAsNiArOTMwLDcgQEAgcnRlX21lbXBvb2xfY3JlYXRlX2VtcHR5KGNvbnN0IGNoYXIg Km5hbWUsIHVuc2lnbmVkIG4sIHVuc2lnbmVkIGVsdF9zaXplLA0KICAgICAgICBtcC0+ZWx0X3Np emUgPSBvYmpzei5lbHRfc2l6ZTsNCiAgICAgICAgbXAtPmhlYWRlcl9zaXplID0gb2Jqc3ouaGVh ZGVyX3NpemU7DQogICAgICAgIG1wLT50cmFpbGVyX3NpemUgPSBvYmpzei50cmFpbGVyX3NpemU7 DQorICAgICAgIC8qIFNpemUgb2YgZGVmYXVsdCBjYWNoZXMsIHplcm8gbWVhbnMgZGlzYWJsZWQu ICovDQogICAgICAgIG1wLT5jYWNoZV9zaXplID0gY2FjaGVfc2l6ZTsNCiAgICAgICAgbXAtPnBy aXZhdGVfZGF0YV9zaXplID0gcHJpdmF0ZV9kYXRhX3NpemU7DQogICAgICAgIFNUQUlMUV9JTklU KCZtcC0+ZWx0X2xpc3QpOw0KQEAgLTk1MywxNyArOTU0LDE2IEBAIHJ0ZV9tZW1wb29sX2NyZWF0 ZV9lbXB0eShjb25zdCBjaGFyICpuYW1lLCB1bnNpZ25lZCBuLCB1bnNpZ25lZCBlbHRfc2l6ZSwN CiAgICAgICAgICAgICAgICBnb3RvIGV4aXRfdW5sb2NrOw0KICAgICAgICB9DQoNCi0gICAgICAg LyogbG9jYWxfY2FjaGUgcG9pbnRlciBpcyBvbmx5IHNldCBpZiBwZXItbGNvcmUgbG9jYWwgY2Fj aGUgaXMgcHJlc2VudCAqLw0KKyAgICAgICAvKiBsb2NhbF9jYWNoZSBwb2ludGVycyBhcmUgb25s eSBzZXQgaWYgcGVyLWxjb3JlIGxvY2FsIGNhY2hlIGlzIHByZXNlbnQgKi8NCiAgICAgICAgaWYg KGNhY2hlX3NpemUgIT0gMCkgew0KLSAgICAgICAgICAgICAgIG1wLT5sb2NhbF9jYWNoZSA9IChz dHJ1Y3QgcnRlX21lbXBvb2xfY2FjaGUgKikNCi0gICAgICAgICAgICAgICAgICAgICAgIFJURV9Q VFJfQUREKG1wLCBzaXplb2Yoc3RydWN0IHJ0ZV9tZW1wb29sKSArIHByaXZhdGVfZGF0YV9zaXpl KTsNCi0gICAgICAgICAgICAgICBtcC0+c2l6ZW9mX2NhY2hlX3Blcl9sY29yZSA9IHNpemVvZl9j YWNoZV9wZXJfbGNvcmU7DQotDQogICAgICAgICAgICAgICAgLyogSW5pdCBhbGwgZGVmYXVsdCBj YWNoZXMuICovDQotICAgICAgICAgICAgICAgc3RydWN0IHJ0ZV9tZW1wb29sX2NhY2hlICpjYWNo ZSA9IG1wLT5sb2NhbF9jYWNoZTsNCisgICAgICAgICAgICAgICBzdHJ1Y3QgcnRlX21lbXBvb2xf Y2FjaGUgKmNhY2hlID0gKHN0cnVjdCBydGVfbWVtcG9vbF9jYWNoZSAqKQ0KKyAgICAgICAgICAg ICAgICAgICAgICAgUlRFX1BUUl9BREQobXAsIHNpemVvZihzdHJ1Y3QgcnRlX21lbXBvb2wpICsg cHJpdmF0ZV9kYXRhX3NpemUpOw0KICAgICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaW50IGxj b3JlX2lkID0gMDsgbGNvcmVfaWQgPCBSVEVfTUFYX0xDT1JFOw0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsY29yZV9pZCsrLCBjYWNoZSA9IFJURV9QVFJfQUREKGNhY2hlLCBzaXpl b2ZfY2FjaGVfcGVyX2xjb3JlKSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGNv cmVfaWQrKywgY2FjaGUgPSBSVEVfUFRSX0FERChjYWNoZSwgc2l6ZW9mX2NhY2hlX3Blcl9sY29y ZSkpIHsNCisgICAgICAgICAgICAgICAgICAgICAgIG1wLT5sb2NhbF9jYWNoZVtsY29yZV9pZF0g PSBjYWNoZTsNCiAgICAgICAgICAgICAgICAgICAgICAgIG1lbXBvb2xfY2FjaGVfaW5pdChjYWNo ZSwgY2FjaGVfc2l6ZSk7DQorICAgICAgICAgICAgICAgfQ0KICAgICAgICB9DQoNCiAgICAgICAg dGUtPmRhdGEgPSBtcDsNCkBAIC0xMDI2LDE3ICsxMDI2LDE2IEBAIFJURV9FWFBPUlRfU1lNQk9M KHJ0ZV9tZW1wb29sX2F2YWlsX2NvdW50KQ0KIHVuc2lnbmVkIGludA0KIHJ0ZV9tZW1wb29sX2F2 YWlsX2NvdW50KGNvbnN0IHN0cnVjdCBydGVfbWVtcG9vbCAqbXApDQogew0KLSAgICAgICB1bnNp Z25lZCBpbnQgY291bnQ7DQorICAgICAgIHVuc2lnbmVkIGNvdW50Ow0KKyAgICAgICB1bnNpZ25l ZCBsY29yZV9pZDsNCg0KICAgICAgICBjb3VudCA9IHJ0ZV9tZW1wb29sX29wc19nZXRfY291bnQo bXApOw0KDQotICAgICAgIGlmIChtcC0+bG9jYWxfY2FjaGUgPT0gTlVMTCkNCisgICAgICAgaWYg KG1wLT5jYWNoZV9zaXplID09IDApDQogICAgICAgICAgICAgICAgcmV0dXJuIGNvdW50Ow0KDQot ICAgICAgIGNvbnN0IHN0cnVjdCBydGVfbWVtcG9vbF9jYWNoZSAqY2FjaGUgPSBtcC0+bG9jYWxf Y2FjaGU7DQotICAgICAgIGZvciAodW5zaWduZWQgaW50IGxjb3JlX2lkID0gMDsgbGNvcmVfaWQg PCBSVEVfTUFYX0xDT1JFOw0KLSAgICAgICAgICAgICAgICAgICAgICAgbGNvcmVfaWQrKywgY2Fj aGUgPSBSVEVfUFRSX0FERChjYWNoZSwgbXAtPnNpemVvZl9jYWNoZV9wZXJfbGNvcmUpKQ0KLSAg ICAgICAgICAgICAgIGNvdW50ICs9IGNhY2hlLT5sZW47DQorICAgICAgIGZvciAobGNvcmVfaWQg PSAwOyBsY29yZV9pZCA8IFJURV9NQVhfTENPUkU7IGxjb3JlX2lkKyspDQorICAgICAgICAgICAg ICAgY291bnQgKz0gbXAtPmxvY2FsX2NhY2hlW2xjb3JlX2lkXS0+bGVuOw0KDQogICAgICAgIC8q DQogICAgICAgICAqIGR1ZSB0byByYWNlIGNvbmRpdGlvbiAoYWNjZXNzIHRvIGxlbiBpcyBub3Qg bG9ja2VkKSwgdGhlDQpAQCAtMTA2NCwxMSArMTA2MywxMSBAQCBydGVfbWVtcG9vbF9zdGF0c19y ZXNldChzdHJ1Y3QgcnRlX21lbXBvb2wgKm1wKQ0KDQogI2lmZGVmIFJURV9MSUJSVEVfTUVNUE9P TF9TVEFUUw0KICAgICAgICBtZW1zZXQoJm1wLT5zdGF0cywgMCwgc2l6ZW9mKG1wLT5zdGF0cykp Ow0KLSAgICAgICBpZiAobXAtPmxvY2FsX2NhY2hlICE9IE5VTEwpIHsNCi0gICAgICAgICAgICAg ICBzdHJ1Y3QgcnRlX21lbXBvb2xfY2FjaGUgKmNhY2hlID0gbXAtPmxvY2FsX2NhY2hlOw0KLSAg ICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaW50IGxjb3JlX2lkID0gMDsgbGNvcmVfaWQgPCBS VEVfTUFYX0xDT1JFOw0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsY29yZV9pZCsr LCBjYWNoZSA9IFJURV9QVFJfQUREKGNhY2hlLCBtcC0+c2l6ZW9mX2NhY2hlX3Blcl9sY29yZSkp DQotICAgICAgICAgICAgICAgICAgICAgICBtZW1zZXQoJmNhY2hlLT5zdGF0cywgMCwgc2l6ZW9m KGNhY2hlLT5zdGF0cykpOw0KKy0gICAgICBpZiAobXAtPmNhY2hlX3NpemUgIT0gMCkgew0KKy0g ICAgICAgICAgICAgIGZvciAodW5zaWduZWQgaW50IGxjb3JlX2lkID0gMDsgbGNvcmVfaWQgPCBS VEVfTUFYX0xDT1JFOyBsY29yZV9pZCsrKSB7DQorLSAgICAgICAgICAgICAgICAgICAgICBtZW1z ZXQoJm1wLT5sb2NhbF9jYWNoZVtsY29yZV9pZF0tPnN0YXRzLCAwLA0KKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihtcC0+bG9jYWxfY2FjaGVbbGNvcmVfaWRd LT5zdGF0cykpOw0KKy0gICAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KDQogICAgICAgIFJURV9N RU1QT09MX0xPRyhERUJVRywgIjwlcz5AJXA6IHN0YXRpc3RpY3MgcmVzZXQiLCBtcC0+bmFtZSwg bXApOw0KQEAgLTEwODIsMTggKzEwODEsMTggQEAgcnRlX21lbXBvb2xfc3RhdHNfcmVzZXQoc3Ry dWN0IHJ0ZV9tZW1wb29sICptcCkNCiBzdGF0aWMgdW5zaWduZWQNCiBydGVfbWVtcG9vbF9kdW1w X2NhY2hlKEZJTEUgKmYsIGNvbnN0IHN0cnVjdCBydGVfbWVtcG9vbCAqbXApDQogew0KLSAgICAg ICB1bnNpZ25lZCBpbnQgY291bnQgPSAwOw0KKyAgICAgICB1bnNpZ25lZCBsY29yZV9pZDsNCisg ICAgICAgdW5zaWduZWQgY291bnQgPSAwOw0KKyAgICAgICB1bnNpZ25lZCBjYWNoZV9jb3VudDsN Cg0KICAgICAgICBmcHJpbnRmKGYsICIgIGludGVybmFsIGNhY2hlIGluZm9zIChoaWRlIHplcm8g dmFsdWUgaXRlbXMpOlxuIik7DQogICAgICAgIGZwcmludGYoZiwgIiAgICBjYWNoZV9zaXplPSUi UFJJdTMyIlxuIiwgbXAtPmNhY2hlX3NpemUpOw0KDQotICAgICAgIGlmIChtcC0+bG9jYWxfY2Fj aGUgPT0gTlVMTCkNCisgICAgICAgaWYgKG1wLT5jYWNoZV9zaXplID09IDApDQogICAgICAgICAg ICAgICAgcmV0dXJuIGNvdW50Ow0KDQotICAgICAgIGNvbnN0IHN0cnVjdCBydGVfbWVtcG9vbF9j YWNoZSAqY2FjaGUgPSBtcC0+bG9jYWxfY2FjaGU7DQotICAgICAgIGZvciAodW5zaWduZWQgaW50 IGxjb3JlX2lkID0gMDsgbGNvcmVfaWQgPCBSVEVfTUFYX0xDT1JFOw0KLSAgICAgICAgICAgICAg ICAgICAgICAgbGNvcmVfaWQrKywgY2FjaGUgPSBSVEVfUFRSX0FERChjYWNoZSwgbXAtPnNpemVv Zl9jYWNoZV9wZXJfbGNvcmUpKSB7DQotICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNhY2hl X2NvdW50ID0gY2FjaGUtPmxlbjsNCisgICAgICAgZm9yIChsY29yZV9pZCA9IDA7IGxjb3JlX2lk IDwgUlRFX01BWF9MQ09SRTsgbGNvcmVfaWQrKykgew0KKyAgICAgICAgICAgICAgIGNhY2hlX2Nv dW50ID0gbXAtPmxvY2FsX2NhY2hlW2xjb3JlX2lkXS0+bGVuOw0KICAgICAgICAgICAgICAgIGlm IChjYWNoZV9jb3VudCA9PSAwKQ0KICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQog ICAgICAgICAgICAgICAgZnByaW50ZihmLCAiICAgIGNhY2hlX2NvdW50WyV1XT0lIlBSSXUzMiJc biIsDQpAQCAtMTIzNCwxMiArMTIzMywxNCBAQCBtZW1wb29sX2F1ZGl0X2Nvb2tpZXMoc3RydWN0 IHJ0ZV9tZW1wb29sICptcCkNCiBzdGF0aWMgdm9pZA0KIG1lbXBvb2xfYXVkaXRfY2FjaGUoY29u c3Qgc3RydWN0IHJ0ZV9tZW1wb29sICptcCkNCiB7DQotICAgICAgIGlmIChtcC0+bG9jYWxfY2Fj aGUgPT0gTlVMTCkNCisgICAgICAgdW5zaWduZWQgbGNvcmVfaWQ7DQorDQorICAgICAgIGlmICht cC0+Y2FjaGVfc2l6ZSA9PSAwKQ0KICAgICAgICAgICAgICAgIHJldHVybjsNCg0KLSAgICAgICBj b25zdCBzdHJ1Y3QgcnRlX21lbXBvb2xfY2FjaGUgKmNhY2hlID0gbXAtPmxvY2FsX2NhY2hlOw0K LSAgICAgICBmb3IgKHVuc2lnbmVkIGludCBsY29yZV9pZCA9IDA7IGxjb3JlX2lkIDwgUlRFX01B WF9MQ09SRTsNCi0gICAgICAgICAgICAgICAgICAgICAgIGxjb3JlX2lkKyssIGNhY2hlID0gUlRF X1BUUl9BREQoY2FjaGUsIG1wLT5zaXplb2ZfY2FjaGVfcGVyX2xjb3JlKSkgew0KKyAgICAgICBm b3IgKGxjb3JlX2lkID0gMDsgbGNvcmVfaWQgPCBSVEVfTUFYX0xDT1JFOyBsY29yZV9pZCsrKSB7 DQorICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IHJ0ZV9tZW1wb29sX2NhY2hlICpjYWNoZTsN CisgICAgICAgICAgICAgICBjYWNoZSA9IG1wLT5sb2NhbF9jYWNoZVtsY29yZV9pZF07DQogICAg ICAgICAgICAgICAgaWYgKGNhY2hlLT5zaXplID4gbXAtPnNpemUpIHsNCiAgICAgICAgICAgICAg ICAgICAgICAgIFJURV9NRU1QT09MX0xPRyhDUklULCAiYmFkbmVzcyBvbiBjYWNoZVsldV0gc2l6 ZSIsIGxjb3JlX2lkKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJ0ZV9wYW5pYygiTUVNUE9P TDogaW52YWxpZCBjYWNoZVsldV0gc2l6ZVxuIiwgbGNvcmVfaWQpOw0KQEAgLTEzMzMsMTUgKzEz MzQsMTMgQEAgcnRlX21lbXBvb2xfZHVtcChGSUxFICpmLCBzdHJ1Y3QgcnRlX21lbXBvb2wgKm1w KQ0KICAgICAgICAgICAgICAgIHN1bS5nZXRfc3VjY2Vzc19ibGtzICs9IG1wLT5zdGF0c1tsY29y ZV9pZF0uZ2V0X3N1Y2Nlc3NfYmxrczsNCiAgICAgICAgICAgICAgICBzdW0uZ2V0X2ZhaWxfYmxr cyArPSBtcC0+c3RhdHNbbGNvcmVfaWRdLmdldF9mYWlsX2Jsa3M7DQogICAgICAgIH0NCi0gICAg ICAgaWYgKG1wLT5sb2NhbF9jYWNoZSAhPSBOVUxMKSB7DQorICAgICAgIGlmIChtcC0+Y2FjaGVf c2l6ZSAhPSAwKSB7DQogICAgICAgICAgICAgICAgLyogQWRkIHRoZSBzdGF0aXN0aWNzIHN0b3Jl ZCBpbiB0aGUgbWVtcG9vbCBjYWNoZXMuICovDQotICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0 IHJ0ZV9tZW1wb29sX2NhY2hlICpjYWNoZSA9IG1wLT5sb2NhbF9jYWNoZTsNCi0gICAgICAgICAg ICAgICBmb3IgKGxjb3JlX2lkID0gMDsgbGNvcmVfaWQgPCBSVEVfTUFYX0xDT1JFOw0KLSAgICAg ICAgICAgICAgICAgICAgICAgbGNvcmVfaWQrKywgY2FjaGUgPSBSVEVfUFRSX0FERChjYWNoZSwg bXAtPnNpemVvZl9jYWNoZV9wZXJfbGNvcmUpKSB7DQotICAgICAgICAgICAgICAgICAgICAgICBz dW0ucHV0X2J1bGsgKz0gY2FjaGUtPnN0YXRzLnB1dF9idWxrOw0KLSAgICAgICAgICAgICAgICAg ICAgICAgc3VtLnB1dF9vYmpzICs9IGNhY2hlLT5zdGF0cy5wdXRfb2JqczsNCi0gICAgICAgICAg ICAgICAgICAgICAgIHN1bS5nZXRfc3VjY2Vzc19idWxrICs9IGNhY2hlLT5zdGF0cy5nZXRfc3Vj Y2Vzc19idWxrOw0KLSAgICAgICAgICAgICAgICAgICAgICAgc3VtLmdldF9zdWNjZXNzX29ianMg Kz0gY2FjaGUtPnN0YXRzLmdldF9zdWNjZXNzX29ianM7DQorICAgICAgICAgICAgICAgZm9yIChs Y29yZV9pZCA9IDA7IGxjb3JlX2lkIDwgUlRFX01BWF9MQ09SRTsgbGNvcmVfaWQrKykgew0KKyAg ICAgICAgICAgICAgICAgICAgICAgc3VtLnB1dF9idWxrICs9IG1wLT5sb2NhbF9jYWNoZVtsY29y ZV9pZF0tPnN0YXRzLnB1dF9idWxrOw0KKyAgICAgICAgICAgICAgICAgICAgICAgc3VtLnB1dF9v YmpzICs9IG1wLT5sb2NhbF9jYWNoZVtsY29yZV9pZF0tPnN0YXRzLnB1dF9vYmpzOw0KKyAgICAg ICAgICAgICAgICAgICAgICAgc3VtLmdldF9zdWNjZXNzX2J1bGsgKz0gbXAtPmxvY2FsX2NhY2hl W2xjb3JlX2lkXS0+c3RhdHMuZ2V0X3N1Y2Nlc3NfYnVsazsNCisgICAgICAgICAgICAgICAgICAg ICAgIHN1bS5nZXRfc3VjY2Vzc19vYmpzICs9IG1wLT5sb2NhbF9jYWNoZVtsY29yZV9pZF0tPnN0 YXRzLmdldF9zdWNjZXNzX29ianM7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAg ICAgIGZwcmludGYoZiwgIiAgc3RhdHM6XG4iKTsNCkBAIC0xNjM4LDExICsxNjM3LDEwIEBAIG1l bXBvb2xfaW5mb19jYihzdHJ1Y3QgcnRlX21lbXBvb2wgKm1wLCB2b2lkICphcmcpDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbXAtPnBvcHVsYXRlZF9zaXplKTsNCg0KICAgICAg ICBjYWNoZV9jb3VudCA9IDA7DQotICAgICAgIGlmIChtcC0+bG9jYWxfY2FjaGUgIT0gTlVMTCkg ew0KLSAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBydGVfbWVtcG9vbF9jYWNoZSAqY2FjaGUg PSBtcC0+bG9jYWxfY2FjaGU7DQotICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpbnQgbGNv cmVfaWQgPSAwOyBsY29yZV9pZCA8IFJURV9NQVhfTENPUkU7DQotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxjb3JlX2lkKyssIGNhY2hlID0gUlRFX1BUUl9BREQoY2FjaGUsIG1wLT5z aXplb2ZfY2FjaGVfcGVyX2xjb3JlKSkNCi0gICAgICAgICAgICAgICAgICAgICAgIGNhY2hlX2Nv dW50ICs9IGNhY2hlLT5sZW47DQorICAgICAgIGlmIChtcC0+Y2FjaGVfc2l6ZSA+IDApIHsNCisg ICAgICAgICAgICAgICBpbnQgbGNvcmVfaWQ7DQorICAgICAgICAgICAgICAgZm9yIChsY29yZV9p ZCA9IDA7IGxjb3JlX2lkIDwgUlRFX01BWF9MQ09SRTsgbGNvcmVfaWQrKykNCisgICAgICAgICAg ICAgICAgICAgICAgIGNhY2hlX2NvdW50ICs9IG1wLT5sb2NhbF9jYWNoZVtsY29yZV9pZF0tPmxl bjsNCiAgICAgICAgfQ0KICAgICAgICBydGVfdGVsX2RhdGFfYWRkX2RpY3RfdWludChpbmZvLT5k LCAidG90YWxfY2FjaGVfY291bnQiLCBjYWNoZV9jb3VudCk7DQogICAgICAgIGNvbW1vbl9jb3Vu dCA9IHJ0ZV9tZW1wb29sX29wc19nZXRfY291bnQobXApOw0KZGlmZiAtLWdpdCBhL2xpYi9tZW1w b29sL3J0ZV9tZW1wb29sLmggYi9saWIvbWVtcG9vbC9ydGVfbWVtcG9vbC5oDQppbmRleCA1ZmM3 Y2RiNzljLi5jYzI1NTA2M2Y1IDEwMDY0NA0KLS0tIGEvbGliL21lbXBvb2wvcnRlX21lbXBvb2wu aA0KKysrIGIvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuaA0KQEAgLTI2MywxNCArMjYzLDE4IEBA IHN0cnVjdCBfX3J0ZV9jYWNoZV9hbGlnbmVkIHJ0ZV9tZW1wb29sIHsNCiAgICAgICAgICovDQog ICAgICAgIGludDMyX3Qgb3BzX2luZGV4Ow0KDQotICAgICAgIHN0cnVjdCBydGVfbWVtcG9vbF9j YWNoZSAqbG9jYWxfY2FjaGU7IC8qKjwgUGVyLWxjb3JlIGxvY2FsIGNhY2hlICovDQotICAgICAg IHVpbnQzMl90IHNpemVvZl9jYWNoZV9wZXJfbGNvcmU7IC8qKjwgTXVsdGlwbGllciBmb3IgaW5k ZXhpbmcgaW50byB0aGUgbG9jYWwgY2FjaGUuICovDQotDQogICAgICAgIHVpbnQzMl90IHBvcHVs YXRlZF9zaXplOyAgICAgICAgIC8qKjwgTnVtYmVyIG9mIHBvcHVsYXRlZCBvYmplY3RzLiAqLw0K ICAgICAgICBzdHJ1Y3QgcnRlX21lbXBvb2xfb2JqaGRyX2xpc3QgZWx0X2xpc3Q7IC8qKjwgTGlz dCBvZiBvYmplY3RzIGluIHBvb2wgKi8NCiAgICAgICAgdWludDMyX3QgbmJfbWVtX2NodW5rczsg ICAgICAgICAgLyoqPCBOdW1iZXIgb2YgbWVtb3J5IGNodW5rcyAqLw0KICAgICAgICBzdHJ1Y3Qg cnRlX21lbXBvb2xfbWVtaGRyX2xpc3QgbWVtX2xpc3Q7IC8qKjwgTGlzdCBvZiBtZW1vcnkgY2h1 bmtzICovDQoNCisgICAgICAgLyoqDQorICAgICAgICAqIFBvaW50ZXJzIHRvIHBlci1sY29yZSBs b2NhbCBjYWNoZS4NCisgICAgICAgICogTm90ZTogQ2FjaGUgbGluZSBhbGlnbmVkIGZvciBoaWdo ZXIgY2FjaGUgaGl0IHJhdGUgd2hlbiBvbmx5IHVzaW5nIHRoZSBmaXJzdCBmZXcgbGNvcmVzLg0K KyAgICAgICAgKi8NCisgICAgICAgYWxpZ25hcyhSVEVfQ0FDSEVfTElORV9TSVpFKQ0KKyAgICAg ICBzdHJ1Y3QgcnRlX21lbXBvb2xfY2FjaGUgKmxvY2FsX2NhY2hlW1JURV9NQVhfTENPUkVdOw0K Kw0KICNpZmRlZiBSVEVfTElCUlRFX01FTVBPT0xfU1RBVFMNCiAgICAgICAgLyoqIFBlci1sY29y ZSBzdGF0aXN0aWNzLg0KICAgICAgICAgKg0KQEAgLTEzNzAsMTcgKzEzNzQsMTIgQEAgcnRlX21l bXBvb2xfY2FjaGVfY3JlYXRlKHVpbnQzMl90IHNpemUsIGludCBzb2NrZXRfaWQpDQogc3RhdGlj IF9fcnRlX2Fsd2F5c19pbmxpbmUgc3RydWN0IHJ0ZV9tZW1wb29sX2NhY2hlICoNCiBydGVfbWVt cG9vbF9kZWZhdWx0X2NhY2hlKHN0cnVjdCBydGVfbWVtcG9vbCAqbXAsIHVuc2lnbmVkIGxjb3Jl X2lkKQ0KIHsNCi0gICAgICAgaWYgKHVubGlrZWx5KG1wLT5sb2NhbF9jYWNoZSA9PSBOVUxMKSkN Ci0gICAgICAgICAgICAgICByZXR1cm4gTlVMTDsNCi0NCiAgICAgICAgaWYgKHVubGlrZWx5KGxj b3JlX2lkID09IExDT1JFX0lEX0FOWSkpDQogICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7DQoN Ci0gICAgICAgc3RydWN0IHJ0ZV9tZW1wb29sX2NhY2hlICpjYWNoZSA9IChzdHJ1Y3QgcnRlX21l bXBvb2xfY2FjaGUgKilSVEVfUFRSX0FERChtcC0+bG9jYWxfY2FjaGUsDQotICAgICAgICAgICAg ICAgICAgICAgICBsY29yZV9pZCAqIChzaXplX3QpbXAtPnNpemVvZl9jYWNoZV9wZXJfbGNvcmUp Ow0KLSAgICAgICBydGVfbWVtcG9vbF90cmFjZV9kZWZhdWx0X2NhY2hlKG1wLCBsY29yZV9pZCwg Y2FjaGUpOw0KLSAgICAgICBfX3J0ZV9hc3N1bWUoY2FjaGUgIT0gTlVMTCk7DQotICAgICAgIHJl dHVybiBjYWNoZTsNCisgICAgICAgcnRlX21lbXBvb2xfdHJhY2VfZGVmYXVsdF9jYWNoZShtcCwg bGNvcmVfaWQsDQorICAgICAgICAgICAgICAgbXAtPmxvY2FsX2NhY2hlW2xjb3JlX2lkXSk7DQor ICAgICAgIHJldHVybiBtcC0+bG9jYWxfY2FjaGVbbGNvcmVfaWRdOw0KIH0NCg0KIC8qKg0KQEAg LTE0NDksOCArMTQ0OCw4IEBAIHJ0ZV9tZW1wb29sX2RvX2dlbmVyaWNfcHV0KHN0cnVjdCBydGVf bWVtcG9vbCAqbXAsIHZvaWQgKiBjb25zdCAqb2JqX3RhYmxlLA0KICAgICAgICAgICAgICAgICAq IGFyZSBtb3JlIGhvdCwgZnJvbSB0aGUgdXBwZXIgaGFsZiBvZiB0aGUgY2FjaGUuDQogICAgICAg ICAgICAgICAgICovDQogICAgICAgICAgICAgICAgX19ydGVfYXNzdW1lKGNhY2hlLT5sZW4gPiBj YWNoZS0+c2l6ZSAvIDIpOw0KLSAgICAgICAgICAgICAgIHJ0ZV9tZW1wb29sX29wc19lbnF1ZXVl X2J1bGsobXAsICZjYWNoZS0+b2Jqc1swXSwgY2FjaGUtPnNpemUgLyAyKTsNCi0gICAgICAgICAg ICAgICBydGVfbWVtY3B5KCZjYWNoZS0+b2Jqc1swXSwgJmNhY2hlLT5vYmpzW2NhY2hlLT5zaXpl IC8gMl0sDQorICAgICAgICAgICAgICAgcnRlX21lbXBvb2xfb3BzX2VucXVldWVfYnVsayhtcCwg Y2FjaGUtPm9ianMsIGNhY2hlLT5zaXplIC8gMik7DQorICAgICAgICAgICAgICAgcnRlX21lbWNw eShjYWNoZS0+b2JqcywgJmNhY2hlLT5vYmpzW2NhY2hlLT5zaXplIC8gMl0sDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNpemVvZih2b2lkICopICogKGNhY2hlLT5sZW4gLSBjYWNo ZS0+c2l6ZSAvIDIpKTsNCiAgICAgICAgICAgICAgICBjYWNoZV9vYmpzID0gJmNhY2hlLT5vYmpz W2NhY2hlLT5sZW4gLSBjYWNoZS0+c2l6ZSAvIDJdOw0KICAgICAgICAgICAgICAgIGNhY2hlLT5s ZW4gPSBjYWNoZS0+bGVuIC0gY2FjaGUtPnNpemUgLyAyICsgbjsNCg==