From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4FED3A0547; Mon, 21 Jun 2021 13:06:30 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BEF0B41158; Mon, 21 Jun 2021 13:06:29 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 5CAB240040 for ; Mon, 21 Jun 2021 13:06:28 +0200 (CEST) IronPort-SDR: TUEay3UUAEwxraBxWwr81QRuQjsHiumgQ3Y54SipPIoOHJEE894RnYJkpuMiujL9tJ1DLdSdwH 3SlGo1vVHLlw== X-IronPort-AV: E=McAfee;i="6200,9189,10021"; a="204996347" X-IronPort-AV: E=Sophos;i="5.83,289,1616482800"; d="scan'208";a="204996347" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jun 2021 04:06:27 -0700 IronPort-SDR: D5f2nwFoSUzcwSHv/9U4v9ZDJe4aLYWTSUqv/EtoLXTRRYpeNmms1to61r2SncBecDrt1bEBx9 eDGZqjYTEozQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,289,1616482800"; d="scan'208";a="489839934" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga002.fm.intel.com with ESMTP; 21 Jun 2021 04:06:26 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Mon, 21 Jun 2021 04:06:26 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Mon, 21 Jun 2021 04:06:26 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Mon, 21 Jun 2021 04:06:26 -0700 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.172) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Mon, 21 Jun 2021 04:06:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NqS59PeMAp/7eX7ghLGvw4xMwf4k0qi2b0+/DBvig6k2EADbql1QriqB68/ZOZbNq+dK647fBFZUU1gz8aF7ujLit2cRlvGA/TbIpNKUBw+5ye09H9TC5JKKP2J7iZ0j7qLpaZxNwSp8ndi/Co0rc0q2PpnumAllewk1wkq3iUTtqYcj7+959/tbmOUXtbYch23sBFrNwebvnjWcN0GwV5s4wG2vfk9llC9RNbR47iABINlqLlA82W9wgLAalF8NwsUoSaXXuHZ4KR/mzd/Rw2hx7pE2gib9pKEUDckSgxw0PibcONunhaJJdR4LbXttVFoQ4+t2/pu/8PWPPzvWFw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TX/NTV6HcIx2wcu8gZ6uW3FW3aTSVJbIC+WLm2bEcFY=; b=P5DnPbUcwvDo8DkmPt2ta7QPP1qHYTYeMx4640ctfd1/ONirM1ArQWMbzbZCrgcxX8v88nfNvt4P8LOOODNXMFz8kwciUqIOJM7GuSGmR4STez2/ddN5OZJmexO/lWmZGibv6aOmmNPLU/s1HBuGslzk5S7jOsuKP5rmBCl9Bbfe5qeYsGYIwbQIn02pG7hTHzAIsXufHnZpDTteurMzoX7w4aii6GbQijmt5xSabd8D7ty6MiEPqbKX1oWsq7UR7mIitVdXbzrw6D/HqtfRwYJmlQ2YgvmFnEqv7G4mc09TIe1tzV99L8eN9jS9XoNN9o7gYnqfR2/iuGsa+c2c4g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=TX/NTV6HcIx2wcu8gZ6uW3FW3aTSVJbIC+WLm2bEcFY=; b=YviBkGRjlxIgqcrcQzqFtxII0SeaIijYcRsw6M5/kkwtWFkmWYyI4E70IqFGO4OpKgfDMPWXZPh1MMQEtJ8rmurr0DSrz6wsTUdF/7iR0Po8t+Goe5gnEm5NxP7gVFQYychR+4Yd3naW5np+An1nx5Adk3Wq07nT4jBGgc13oRM= Received: from DM6PR11MB4491.namprd11.prod.outlook.com (2603:10b6:5:204::19) by DM6PR11MB2953.namprd11.prod.outlook.com (2603:10b6:5:6a::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4242.23; Mon, 21 Jun 2021 11:06:24 +0000 Received: from DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7dc4:66b0:f76b:6d48]) by DM6PR11MB4491.namprd11.prod.outlook.com ([fe80::7dc4:66b0:f76b:6d48%7]) with mapi id 15.20.4242.023; Mon, 21 Jun 2021 11:06:24 +0000 From: "Ananyev, Konstantin" To: "Yigit, Ferruh" , Thomas Monjalon , "Richardson, Bruce" CC: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "dev@dpdk.org" , "olivier.matz@6wind.com" , "andrew.rybchenko@oktetlabs.ru" , "honnappa.nagarahalli@arm.com" , "jerinj@marvell.com" , "gakhil@marvell.com" Thread-Topic: [dpdk-dev] [PATCH] parray: introduce internal API for dynamic arrays Thread-Index: AQHXYQxT3nKj3OToOE+g04oypCLg2asTbdkAgAAOoICAAATCgIAAFeZggAAOq/CABIvGAIAAHL6ggAAPB4CAATs50IAEplTQ Date: Mon, 21 Jun 2021 11:06:23 +0000 Message-ID: References: <20210614105839.3379790-1-thomas@monjalon.net> <98CBD80474FA8B44BF855DF32C47DC35C6184E@smartserver.smartshare.dk> <2004320.XGyPsaEoyj@thomas> <0bb118ba-2658-a7d7-ad8f-bf27f62849f7@intel.com> In-Reply-To: Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [109.255.184.192] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 509e47ca-dbbc-4714-12d0-08d934a49ba5 x-ms-traffictypediagnostic: DM6PR11MB2953: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: m6lpfqXbw9BOaMkKnazFWadXjTO/8Xeb+KsRujkV30hOgSwA3RpEJemwmIz6Akl3GKAC/f02GH9mvjx63KDRERqCx0Rr1WgP0O0Wj6UAjjzKKkZCW+5EpwIg/46fgoU8tnPBM7lY5oEvMcdf2SBBNe635Y1vcZlpJLT9ce0wj7T43T20gmYTFev/3Ix2LWmH9sHMhihQHBZAwy0zo213LgMiwhSXeJI8XMr06G7eTL8CYdQCgW49NTXXUX1IKMsLuWXRgbMGpEch41U8lJP+8av8HgFM52Al77IwbS+uNBM1SngMXS1u9+KNnbQGV2OA0kjo8qe8+kB/F31nD0/MXMCckeGfjwIWFRwh1Z2TNLz2FTZUnhvJfKgaNCmlLMbjVbiRAp/ZUI0kY8gLEj3iIWxUxij0cbWsaclzCTzbv7E1qb5WEl7ujwKjOGDMhMa8cEfGG0jWgnj2WrSUPHJIq/QxiNfuRI3zqUmTNpJGnEIPmpSfSG9m1Od4opbtNMIZD0cQihyaGxOi1fFPCmlvZJCdygb8ifv7A1JlBp/tN1QfbIA85sd4Axm3lBuCCm5uhn9/6XVSbAXBr1vcETnXP30e8m/Ys04qekqy2DnxVcA= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB4491.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(366004)(346002)(136003)(396003)(39860400002)(376002)(86362001)(5660300002)(66476007)(66446008)(71200400001)(6636002)(66946007)(66556008)(76116006)(52536014)(122000001)(64756008)(38100700002)(9686003)(55016002)(7696005)(6506007)(55236004)(316002)(186003)(26005)(33656002)(4326008)(110136005)(478600001)(83380400001)(8936002)(2906002)(54906003)(8676002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eXpVS09nanF0czV3b0hHL2R3M0pFZ3F0dXRFbEJkRlJ6ekZOdzFrNXo1MVNx?= =?utf-8?B?aHlLUnZ2T2ZzdnZGSEJFRnB1c3hjSTNhMCtNU2VoV2w0bGVHTHpyYzhnNUl0?= =?utf-8?B?Wml4UWZ2NzdZU29taUhLdWgwTTNPQmlsZlJDdXVHMUpaQ1JOaDFrdTAzNCth?= =?utf-8?B?b1pJdUwwRkhSWS93YUdVOHBuQStNTzk0VEN3aWhiT0lhdDd2bWgxaWdVd2Fh?= =?utf-8?B?YzlVK1ZEYS8zdDNiSy9zanVnQ0lkOEVGMStWbVRocXhUbm5wZTUvR3ZrZS9i?= =?utf-8?B?WjlyMmNmeEpucUhGSUh4d2xWdUUxYmYwbDRKaXgvQzZnNEtNQXRYYU45SUFu?= =?utf-8?B?eEp0SWxDZm1MMElFYWhZMlpjS2Y5V25nT20rZ0U3ZlNxOGtBMldOcnZXQ0N6?= =?utf-8?B?Z2hVUFowVFpwZXB2ZVhnTlMyWld0Q21qeGpEdnptUnRLdWlGM0FCZXJ0YWFJ?= =?utf-8?B?RlMvV2k5QnhERFk2b2NjZ1ltNUNxT0YvUzVodm9sTnJiUm12L2JzSll5NmY4?= =?utf-8?B?MTZJTjNxeG02SEVwSnFXQ3IrWkFGbi82Z2tpWmN0M1ZrUk1mbWdWaGMybHM2?= =?utf-8?B?MTFMcXcxbCtKVS93UkpnNlpyZW5qaFQxUHMwM2R3UTBtNUR0UmxNV3hoc0xQ?= =?utf-8?B?Nk9aMUExbmFmTWNjb1VKMGM0MEdZTEZVWVd6THp0NHAxa205c3VYNW43bGZz?= =?utf-8?B?WUdsMW5vTlNBSUlvb085dzJRWWc4MGxycFBXSCtzbWowU1ZEVzlZcWhBR0V2?= =?utf-8?B?dXF1L0N0Y3ltRENKYXI4Q3dJSUc4WWZhYThlTEIvc0QwU1k5TmlqcFFxeFlu?= =?utf-8?B?QVA5QkRsQTBHYXVIY2xhREVjdm1oN25kREV6V2RHUVJHQ0RwSng4c2VSc2Rx?= =?utf-8?B?Vlk1MmxoeEszdFVmQ1g3Z0VSYzc3UFlUcDRJck96OXFlS0xQd1hCdEtJdGpU?= =?utf-8?B?RWtvUUlxOG1NVnFpTnBIbEgwbExBbzRWZVYwUFVIeW9MRFc5MGJkdXFyZU5L?= =?utf-8?B?M2xScUxzbzNDK3JVY0I2ZVhaZ1ppZGUzQVRteXl1R1lpODl6RitiMFpZT1hx?= =?utf-8?B?ZHF5MjJmcGNyVURBNUxKRUtXY3AyZTZKVW81dHF0SjJJbWRoR3FKODJSYVRX?= =?utf-8?B?TEhpUlU5bUtVNmZjaWJwWU1HMHVvOEpVMlEzRjhBZUlvMzhRUE5HNUZFVEQ3?= =?utf-8?B?c3dMWDNwMTE2cTNmVHVoV09od083SmxGQXJuYmtWY0lJbXMxZ0FJdEQ2M0NR?= =?utf-8?B?V213dVdsSmhBQ2paRncyTGFVYk5ZUVhOekhTRVN2YkQ2RGZHdDNoM0ZXT0Vk?= =?utf-8?B?Rlh6WFNSbys1eFNBNmF6Y3RLbnlZTWdsU0xaU3MvcTZNcEZBZTNDdTFQNVQ3?= =?utf-8?B?VzlKVEpWUnl3M21Vb2UvbVFSak1EdThiSktmQnE1Z01lTk5PSnZLNlNjcHVF?= =?utf-8?B?MWtFVG9JbUVCZzlzS2gvblYrSjVQWE11dmNiN3lvMXlXSGYvSGFidmZEaDdJ?= =?utf-8?B?SnhBU3FEY0RaUk9QY3YrenkveE5JOHMxTThUaWxHKzZBNXhzUUhCWVIwSTU4?= =?utf-8?B?ODhodGNySklkWXR0MlVnaHhrTWZTSzU2YmsyUE91K3Z2UnNnQ2p2ZWc1cEdT?= =?utf-8?B?cXJQUTNRRDhPWlFsWGtTbmtkMmFoTGZNVVdRVHVRYmY4Vm1taXlpTkxrNTNM?= =?utf-8?B?N3hyUlphNU0yamdLK1krV09FMDJxYndzTlBaYTRyYjdxLzRJMEhNOWpRV1Mw?= =?utf-8?Q?NAiC0GathOBA2Lh3Kr2IA4oi1TRc7Nm4UtYUymd?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB4491.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 509e47ca-dbbc-4714-12d0-08d934a49ba5 X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2021 11:06:23.8614 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: sSouMrNjU/uUfu7MuKUMA9/EIinYLdJWO0SVh9Ptc6tWhNS2dR02tZNdtCu2kAUuyEnMkewm8RasogC8e3nzkNHhKoQyCxBEk7Y5498J+iM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2953 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] parray: introduce internal API for dynamic arrays 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 Sender: "dev" DQpIaSBldmVyeW9uZSwNCiANCj4gPiA+Pj4gT25lIG1vcmUgdGhvdWdodCBoZXJlIC0gaWYgd2Ug YXJlIHRhbGtpbmcgYWJvdXQgcnRlX2V0aGRldltdIGluIHBhcnRpY3VsYXIsIEkgdGhpbmsgIHdl IGNhbjoNCj4gPiA+Pj4gMS4gbW92ZSBwdWJsaWMgZnVuY3Rpb24gcG9pbnRlcnMgKHJ4X3BrdF9i dXJzdCgpLCBldGMuKSBmcm9tIHJ0ZV9ldGhkZXYgaW50byBhIHNlcGFyYXRlIGZsYXQgYXJyYXku DQo+ID4gPj4+IFdlIGNhbiBrZWVwIGl0IHB1YmxpYyB0byBzdGlsbCB1c2UgaW5saW5lIGZ1bmN0 aW9ucyBmb3IgJ2Zhc3QnIGNhbGxzIHJ0ZV9ldGhfcnhfYnVyc3QoKSwgZXRjLiB0byBhdm9pZA0K PiA+ID4+PiBhbnkgcmVncmVzc2lvbnMuDQo+ID4gPj4+IFRoYXQgY291bGQgc3RpbGwgYmUgZmxh dCBhcnJheSB3aXRoIG1heF9zaXplIHNwZWNpZmllZCBhdCBhcHBsaWNhdGlvbiBzdGFydHVwLg0K PiA+ID4+PiAyLiBIaWRlIHJlc3Qgb2YgcnRlX2V0aGRldiBzdHJ1Y3QgaW4gLmMuDQo+ID4gPj4+ IFRoYXQgd2lsbCBhbGxvdyB1cyB0byBjaGFuZ2UgdGhlIHN0cnVjdCBpdHNlbGYgYW5kIHRoZSB3 aG9sZSBydGVfZXRoZGV2W10gdGFibGUgaW4gYSB3YXkgd2UgbGlrZQ0KPiA+ID4+PiAoZmxhdCBh cnJheSwgdmVjdG9yLCBoYXNoLCBsaW5rZWQgbGlzdCkgd2l0aG91dCBBQkkvQVBJIGJyZWFrYWdl cy4NCj4gPiA+Pj4NCj4gPiA+Pj4gWWVzLCBpdCB3b3VsZCByZXF1aXJlIGFsbCBQTURzIHRvIGNo YW5nZSBwcm90b3R5cGUgZm9yIHBrdF9yeF9idXJzdCgpIGZ1bmN0aW9uDQo+ID4gPj4+ICh0byBh Y2NlcHQgcG9ydF9pZCwgcXVldWVfaWQgaW5zdGVhZCBvZiBxdWV1ZSBwb2ludGVyKSwgYnV0IHRo ZSBjaGFuZ2UgaXMgbWVjaGFuaWNhbCBvbmUuDQo+ID4gPj4+IFByb2JhYmx5IHNvbWUgbWFjcm8g Y2FuIGJlIHByb3ZpZGVkIHRvIHNpbXBsaWZ5IGl0Lg0KPiA+ID4+Pg0KPiA+ID4+DQo+ID4gPj4g V2UgYXJlIGFscmVhZHkgcGxhbm5pbmcgc29tZSB0YXNrcyBmb3IgQUJJIHN0YWJpbGl0eSBmb3Ig djIxLjExLCBJIHRoaW5rDQo+ID4gPj4gc3BsaXR0aW5nICdzdHJ1Y3QgcnRlX2V0aF9kZXYnIGNh biBiZSBwYXJ0IG9mIHRoYXQgdGFzaywgaXQgZW5hYmxlcyBoaWRpbmcgbW9yZQ0KPiA+ID4+IGlu dGVybmFsIGRhdGEuDQo+ID4gPg0KPiA+ID4gT2ssIHNvdW5kcyBnb29kLg0KPiA+ID4NCj4gPiA+ Pg0KPiA+ID4+PiBUaGUgb25seSBzaWduaWZpY2FudCBjb21wbGljYXRpb24gSSBjYW4gZm9yZXNl ZSB3aXRoIGltcGxlbWVudGluZyB0aGF0IGFwcHJvYWNoIC0NCj4gPiA+Pj4gd2UnbGwgbmVlZCBh IGFuIGFycmF5IG9mICdmYXN0JyBmdW5jdGlvbiBwb2ludGVycyBwZXIgcXVldWUsIG5vdCBwZXIg ZGV2aWNlIGFzIHdlIGhhdmUgbm93DQo+ID4gPj4+ICh0byBhdm9pZCBleHRyYSBpbmRpcmVjdGlv biBmb3IgY2FsbGJhY2sgaW1wbGVtZW50YXRpb24pLg0KPiA+ID4+PiBUaG91Z2ggYXMgYSBib251 cyB3ZSdsbCBoYXZlIGFiaWxpdHkgdG8gdXNlIGRpZmZlcmVudCBSWC9UWCBmdW5jaW9ucyBwZXIg cXVldWUuDQo+ID4gPj4+DQo+ID4gPj4NCj4gPiA+PiBXaGF0IGRvIHlvdSB0aGluayBzcGxpdCBS eC9UeCBjYWxsYmFjayBpbnRvIGl0cyBvd24gc3RydWN0IHRvbz8NCj4gPiA+Pg0KPiA+ID4+IE92 ZXJhbGwgJ3J0ZV9ldGhfZGV2JyBjYW4gYmUgc3BsaXQgaW50byB0aHJlZSBhczoNCj4gPiA+PiAx LiBydGVfZXRoX2Rldg0KPiA+ID4+IDIuIHJ0ZV9ldGhfZGV2X2J1cnN0DQo+ID4gPj4gMy4gcnRl X2V0aF9kZXZfY2INCj4gPiA+Pg0KPiA+ID4+IEFuZCB3ZSBjYW4gaGlkZSAxIGZyb20gYXBwbGlj YXRpb25zIGV2ZW4gd2l0aCB0aGUgaW5saW5lIGZ1bmN0aW9ucy4NCj4gPiA+DQo+ID4gPiBBcyBk aXNjdXNzZWQgb2ZmLWxpbmUsIEkgdGhpbms6DQo+ID4gPiBpdCBpcyBwb3NzaWJsZS4NCj4gPiA+ IE15IGFic29sdXRlIHByZWZlcmVuY2Ugd291bGQgYmUgdG8gaGF2ZSBqdXN0IDEvMiAod2l0aCBD QiBoaWRkZW4pLg0KPiA+DQo+ID4gSG93IGNhbiB3ZSBoaWRlIHRoZSBjYWxsYmFja3Mgc2luY2Ug dGhleSBhcmUgdXNlZCBieSBpbmxpbmUgYnVyc3QgZnVuY3Rpb25zLg0KPiANCj4gSSBwcm9iYWJs eSBJIG93ZSBhIGJldHRlciBleHBsYW5hdGlvbiB0byB3aGF0IEkgbWVhbnQgaW4gZmlyc3QgbWFp bC4NCj4gT3RoZXJ3aXNlIGl0IHNvdW5kcyBjb25mdXNpbmcuDQo+IEknbGwgdHJ5IHRvIHdyaXRl IGEgbW9yZSBkZXRhaWxlZCBvbmUgaW4gbmV4dCBmZXcgZGF5cy4NCg0KQWN0dWFsbHkgSSBnYXZl IGl0IGFub3RoZXIgdGhvdWdodCBvdmVyIHdlZWtlbmQsIGFuZCBtaWdodCBiZSB3ZSBjYW4NCmhp ZGUgcnRlX2V0aF9kZXZfY2IgZXZlbiBpbiBhIHNpbXBsZXIgd2F5LiBJJ2QgdXNlIGV0aF9yeF9i dXJzdCgpIGFzDQphbiBleGFtcGxlLCBidXQgdGhlIHNhbWUgcHJpbmNpcGxlIGFwcGxpZXMgdG8g b3RoZXIgJ2Zhc3QnIGZ1bmN0aW9ucy4gDQoNCiAxLiBOZWVkZWQgY2hhbmdlcyBmb3IgUE1EcyBy eF9wa3RfYnVyc3QoKToNCiAgICBhKSBjaGFuZ2UgZnVuY3Rpb24gcHJvdG90eXBlIHRvIGFjY2Vw dCAndWludDE2X3QgcG9ydF9pZCcgYW5kICd1aW50MTZfdCBxdWV1ZV9pZCcsDQogICAgICAgICBp bnN0ZWFkIG9mIGN1cnJlbnQgJ3ZvaWQgKicuDQogICAgYikgRWFjaCBQTUQgcnhfcGt0X2J1cnN0 KCkgd2lsbCBoYXZlIHRvIGNhbGwgcnRlX2V0aF9yeF9lcGlsb2coKSBmdW5jdGlvbiBhdCByZXR1 cm4uDQogICAgICAgICBUaGlzICBpbmxpbmUgZnVuY3Rpb24gd2lsbCBkbyBhbGwgQ0IgY2FsbHMg Zm9yIHRoYXQgcXVldWUuDQoNClRvIGJlIG1vcmUgc3BlY2lmaWMsIGxldCBzYXkgd2UgaGF2ZSBz b21lIFBNRDogeHl6IHdpdGggUlggZnVuY3Rpb246DQoNCnVpbnQxNl90DQp4eXpfcmVjdl9wa3Rz KHZvaWQgKnJ4X3F1ZXVlLCBzdHJ1Y3QgcnRlX21idWYgKipyeF9wa3RzLCB1aW50MTZfdCBuYl9w a3RzKQ0Kew0KICAgICBzdHJ1Y3QgeHl6X3J4X3F1ZXVlICpyeHEgPSByeF9xdWV1ZTsNCiAgICAg dWludDE2X3QgbmJfcnggPSAwOw0KDQogICAgIC8qIGRvIGFjdHVhbCBzdHVmZiBoZXJlICovDQog ICAgLi4uLg0KICAgIHJldHVybiBuYl9yeDsgDQp9DQoNCkl0IHdpbGwgYmUgdHJhbnNmb3JtZWQg dG86DQoNCnVpbnQxNl90DQp4eXpfcmVjdl9wa3RzKHVpbnQxNl90IHBvcnRfaWQsIHVpbnQxNl90 IHF1ZXVlX2lkLCBzdHJ1Y3QgcnRlX21idWYgKipyeF9wa3RzLCB1aW50MTZfdCBuYl9wa3RzKQ0K ew0KICAgICAgICAgc3RydWN0IHh5el9yeF9xdWV1ZSAqcnhxOw0KICAgICAgICAgdWludDE2X3Qg bmJfcng7DQoNCiAgICAgICAgIHJ4cSA9IF9ydGVfZXRoX3J4X3Byb2xvZyhwb3J0X2lkLCBxdWV1 ZV9pZCk7DQogICAgICAgICBpZiAocnhxID09IE5VTEwpDQogICAgICAgICAgICAgcmV0dXJuIDA7 DQogICAgICAgICBuYl9yeCA9IF94eXpfcmVhbF9yZWN2X3BrdHMocnhxLCByeF9wa3RzLCBuYl9w a3RzKTsNCiAgICAgICAgIHJldHVybiBfcnRlX2V0aF9yeF9lcGlsb2cocG9ydF9pZCwgcXVldWVf aWQsIHJ4X3BrdHMsIG5iX3BrdHMpOw0KfQ0KDQpBbmQgc29tZXdoZXJlIGluIGV0aGRldl9wcml2 YXRlLmg6DQoNCnN0YXRpYyBpbmxpbmUgdm9pZCAqDQpfcnRlX2V0aF9yeF9wcm9sb2codWludDE2 X3QgcG9ydF9pZCwgdWludDE2X3QgcXVldWVfaWQpOyANCnsNCiAgIHN0cnVjdCBydGVfZXRoX2Rl diAqZGV2ID0gJnJ0ZV9ldGhfZGV2aWNlc1twb3J0X2lkXTsNCg0KI2lmZGVmIFJURV9FVEhERVZf REVCVUdfUlgNCiAgICAgICAgUlRFX0VUSF9WQUxJRF9QT1JUSURfT1JfRVJSX1JFVChwb3J0X2lk LCBOVUxMKTsNCiAgICAgICAgUlRFX0ZVTkNfUFRSX09SX0VSUl9SRVQoKmRldi0+cnhfcGt0X2J1 cnN0LCBOVUxMKTsNCg0KICAgICAgICBpZiAocXVldWVfaWQgPj0gZGV2LT5kYXRhLT5uYl9yeF9x dWV1ZXMpIHsNCiAgICAgICAgICAgICAgICBSVEVfRVRIREVWX0xPRyhFUlIsICJJbnZhbGlkIFJY IHF1ZXVlX2lkPSV1XG4iLCBxdWV1ZV9pZCk7DQogICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7 DQogICAgICAgIH0NCiNlbmRpZg0KICByZXR1cm4gZGV2LT5kYXRhLT5yeF9xdWV1ZXNbcXVldWVf aWRdOyAgIA0KfQ0KDQpzdGF0aWMgaW5saW5lIHVpbnQxNl90DQpfcnRlX2V0aF9yeF9lcGlsb2co dWludDE2X3QgcG9ydF9pZCwgdWludDE2X3QgcXVldWVfaWQsIHN0cnVjdCBydGVfbWJ1ZiAqKnJ4 X3BrdHMsIGNvbnN0IHVpbnQxNl90IG5iX3BrdHMpOyANCnsNCiAgICBzdHJ1Y3QgcnRlX2V0aF9k ZXYgKmRldiA9ICZydGVfZXRoX2RldmljZXNbcG9ydF9pZF07DQogDQojaWZkZWYgUlRFX0VUSERF Vl9SWFRYX0NBTExCQUNLUw0KICAgICAgICBzdHJ1Y3QgcnRlX2V0aF9yeHR4X2NhbGxiYWNrICpj YjsNCg0KICAgICAgICAvKiBfX0FUT01JQ19SRUxFQVNFIG1lbW9yeSBvcmRlciB3YXMgdXNlZCB3 aGVuIHRoZQ0KICAgICAgICAgKiBjYWxsIGJhY2sgd2FzIGluc2VydGVkIGludG8gdGhlIGxpc3Qu DQogICAgICAgICAqIFNpbmNlIHRoZXJlIGlzIGEgY2xlYXIgZGVwZW5kZW5jeSBiZXR3ZWVuIGxv YWRpbmcNCiAgICAgICAgICogY2IgYW5kIGNiLT5mbi9jYi0+bmV4dCwgX19BVE9NSUNfQUNRVUlS RSBtZW1vcnkgb3JkZXIgaXMNCiAgICAgICAgICogbm90IHJlcXVpcmVkLg0KICAgICAgICAgKi8N CiAgICAgICAgY2IgPSBfX2F0b21pY19sb2FkX24oJmRldi0+cG9zdF9yeF9idXJzdF9jYnNbcXVl dWVfaWRdLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX0FUT01JQ19SRUxBWEVE KTsNCg0KICAgICAgICBpZiAodW5saWtlbHkoY2IgIT0gTlVMTCkpIHsNCiAgICAgICAgICAgICAg ICBkbyB7DQogICAgICAgICAgICAgICAgICAgICAgICBuYl9yeCA9IGNiLT5mbi5yeChwb3J0X2lk LCBxdWV1ZV9pZCwgcnhfcGt0cywgbmJfcngsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBuYl9wa3RzLCBjYi0+cGFyYW0pOw0KICAgICAgICAgICAgICAg ICAgICAgICAgY2IgPSBjYi0+bmV4dDsNCiAgICAgICAgICAgICAgICB9IHdoaWxlIChjYiAhPSBO VUxMKTsNCiAgICAgICAgfQ0KI2VuZGlmDQoNCiAgICAgICAgcnRlX2V0aGRldl90cmFjZV9yeF9i dXJzdChwb3J0X2lkLCBxdWV1ZV9pZCwgKHZvaWQgKiopcnhfcGt0cywgbmJfcngpOw0KICAgICAg ICByZXR1cm4gbmJfcng7DQogfQ0KDQpOb3csIGFzIHlvdSBzYWlkIGFib3ZlLCBpbiBydGVfZXRo ZGV2Lmggd2Ugd2lsbCBrZWVwIG9ubHkgYSBmbGF0IGFycmF5DQp3aXRoIHBvaW50ZXJzIHRvICdm YXN0JyBmdW5jdGlvbnM6DQpzdHJ1Y3Qgew0KICAgICBldGhfcnhfYnVyc3RfdCAgICAgICAgICAg ICByeF9wa3RfYnVyc3QNCiAgICAgIGV0aF90eF9idXJzdF90ICAgICAgICAgICAgIHR4X3BrdF9i dXJzdDsgICAgICAgDQogICAgICBldGhfdHhfcHJlcF90ICAgICAgICAgICAgICB0eF9wa3RfcHJl cGFyZTsNCiAgICAgLi4uLi4NCn0gcnRlX2V0aF9kZXZfYnVyc3RbXTsNCg0KQW5kIHJ0ZV9ldGhf cnhfYnVyc3QoKSB3aWxsIGxvb2sgbGlrZToNCg0Kc3RhdGljIGlubGluZSB1aW50MTZfdA0KcnRl X2V0aF9yeF9idXJzdCh1aW50MTZfdCBwb3J0X2lkLCB1aW50MTZfdCBxdWV1ZV9pZCwNCiAgICAg ICAgICAgICAgICAgc3RydWN0IHJ0ZV9tYnVmICoqcnhfcGt0cywgY29uc3QgdWludDE2X3QgbmJf cGt0cykNCnsNCiAgICBpZiAocG9ydF9pZCA+PSBSVEVfTUFYX0VUSFBPUlRTKQ0KICAgICAgICBy ZXR1cm4gMDsNCiAgIHJldHVybiBydGVfZXRoX2Rldl9idXJzdFtwb3J0X2lkXShwb3J0X2lkLCBx dWV1ZV9pZCwgcnhfcGt0cywgbmJfcGt0cyk7DQp9DQoNClllcywgaXQgd2lsbCByZXF1aXJlIGNo YW5nZXMgaW4gKmFsbCogUE1EcywgYnV0IGFzIEkgc2FpZCBiZWZvcmUgdGhlIGNoYW5nZXMgd2ls bCBiZSBhIG1lY2hhbmljIG9uZXMuDQo=