From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 8EF8C43898;
	Fri, 12 Jan 2024 02:19:12 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 0CAA84025E;
	Fri, 12 Jan 2024 02:19:12 +0100 (CET)
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on2100.outbound.protection.outlook.com [40.107.236.100])
 by mails.dpdk.org (Postfix) with ESMTP id DB6B34014F;
 Fri, 12 Jan 2024 02:19:09 +0100 (CET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G03YtuFYudzbEauYEey1uWtRWKSJMRLAaDQs8S7ukqILb8PCNzjdKb9WMfVgvE2XDWF7owWomwNRrdVNnFiigXWZ1LKeHazjJlA/bM2foIBpTEZhwtsdfDjkt4xdPEFvXXoXK52srraKIA731l12HTbhp93jVunh96iHEnIx5byXSSBfPE/0qjoXAKI6CZaL+z1qAY7Jq4XQNpesHYVYiHpNGvZU7jVxkJ95t4rDgXqVOPGkcr3GjI+G0ZeWAcaA+lMDLOq4RF4C5i4WTwj2+7jWeFBBX5MXg6h7CEyh53RLhVwkhsNP10w/f0uowAwBkiYbPYB5jTCDpF8NqytQaQ==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=derbsPcW1e4QTEPyD6bH82meh3qC4KGDbxb/V5kFNEg=;
 b=gP4AjMSDAAels1PnMC5yXxsZ9+7Yz2TE0DfZp/OSrrNihvrsW+7YReaOpTqn7n3QNaj7tJ5yG2JcB/DR43My4F7IJPPdlt4LtUPwFgTK22FlCKWoWcqWGY3UuTfGL5AC33vFXmQ9Ak9ThDwLfUKgo00Y41CVyTOgCrjHAWZog9QEOzDAy181V/GmUnPfqdA9ZBJiIKb7jMW7Soe2QyO2R0DhaPSEfbhtWA4h/sACSdX/cPVan+3NRll0PC1sEXyPTfnQoLaYuEjdYwAkcx0RHANsWv6GiMMOB7/X/J4vWDmbEUAY4bSVxhnokBQB70hhoTylXmC/Z/COHtnrPtkqbw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com;
 dkim=pass header.d=corigine.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=derbsPcW1e4QTEPyD6bH82meh3qC4KGDbxb/V5kFNEg=;
 b=Dl9b/TI6Xde4Fe38ZlVea97XlujwnOfSiZdaG1YKgi8QF2isANMgrnW8H/RvpY6spSH7viSoP4aDeFdTot2WOwf/VEKkr9mjDoPh+rOxP63+E7XPtBrOrCoMvrBVJcMkkKg90LO81/B1fFPHiJeWPh+5Vse2xq0Jv8hXvI/zWwY=
Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5)
 by PH0PR13MB4905.namprd13.prod.outlook.com (2603:10b6:510:77::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.19; Fri, 12 Jan
 2024 01:19:06 +0000
Received: from SJ0PR13MB5545.namprd13.prod.outlook.com
 ([fe80::8e02:f738:570a:f8aa]) by SJ0PR13MB5545.namprd13.prod.outlook.com
 ([fe80::8e02:f738:570a:f8aa%6]) with mapi id 15.20.7181.015; Fri, 12 Jan 2024
 01:19:05 +0000
From: Chaoyong He <chaoyong.he@corigine.com>
To: Ferruh Yigit <ferruh.yigit@amd.com>, "dev@dpdk.org" <dev@dpdk.org>
CC: oss-drivers <oss-drivers@corigine.com>, Long Wu <Long.Wu@nephogine.com>,
 "stable@dpdk.org" <stable@dpdk.org>, Nole Zhang <peng.zhang@corigine.com>
Subject: RE: [PATCH 2/3] net/nfp: fix free resource problem
Thread-Topic: [PATCH 2/3] net/nfp: fix free resource problem
Thread-Index: AQHaLnfFNqI/9sZEd06VCuEOI7vxTbCqTrgAgAP6/KCAIevrAIABDmqAgACnEoCAAhk9AIAAs0GAgADUa7A=
Date: Fri, 12 Jan 2024 01:19:05 +0000
Message-ID: <SJ0PR13MB5545ED092BD22B1316090D589E6F2@SJ0PR13MB5545.namprd13.prod.outlook.com>
References: <20231214102431.2091608-1-chaoyong.he@corigine.com>
 <20231214102431.2091608-3-chaoyong.he@corigine.com>
 <0a5a69d7-2d2e-4a0e-9d29-18ec856b5be2@amd.com>
 <SJ0PR13MB554509F2CFA9550E01C2A0FB9E90A@SJ0PR13MB5545.namprd13.prod.outlook.com>
 <7905a240-7457-4986-8afe-959d57462d94@amd.com>
 <PH0PR13MB5568594122775236E48D38509E6A2@PH0PR13MB5568.namprd13.prod.outlook.com>
 <e67fddec-7e38-40cb-8ea6-f40f0e8d7167@amd.com>
 <SJ0PR13MB5545A2522DF1E5A56D9F148F9E682@SJ0PR13MB5545.namprd13.prod.outlook.com>
 <7d82a8f0-25d4-4d58-b765-3bd22f2254e3@amd.com>
In-Reply-To: <7d82a8f0-25d4-4d58-b765-3bd22f2254e3@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=corigine.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SJ0PR13MB5545:EE_|PH0PR13MB4905:EE_
x-ms-office365-filtering-correlation-id: 2250e89f-3b18-41fd-e4f4-08dc130c7827
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: aZU3xr55TB28clpP8PAWyjuVQh64WCsEQC4w2UQlcaQaL3BKzJKOQIOq/K8VUg3KE8P/nukCk3w4uxdMosscpdKokkZS+E484ZHnmBy3zPCnZgizjMlFgMiSSk8MViEA1ZW0Nm+pPLXmSygfRYmhjUAYV7mIHxm0aYeyAxt+Xt/Om3XCud0I6Vi+dr5KJXQONF1VtzieaWD3nx6SnSyFvCrkW12oEBz/PBAyoPa8Sj75THod3M0Qx0ETJhdSI6Jj0dq0HOj5OWiTtB6fWbfKlipnseX2hJhquT0Mcnvc4Rg9uQLqygUN382W6tBr4ixsxv+qMLWpqMv3hKKkXBzPG+HVXeYgM1JCcBcBbxKV9S7ew4giKJHlq7B4vIN4Sq9+vUk4SnFRbJinNjX5SA3gzHsFhP+ekDX/z1517d1wBYm9JOOkjCLd/Dy2OoIwfPBdHlpU3ShUM03YvwwmjEGhUcN8to07SlK15Y+255AGJp4XFd10TrcCCh/KQeCLOTJb9XV4SldL7eiwY5TZlrOiWYTvXZq5caxbRuOHIsINWT8YHUr1yKprPjjhxKzXFk9kp922//aULdgEkMUlfzApVOGzvk1ovBzUoj5UW5bor3rNdPGJEG2vOTJ+iLmSo0mq
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230031)(396003)(136003)(366004)(346002)(39840400004)(376002)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(64756008)(122000001)(66476007)(66946007)(110136005)(478600001)(33656002)(86362001)(71200400001)(76116006)(66446008)(66556008)(7696005)(6506007)(5660300002)(38100700002)(107886003)(53546011)(9686003)(52536014)(4326008)(44832011)(54906003)(8936002)(8676002)(316002)(83380400001)(55016003)(41300700001)(2906002)(38070700009);
 DIR:OUT; SFP:1102; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UzNDSkFJZGREQU11d0JyVUFEYVozSEdLMnNIOVpYRjZzYzFwVTFwcUFyV2Fu?=
 =?utf-8?B?WDk5aDFnRDRQdFkwYUV5ZnE2Ujd4azJ2NlpvaFprRy9lRFN5NDRlL09XMGdI?=
 =?utf-8?B?cUI0TENFbmlGZFAxWDhQeCtpd3FiQTl0dzRmbCtDQytNS3RuLzY4MmdPYkNk?=
 =?utf-8?B?eDRlMEtVMm1Cd1Z1dFNvOHJIbGRlTVdFMWxudUxCcVR1cTFmOEE1SVBoWWFS?=
 =?utf-8?B?cm5zaXlXUmt0R0U2TnBoci9Na3ZaRGFLSzc0cURpcmx4WlJ4eUZ0WlBMZGlv?=
 =?utf-8?B?dWFVZGp4THJ6eHZLVFhQVU95TzA2QTYxZEpSSTFwY2VBTEpwcUxZYy9ZVmUx?=
 =?utf-8?B?Qi9rRXd5dTlQQzFFZ0l3M2JJM0pBaGFkYjJscXRZZE1xclMvd1pWNlI4TDVy?=
 =?utf-8?B?ZnFEbGtHdWdXRlJ4bkVnSXV5RDZwOFB5UHdYaHhmQXlDY2IyMldpN0kxV25H?=
 =?utf-8?B?eU1EaDlXT2tabFNrMlIrdVUvVjIwZHZKVldWYjlwMStIUUdvQ0ZLbUs0dVds?=
 =?utf-8?B?SHdpWk81Q21HVjFCb2FYNmdndmhVWko5NXV0Wi9MUzdUMkRFa3RINldUOHNy?=
 =?utf-8?B?bUZFdDNqQjhnSDArR1Rad044eFMrQXM3SkhxcTUxMGRiR1NRY04xcjdKcUo5?=
 =?utf-8?B?TjIzNjkya2NQL0pHS1hUWko0cXNWdUt2SzBsV1EyLzFEYXhaK3J5SHoxbFh2?=
 =?utf-8?B?VURBR3oyWE96OU9tT25PeVBXNzEvZCtOZGN2OXFrVGFtblltenRlaW5iZmg5?=
 =?utf-8?B?RWdRbVYvaDVaNUVSbDUyWUNkVmVMV2h2bkMrTm5GSDVKeTR1SGwvN2I0ek9M?=
 =?utf-8?B?YUtEanBZQ25HcTdzMGtreDZyS0xJaUdUQ1hrVnFNWWVMUGIzVnRSSXpFTFNS?=
 =?utf-8?B?SGtpZmNYbXI0K3BJVFNHT1pyUmtzYmxNdjJrZ2kxempDbC96NHdBdkhqdHlW?=
 =?utf-8?B?OVhBV2RLRmJHRHREYzdYUzNYVUZHTjBNWW4vMFJTaTlxaVRaQW9XN1Z3dm9r?=
 =?utf-8?B?ZUJkT2hhSk5SRFZuNjJYYldUYjZRNkx3ZUdYUXNvckJReHplWmgwUEdmZEdR?=
 =?utf-8?B?eVJEcnZUV0QyTEl3Ym9MdjU1aGZkMy9yN3NCT1M1ZmEyay9LWkJsWGQ2SUpy?=
 =?utf-8?B?QjBpMGJGY0RSM2RiRGpsdnJkTnkxUjZ3RG90Z1hSVFY2S2pseEU0ODMyNk0x?=
 =?utf-8?B?Zi9mOHJVNU1SYXZOQ0FSa0tCdll4YXVIQmVWWktOVUxJVGFKSG9XeStXQktY?=
 =?utf-8?B?SHQ0bUh4Ylk0ZmI0NEtybHhhenE1a1pvd2dydXhGV2lzc2IydkFrTXpKZjV4?=
 =?utf-8?B?SFFqMkh5MFlleGRZNHpBM1BLdmlNWUlpaTNzd2Y0NFlHMlEwMUFWWmFaSFI0?=
 =?utf-8?B?Y2xYOVMzSFZTWTNDSER3ODNGQ0xzbG1LMEEzamFLWW1KY25uZWZKRll5ZjU0?=
 =?utf-8?B?dGtZaVdaMzl1WVIrZERCdytHSWtCb1M4TWZocGUrcDV4S2FDYnhvZWlqSWVt?=
 =?utf-8?B?VjhXaDhSQWM3azFPdTVObDFNQzBYdlZia3lxY245SS91bEI3VEY5N2ZFTlh1?=
 =?utf-8?B?RGFOa0dFaE11UndJOXlwemtkNEhzZjJzSHh1cUpoS2NLUzhvMEZwR0ZYZkR2?=
 =?utf-8?B?bGNSUEpLOXVhOUFPM083dHhQaGwycHhhZTN1Smx6Yms0eTVHUW1pMFlvVlJs?=
 =?utf-8?B?d3Q3U1JLa2ZCb0xaZXlseWYyVHdTOG9vbFFmUjlocnNuQk9TbnV1Y0wzTEgz?=
 =?utf-8?B?bzJUQ2s2UlhXMEUvcGt6TnRIWURBUDFIQVkyT2VTVitUODJvSGNpdzhyeWdD?=
 =?utf-8?B?em1meUJOdkRKMkRGa01YYy91NmZZS0xralQzc2FlamdteEU1cUpjQWNIdjhi?=
 =?utf-8?B?THYzTzliZkYvUXFhbjR4M2EzR3VYZ00zL3EyTE9uOUNYY2dtaWNhcWNSaG9i?=
 =?utf-8?B?K1lPc21oYmYvR2djYkJ4TXdvQk5sSXNxTjVqRW12NjBsUlZiS1FqRkY5ellj?=
 =?utf-8?B?eWh0RFNEWnRPV2l2Q2twbEdzdWkxTnppNVAyenhYMmRsQUxJa2VPank3c0JP?=
 =?utf-8?B?UGQvZWV2dGxHeGtSQ1diVklIUm5kb2FWVlU1VTlPVHJ5b0cvQWdaZ09BcDV0?=
 =?utf-8?Q?fx80=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: corigine.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2250e89f-3b18-41fd-e4f4-08dc130c7827
X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Jan 2024 01:19:05.6136 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: fe128f2c-073b-4c20-818e-7246a585940c
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: bh4DdBzq0TxJuxCeReXVHfkYhi41ADYIZpzPrea29D7DmWvCPbLaE9j74hQ4YDtS4s4rqwZQj57OvZEKs0ciRDW2Oz75mQwP6+neaTOmjXU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR13MB4905
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

PiBPbiAxLzExLzIwMjQgMjowMiBBTSwgQ2hhb3lvbmcgSGUgd3JvdGU6DQo+ID4+IE9uIDEvOS8y
MDI0IDc6NTYgQU0sIENoYW95b25nIEhlIHdyb3RlOg0KPiA+Pj4+IE9uIDEyLzE4LzIwMjMgMTo1
MCBBTSwgQ2hhb3lvbmcgSGUgd3JvdGU6DQo+ID4+Pj4+PiBPbiAxMi8xNC8yMDIzIDEwOjI0IEFN
LCBDaGFveW9uZyBIZSB3cm90ZToNCj4gPj4+Pj4+PiBGcm9tOiBMb25nIFd1IDxsb25nLnd1QGNv
cmlnaW5lLmNvbT4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IFNldCB0aGUgcmVwcmVzZW50b3IgYXJy
YXkgdG8gTlVMTCB0byBhdm9pZCB0aGF0IGNsb3NlIGludGVyZmFjZQ0KPiA+Pj4+Pj4+IGRvZXMg
bm90IGZyZWUgc29tZSByZXNvdXJjZS4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+IEZpeGVzOiBhMTM1
YmMxNjQ0ZDYgKCJuZXQvbmZwOiBmaXggcmVzb3VyY2UgbGVhayBmb3IgZmxvd2VyDQo+ID4+Pj4+
Pj4gZmlybXdhcmUiKQ0KPiA+Pj4+Pj4+IENjOiBjaGFveW9uZy5oZUBjb3JpZ2luZS5jb20NCj4g
Pj4+Pj4+PiBDYzogc3RhYmxlQGRwZGsub3JnDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBTaWduZWQt
b2ZmLWJ5OiBMb25nIFd1IDxsb25nLnd1QGNvcmlnaW5lLmNvbT4NCj4gPj4+Pj4+PiBSZXZpZXdl
ZC1ieTogQ2hhb3lvbmcgSGUgPGNoYW95b25nLmhlQGNvcmlnaW5lLmNvbT4NCj4gPj4+Pj4+PiBS
ZXZpZXdlZC1ieTogUGVuZyBaaGFuZyA8cGVuZy56aGFuZ0Bjb3JpZ2luZS5jb20+DQo+ID4+Pj4+
Pj4gLS0tDQo+ID4+Pj4+Pj4gIGRyaXZlcnMvbmV0L25mcC9mbG93ZXIvbmZwX2Zsb3dlcl9yZXBy
ZXNlbnRvci5jIHwgMTUNCj4gPj4+Pj4+PiArKysrKysrKysrKysrKy0NCj4gPj4+Pj4+PiAgMSBm
aWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCj4gPj4+Pj4+Pg0K
PiA+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9uZnAvZmxvd2VyL25mcF9mbG93ZXJf
cmVwcmVzZW50b3IuYw0KPiA+Pj4+Pj4+IGIvZHJpdmVycy9uZXQvbmZwL2Zsb3dlci9uZnBfZmxv
d2VyX3JlcHJlc2VudG9yLmMNCj4gPj4+Pj4+PiBpbmRleCAyN2VhMzg5MWJkLi41ZjdjMWZhNzM3
IDEwMDY0NA0KPiA+Pj4+Pj4+IC0tLSBhL2RyaXZlcnMvbmV0L25mcC9mbG93ZXIvbmZwX2Zsb3dl
cl9yZXByZXNlbnRvci5jDQo+ID4+Pj4+Pj4gKysrIGIvZHJpdmVycy9uZXQvbmZwL2Zsb3dlci9u
ZnBfZmxvd2VyX3JlcHJlc2VudG9yLmMNCj4gPj4+Pj4+PiBAQCAtMjk0LDE3ICsyOTQsMzAgQEAg
bmZwX2Zsb3dlcl9yZXByX3R4X2J1cnN0KHZvaWQNCj4gKnR4X3F1ZXVlLA0KPiA+Pj4+Pj4+IHN0
YXRpYyBpbnQgIG5mcF9mbG93ZXJfcmVwcl91bmluaXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpldGhf
ZGV2KQ0KPiA+Pj4+Pj4+IHsNCj4gPj4+Pj4+PiArCXVpbnQxNl90IGluZGV4Ow0KPiA+Pj4+Pj4+
ICAJc3RydWN0IG5mcF9mbG93ZXJfcmVwcmVzZW50b3IgKnJlcHI7DQo+ID4+Pj4+Pj4NCj4gPj4+
Pj4+PiAgCXJlcHIgPSBldGhfZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZTsNCj4gPj4+Pj4+PiAgCXJ0
ZV9yaW5nX2ZyZWUocmVwci0+cmluZyk7DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiArCWlmIChyZXBy
LT5yZXByX3R5cGUgPT0gTkZQX1JFUFJfVFlQRV9QSFlTX1BPUlQpIHsNCj4gPj4+Pj4+PiArCQlp
bmRleCA9DQo+IE5GUF9GTE9XRVJfQ01TR19QT1JUX1BIWVNfUE9SVF9OVU0ocmVwci0NCj4gPj4+
Pj4+PiBwb3J0X2lkKTsNCj4gPj4+Pj4+PiArCQlyZXByLT5hcHBfZndfZmxvd2VyLT5waHlfcmVw
cnNbaW5kZXhdID0gTlVMTDsNCj4gPj4+Pj4+PiArCX0gZWxzZSB7DQo+ID4+Pj4+Pj4gKwkJaW5k
ZXggPSByZXByLT52Zl9pZDsNCj4gPj4+Pj4+PiArCQlyZXByLT5hcHBfZndfZmxvd2VyLT52Zl9y
ZXByc1tpbmRleF0gPSBOVUxMOw0KPiA+Pj4+Pj4+ICsJfQ0KPiA+Pj4+Pj4+ICsNCj4gPj4+Pj4+
PiAgCXJldHVybiAwOw0KPiA+Pj4+Pj4+ICB9DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiAgc3RhdGlj
IGludA0KPiA+Pj4+Pj4+IC1uZnBfZmxvd2VyX3BmX3JlcHJfdW5pbml0KF9fcnRlX3VudXNlZCBz
dHJ1Y3QgcnRlX2V0aF9kZXYNCj4gPj4+Pj4+PiAqZXRoX2RldikNCj4gPj4+Pj4+PiArbmZwX2Zs
b3dlcl9wZl9yZXByX3VuaW5pdChzdHJ1Y3QgcnRlX2V0aF9kZXYgKmV0aF9kZXYpDQo+ID4+Pj4+
Pj4gIHsNCj4gPj4+Pj4+PiArCXN0cnVjdCBuZnBfZmxvd2VyX3JlcHJlc2VudG9yICpyZXByID0N
Cj4gPj4+Pj4+PiArZXRoX2Rldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQo+ID4+Pj4+Pj4gKw0KPiA+
Pj4+Pj4+ICsJcmVwci0+YXBwX2Z3X2Zsb3dlci0+cGZfcmVwciA9IE5VTEw7DQo+ID4+Pj4+Pj4N
Cj4gPj4+Pj4+DQo+ID4+Pj4+PiBIZXJlIGl0IGlzIGFzc2lnbmVkIHRvIE5VTEwgYnV0IGlzIGl0
IGZyZWVkPyBJZiBmcmVlZCwgd2h5IG5vdA0KPiA+Pj4+Pj4gc2V0IHRvIE5VTEwgd2hlcmUgaXQg
aXMgZnJlZWQ/DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gU2FtZSBmb3IgYWJvdmUgcGh5X3JlcHJzICYg
dmZfcmVwcnMuDQo+ID4+Pj4+DQo+ID4+Pj4+IFRoZSB3aG9sZSBpbnZva2UgdmlldzoNCj4gPj4+
Pj4gcnRlX2V0aF9kZXZfY2xvc2UoKQ0KPiA+Pj4+PiAgICAgLS0+IG5mcF9mbG93ZXJfcmVwcl9k
ZXZfY2xvc2UoKQ0KPiA+Pj4+PiAgICAgICAgIC0tPiBuZnBfZmxvd2VyX3JlcHJfZnJlZSgpDQo+
ID4+Pj4+ICAgICAgICAgICAgIC0tPiBuZnBfZmxvd2VyX3BmX3JlcHJfdW5pbml0KCkNCj4gPj4+
Pj4gICAgICAgICAgICAgLS0+IG5mcF9mbG93ZXJfcmVwcl91bmluaXQoKQ0KPiA+Pj4+PiAgICAg
ICAgICAgIC8vIEluIHRoZXNlIHR3byBmdW5jdGlvbnMsIHdlIGp1c3QgYXNzaWduZWQgdG8gTlVM
TCBidXQNCj4gPj4+Pj4gbm90IGZyZWVkDQo+ID4+IHlldC4NCj4gPj4+Pj4gICAgICAgICAgICAv
LyBJdCBpcyBzdGlsbCByZWZlciBieSB0aGUgYGV0aF9kZXYtPmRhdGEtPmRldl9wcml2YXRlYC4N
Cj4gPj4+Pj4gICAgIC0tPiBydGVfZXRoX2Rldl9yZWxlYXNlX3BvcnQoKQ0KPiA+Pj4+PiAgICAg
ICAgIC0tPiBydGVfZnJlZShldGhfZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZSk7DQo+ID4+Pj4+ICAg
ICAgICAgLy8gQW5kIGhlcmUgaXQgaXMgcmVhbGx5IGZyZWVkIChieSB0aGUgcnRlIGZyYW1ld29y
aykuDQo+ID4+Pj4+DQo+ID4+Pj4NCj4gPj4+PiAncnRlX2V0aF9kZXZfcmVsZWFzZV9wb3J0KCkn
IGZyZWVzIHRoZSBkZXZpY2UgcHJpdmF0ZSBkYXRhLCBidXQgbm90DQo+ID4+Pj4gYWxsIHBvaW50
ZXJzLCBsaWtlICdyZXByLT5hcHBfZndfZmxvd2VyLT5wZl9yZXByJywgaW4gdGhlIHN0cnVjdA0K
PiA+Pj4+IGFyZSBmcmVlZCwgaXQgaXMgZGV2X2Nsb3NlKCkgb3INCj4gPj4+PiB1bmludCgpIGZ1
bmN0aW9ucyByZXNwb25zaWJpbGl0eS4NCj4gPj4+Pg0KPiA+Pj4+IENhbiB5b3UgcGxlYXNlIGRv
dWJsZSBjaGVjayBpZg0KPiA+Pj4+ICdldGhfZGV2LT5kYXRhLT5kZXZfcHJpdmF0ZS0+YXBwX2Z3
X2Zsb3dlci0+cGZfcmVwcicgZnJlZWQgb3Igbm90Pw0KPiA+Pj4NCj4gPj4+IChnZGIpIGIgbmZw
X2Zsb3dlcl9yZXByX2Rldl9jbG9zZQ0KPiA+Pj4gQnJlYWtwb2ludCAxIGF0IDB4N2Y4MzlhNGFk
MzdmOg0KPiA+PiBmaWxlIC4uL2RyaXZlcnMvbmV0L25mcC9mbG93ZXIvbmZwX2Zsb3dlcl9yZXBy
ZXNlbnRvci5jLCBsaW5lIDM1Ni4NCj4gPj4+IChnZGIpIGMNCj4gPj4+IENvbnRpbnVpbmcuDQo+
ID4+Pg0KPiA+Pj4gVGhyZWFkIDEgImRwZGstdGVzdHBtZCIgaGl0IEJyZWFrcG9pbnQgMSwgbmZw
X2Zsb3dlcl9yZXByX2Rldl9jbG9zZQ0KPiA+PiAoZGV2PTB4N2Y4MzlhZWQyMzQwIDxydGVfZXRo
X2RldmljZXM+KQ0KPiA+Pj4gICAgIGF0IC4uL2RyaXZlcnMvbmV0L25mcC9mbG93ZXIvbmZwX2Zs
b3dlcl9yZXByZXNlbnRvci5jOjM1Ng0KPiA+Pj4gMzU2ICAgICAgICAgICAgIGlmIChydGVfZWFs
X3Byb2Nlc3NfdHlwZSgpICE9IFJURV9QUk9DX1BSSU1BUlkpDQo+ID4+PiAoZ2RiKSBuDQo+ID4+
PiAzNTkgICAgICAgICAgICAgcmVwciA9IGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGU7DQo+ID4+PiAo
Z2RiKQ0KPiA+Pj4gMzYwICAgICAgICAgICAgIGFwcF9md19mbG93ZXIgPSByZXByLT5hcHBfZndf
Zmxvd2VyOw0KPiA+Pj4gKGdkYikNCj4gPj4+IDM2MSAgICAgICAgICAgICBodyA9IGFwcF9md19m
bG93ZXItPnBmX2h3Ow0KPiA+Pj4gKGdkYikNCj4gPj4+IDM2MiAgICAgICAgICAgICBwZl9kZXYg
PSBody0+cGZfZGV2Ow0KPiA+Pj4gKGdkYikNCj4gPj4+IDM2OCAgICAgICAgICAgICBuZnBfbmV0
X2Rpc2FibGVfcXVldWVzKGRldik7DQo+ID4+PiAoZ2RiKSBwIHJlcHINCj4gPj4+ICQxID0gKHN0
cnVjdCBuZnBfZmxvd2VyX3JlcHJlc2VudG9yICopIDB4MTdjNDljODAwDQo+ID4+PiAoZ2RiKSBw
IGRldi0+ZGF0YS0+ZGV2X3ByaXZhdGUNCj4gPj4+ICQyID0gKHZvaWQgKikgMHgxN2M0OWM4MDAN
Cj4gPj4+IChnZGIpIHAgcmVwci0+YXBwX2Z3X2Zsb3dlci0+cGZfcmVwcg0KPiA+Pj4gJDMgPSAo
c3RydWN0IG5mcF9mbG93ZXJfcmVwcmVzZW50b3IgKikgMHgxN2M0OWM4MDANCj4gPj4+DQo+ID4+
PiBBcyB3ZSBjYW4gc2VlLCB0aGVzZSB0aHJlZSBwb2ludGVycyBwb2ludCB0aGUgc2FtZSBibG9j
ayBvZiBtZW1vcnkuDQo+ID4+Pg0KPiA+Pg0KPiA+PiBBaGgsIEkgbWlzc2VkIHRoYXQgJ3JlcHIt
PmFwcF9md19mbG93ZXItPnBmX3JlcHInIHBvaW50cyB0bw0KPiA+PiAnZGV2X3ByaXZhdGUnLCBz
byB5b3VyIGNvZGUgbWFrZXMgc2Vuc2UuDQo+ID4+DQo+ID4+IEJ1dCBpZiBpdCBpcyAnZGV2X3By
aXZhdGUnLCB3aHkgZnJlZSBpdCBpbiAnbmZwX3BmX3VuaW5pdCgpJyBhcyBpdA0KPiA+PiB3aWxs
IGJlIGZyZWVkIGJ5ICdydGVfZXRoX2Rldl9yZWxlYXNlX3BvcnQoKSc/DQo+ID4NCj4gPiBTb3Jy
eSwgSSdtIG5vdCB1bmRlcnN0YW5kaW5nIHRoaXMuDQo+ID4gVGhlICdkZXZfcHJpdmF0ZScgaXMg
YSAnc3RydWN0IG5mcF9mbG93ZXJfcmVwcmVzZW50b3IgKicsIGFuZCBpdCB3aWxsIGJlIGZyZWVk
IGluDQo+ICdydGVfZXRoX2Rldl9yZWxlYXNlX3BvcnQoKScuDQo+ID4gV2hhdCBJIGZyZWVkIGlu
ICduZnBfcGZfdW5pbml0KCknIGlzIGEgJ3N0cnVjdCBuZnBfcGZfZGV2IConLCBzbyBJJ20gbm90
IGNhdGNoDQo+IHlvdXIgcG9pbnQgYWJvdXQgdGhpcy4NCj4gPg0KPiA+PiBXb24ndCByZW1vdmlu
ZyAncnRlX2ZyZWUocGZfZGV2KTsnIGZyb20gJ25mcF9wZl91bmluaXQoKScgd2lsbCBoYXZlDQo+
ID4+IHRoZSBzYW1lIGVmZmVjdCwgaW5zdGVhZCBvZiBzZXR0aW5nIGl0IE5VTEwgaW4gYWR2YW5j
ZT8NCj4gPj4NCj4gPg0KPiA+IElmIEkgcmVtb3ZlIHRoZSAncnRlX2ZyZWUocGZfZGV2KTsnIGZy
b20gJ25mcF9wZl91bmluaXQoKScsIHRoZXJlIHdpbGwgYmUgYQ0KPiBtZW1vcnkgbGVhayBhcyBu
byBvbmUgd2lsbCBmcmVlIGl0LCBhbmQgYWN0dWFsbHkgSSdtIG5vdCAnc2V0dGluZyBpdCBOVUxM
IGluDQo+IGFkdmFuY2UnLg0KPiA+DQo+ID4gMzU5ICAgICAgICAgICAgIHJlcHIgPSBkZXYtPmRh
dGEtPmRldl9wcml2YXRlOw0KPiA+IDM2MCAgICAgICAgICAgICBhcHBfZndfZmxvd2VyID0gcmVw
ci0+YXBwX2Z3X2Zsb3dlcjsNCj4gPiAzNjEgICAgICAgICAgICAgaHcgPSBhcHBfZndfZmxvd2Vy
LT5wZl9odzsNCj4gPiAzNjIgICAgICAgICAgICAgcGZfZGV2ID0gaHctPnBmX2RldjsNCj4gPg0K
PiA+IE1heWJlIHlvdSBqdXN0IGNvbmZ1c2UgdGhlICdwZl9yZXByJyBhbmQgJ3BmX2Rldic/IEp1
c3QgYSBndWVzcy4NCj4gPg0KPiANCj4gWWVzIEkgZGlkIGNvbmZ1c2UgdGhvc2UgdHdvLCBzb3Jy
eSBhYm91dCB0aGF0Lg0KPiANCj4gJ3JlcHItPmFwcF9md19mbG93ZXItPnBmX3JlcHInIGlzICdk
ZXZfcHJpdmF0ZScsIGFuZCBJIGFzc3VtZWQgeW91IGFyZSBzZXR0aW5nDQo+IGl0IE5VTEwgdG8g
ZXNjYXBlIGZyb20gZG91YmxlIGZyZWUgKGFuZCB3YXMgY2hlY2tpbmcgd2hlcmUgdGhhdCBkb3Vi
bGUgZnJlZQ0KPiBoYXBwZW5zKSwgYnV0IEkgZ3Vlc3MgdGhhdCBpcyBub3QgdGhlIGNhc2UuDQo+
IA0KPiAncnRlX2V0aF9kZXZfZGVzdHJveSgpJyBjYWxscyAncnRlX2V0aF9kZXZfcmVsZWFzZV9w
b3J0KCknIGFuZCBmcmVlcw0KPiAnZGV2X3ByaXZhdGUnIGJ1dCAncmVwci0+YXBwX2Z3X2Zsb3dl
ci0+cGZfcmVwcicgcmVtYWlucyBhcyBkYW5nbGluZyBwb2ludGVyDQo+IGFuZCBwZXJoYXBzIHBy
ZXZlbnRzICduZnBfZmxvd2VyX3JlcHJfZGV2X2Nsb3NlKCknIG1vdmUgZm9yd2FyZCAoYmVjYXVz
ZQ0KPiBvZiAiaWYgKGFwcF9md19mbG93ZXItPnBmX3JlcHIgIT0gTlVMTCkiIGNoZWNrKSwgYW5k
IHlvdSBhcmUgZml4aW5nIGl0LCBpcyBpdCB0aGUNCj4gY2FzZT8NCg0KQ29ycmVjdCwgdGhhdCdz
IHdoYXQgd2Ugd2FudCB0byBkbyBieSB0aGlzIHBhdGNoIGFuZCB3aGVyZSB0aGUgcHJvYmxlbSBp
cywgeW91ciBkZXNjcmlwdGlvbiBpcyB2ZXJ5IGNsZWFyIGFuZCBicmllZi4NCg0K