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 4C45FA0C52;
	Wed, 24 Nov 2021 11:21:59 +0100 (CET)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id D3C024115A;
	Wed, 24 Nov 2021 11:21:58 +0100 (CET)
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2044.outbound.protection.outlook.com [40.107.237.44])
 by mails.dpdk.org (Postfix) with ESMTP id 52F6E41159
 for <dev@dpdk.org>; Wed, 24 Nov 2021 11:21:58 +0100 (CET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XaI6KQ+9MBsA6Ma7KppCIO5XkKVbP/thwQWHHjo+hdI1JiwY9/JwKWWUC4fIwNbx6ZiXtLRAPmOt4nYFdBMqL4rmc0J2p7Ae1NI56T8S+enEVvRrc+9t8Z1zgYbdWNqbF8BJZWD5pgQQ+08hetXx/r5OHIi6UTZD7DKmMdzJeDsYTvm6q+THWyuIm1KJUH017B3RHNu/0/7sLJbAmmNW39tlxxLSQDTG/cDbYjNiRc5H3d7Hvj5U17dtKuwry3mVG4dxHytFUVVt86bcCHL5nxPNawrlQXs9e4RPRT96c1y4ADRAqxKW0Q98aHZgMR0eCRMF1FzdAlI8TFhixdtbdA==
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=+2HfEcmJQ7AGzMjBAHfm7Bv9qFG1aWSDcT5HHGrUAGs=;
 b=JKvTG24aTQ3XfDhMrOiORt0jFbjVXrwbO0KvTI/fpi2kdhegHmj2pgX8SgpRs0ZCv/m0R85eEIarRxHZIIYPV2VppJ8ogSRXyfKmTQJhSyzLGI58/y5VjhpeLYcyz2Aog34YCYwLfI+OcPZ24YC/+YAuPPOcRXYEmhnguI2i8Q/sbyANIxUd+jZh2LjUS97nobMMvdnWFJIFwdEXR7fjYAA+DfYdWpkEfm3exmVMKACj4rI3rRAD3IxUn64K8GjtXMyvKheSt4GwjjiJKRxNgxwyl0X0L4N7s/Fzy4mdr3l+/ZdQjoVppzx57shpQ8gqNUhVx0Rz1blEutWgx2agrw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;
 s=selector2;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+2HfEcmJQ7AGzMjBAHfm7Bv9qFG1aWSDcT5HHGrUAGs=;
 b=Det95NrXlvQCe7XnvQy/M3KXCo6qt9q966DoEjqvsd9mvEjN4Jt/BBxJSxXnFza1TVVxna1Bd8P0UGfonbMjkzOPyiJzc+MX6W0H9NJjKvGZreWzcFSE1xaICOlygmskMgdbk13dD4OWv0RAnizKhynfzVm2WKBqzWxreE7Mx73vuUH3n95aGvV2WaRh61VWmAiNse4LxGN3fB+wijV7h3ClbQnrNWxS8iKP5H/zJ4SaGCC5rq+dQXZKxKxEwIvaPXzuYTNVmLbd/Rd5/1uwC3/Z3+DV/adgMPxB2hIwfpG2SOtGcNlWY0dBixvnRbKsZJ2JBDddp9ydk/UOym/kZA==
Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17)
 by DM4PR12MB5040.namprd12.prod.outlook.com (2603:10b6:5:38b::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.24; Wed, 24 Nov
 2021 10:21:56 +0000
Received: from DM4PR12MB5373.namprd12.prod.outlook.com
 ([fe80::10d0:8c16:3110:f8ac]) by DM4PR12MB5373.namprd12.prod.outlook.com
 ([fe80::10d0:8c16:3110:f8ac%7]) with mapi id 15.20.4734.022; Wed, 24 Nov 2021
 10:21:56 +0000
From: "Xueming(Steven) Li" <xuemingl@nvidia.com>
To: "olivier.matz@6wind.com" <olivier.matz@6wind.com>
CC: Lior Margalit <lmargalit@nvidia.com>, Parav Pandit <parav@nvidia.com>,
 "dev@dpdk.org" <dev@dpdk.org>, "mdr@ashroe.eu" <mdr@ashroe.eu>,
 "david.marchand@redhat.com" <david.marchand@redhat.com>
Subject: Re: [PATCH] kvargs: fix device iterator match from arguments
Thread-Topic: [PATCH] kvargs: fix device iterator match from arguments
Thread-Index: AQHX32gZYz0QoCyYNEmqkBpbzoJFbawQ6jCAgAAQmYCAABKYAIAABOyAgAB49oCAAPAigA==
Date: Wed, 24 Nov 2021 10:21:56 +0000
Message-ID: <3e515162d79664dc37d69ce232a88809f033a915.camel@nvidia.com>
References: <20211122061250.3220823-1-xuemingl@nvidia.com>
 <YZzBtSNLpVZdCyKJ@platinum>
 <7e1225023de996e63ed041ee312e861982913caf.camel@nvidia.com>
 <YZzfOlGpaCWjMbf0@platinum>
 <bd3ff18bbeb53aa2f65702809e17446e7edaeca7.camel@nvidia.com>
 <YZ1I05w1jcfr6oUq@platinum>
In-Reply-To: <YZ1I05w1jcfr6oUq@platinum>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: Evolution 3.42.1 
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=nvidia.com;
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: bdfbaff1-5b43-44a6-ff44-08d9af343e59
x-ms-traffictypediagnostic: DM4PR12MB5040:
x-microsoft-antispam-prvs: <DM4PR12MB5040AB344E52B8D7C58DEB55A1619@DM4PR12MB5040.namprd12.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 3YrmMcUZjn73jHqUtxO3IXTP08l7lWEugdQbX+6Eq+6mwGUd8gm/1CzBfgo5R2+09TcrUvdJSzGJHyn1fU7ClGRdRa+jFbNOvAcoUjdJwrXUOxd5LzPg5v5os6bVjPy9n6PmiQoFBwwecStXFL76uxuxuvWCCo4FnHjfU9YUO7/ZK7Qr7UAPkwqYfrRpRdBPb4CSNqnSrA1gcoDnGp3I3C8YgZftyIxT8u6989yNUVmj02aY8UA3cbXYogb6ADoUaRA5otSCd9VvDuCNlND/ImeFDp47kY3/sv6ulhfst5jhduKnAlNjCHVJn3ZGW+U/KVlbXxzOYlAIMj52vjiXEVfYX9ygPe6zdXe0P1bEiqs1Bp9ngEfbwxoCU63wXNYhrsIedNFkA3rU9P/95F1Zpg390xgl4YBauyhQ20kxysbl/rqlVYNd9zqpkESvR3bwnAYPbibjfYRYET6ecnU+JUOTgd9EgvcAwZhrO5Xa4IKoB0HuyqVT3UdR38nb+kTGtAvdXXJILp+qw0eghBte6Y9IIDs/JxVhmWOyfFE++2euwDIOR627kj5w/9nkiZc5dkhErNuGHXTo7n8Mzz+VjwJdSaY480lGz+J5leAcB+BEn6FffKPrMGRUAx/wxij3zBXCMFOeWtpH0dkF/NbA4vTkl5sjQ3rFpEQgEmZA5T7pfFIOpUq9FjLu+Xd/cX0qGdS3PbxeZjfZonjMJomBMQ==
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:DM4PR12MB5373.namprd12.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(4636009)(366004)(508600001)(83380400001)(38100700002)(6486002)(6916009)(91956017)(2616005)(2906002)(5660300002)(76116006)(66556008)(66946007)(4001150100001)(66476007)(6512007)(8676002)(122000001)(8936002)(66446008)(38070700005)(26005)(6506007)(36756003)(64756008)(54906003)(316002)(86362001)(186003)(71200400001)(4326008);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TkNtV29ZVHNvYU8vZ1ZCeVhlNU9NclAwRDNzS0VTVGNlbDQwSHV2bWVyMlNZ?=
 =?utf-8?B?cUhiV04zVFZibVdRZDRuWTlISWxUK0t4MDFzbThoVGE3L2VxblR5QkpoWjFt?=
 =?utf-8?B?NmNubGNlekJtMit4aGpMakE5cTV6czJnYzNMV085QnNyam43S0lUUTI3RGRT?=
 =?utf-8?B?LzlGUUVZTmZNYTA4ZTdOOUZkN3dWbmloRElNaGcwNklPQ2VjTmVQTlh5QW8z?=
 =?utf-8?B?NXhrcmRNVHIxR2pGdWJjWTF3dVpFRjNhUWpQSkcrc3p5Z1VaUFFPKzV4OGhX?=
 =?utf-8?B?MmRFUzNUeVFCam56S0EyQlFqdGRiZjB3bm5XWGNna0Z6QWd3UFNLN2tiQm00?=
 =?utf-8?B?OWJMSlZPQ1F3RmtramczWnJTb2N3cjAxZ0xkS0E5SkQyaFp2Nkg1QjVnNVNI?=
 =?utf-8?B?YzFmcmdZN1hUa0Iwcys2OTE0c2lnOGR2QzR3VHdjN1h4L0pqK0RDQTdCUXlz?=
 =?utf-8?B?Z2FPV1g4a2MrV1E4RDJQdWJ4UHA4b2hSYnRwemprWnZubms3RlBveU9NK1VC?=
 =?utf-8?B?eVZ1RkVMZFRYNFFvbDNwRkI3ZXpOdzlobTdKbVRUMkYxM1NUYnJDdlhndUZ4?=
 =?utf-8?B?NEx6WTY5WWJZU0pheU8xaFlsRDNKSGxnV2xtbVROdnhTQWVHUWJmZmkramdJ?=
 =?utf-8?B?M25hNzdic3lONmt0aFFvNVB2cTQzMjlISlViaTRpR1F0d0E1c2ZSblU1bFJY?=
 =?utf-8?B?TzRhUmJWanNVdHZ1R05ROFloRkl2U2RDazN1VTU3VVY3aG9KYzY4R3ZmeVJN?=
 =?utf-8?B?U2NvRjlwSDhlQXVhcEVoY2xLcGNyOHQyY3hlMnFsd3pybmR3QWxVcXl2V3pn?=
 =?utf-8?B?MWZSZkpDZmlXSmRTQ2doSjlpb25ZUXR2SHNTWFc0SSswU1V6WUJONTgyUkpa?=
 =?utf-8?B?eHE4d042aFlxU01rQzFnalVOTnQ5NVFJUEpjY2hyV1RYL2hnVXQ3UGFEWTBr?=
 =?utf-8?B?QkRKYzRFOXJrblpTYUZQdzh1SmZlYllUYmlsSkdDaHAyemR4R3NqNkY1a2tZ?=
 =?utf-8?B?b0dBQlI1L3RNdHZaSDNWSWVPZzdtanJ4eGdxaGpFdlBMelgxN0dFZ05oakVt?=
 =?utf-8?B?MThObTR0V251WW9aazE1OHVEMDcrcnVVSmFGMmJFMFc0SFU4SWJxWjFkekNO?=
 =?utf-8?B?azhYdk0wczBYQ1MrZlRWNTNwWklkelNBcFdTLyszUmpZUWVpcHBNUDJTZVNi?=
 =?utf-8?B?L3dzVzV4SExhK3Q0VkZ6VkdHWG1zd2dxei9YL09MSENkVUx2MEtyNWE3VmFn?=
 =?utf-8?B?ZE05RFE0SGltV281T1o0Nk1UMTRBRmRML2lhdmxvWjlUQkhJeWRqUThQbisz?=
 =?utf-8?B?SEErSFVsMzlKekJXUnpsc0EwZmVLK0xONzRsaEt0eUdqdVI0NDIxZTFrUlZE?=
 =?utf-8?B?cDlaVWsxSXZOYjJPN29vdXFnY0xYNHJVczBoaXVNcTFja1FpNWc2K05ZbUpZ?=
 =?utf-8?B?bEIzNkl1aHBMZHdqd2toRmJVZDlpcjQybTE3cFl1RjFGemgrVkVzMmZYc2Ez?=
 =?utf-8?B?V1U4LzRtak9IZVA0TGZlNG50Tm5LOFBHOXRUb0hxSDhYNW4vdFRwblovQSsx?=
 =?utf-8?B?M254Skc1QmV5U1hMb1RNb3J6czZjbmpYeW1zQmNQZFR3djVEcUlkMzllblVo?=
 =?utf-8?B?T0RNZWhlTHUrVU9YYllZSEoySjBmT2I2TitjS3dvSVV1ZUpYQ2pnUFRxcGk0?=
 =?utf-8?B?WWZzQ3h4Q0NOVDFYN3NBeklucnozWUlrMUJyd0RucFRjWVl6V0ZLaEc5eDQr?=
 =?utf-8?B?WDhzTVhZbloyY3VFNW50U3p5QVQrdjd1QmRPU0piZTZFcGV5TVM0RzRCUjBD?=
 =?utf-8?B?Mzc4amRzaW9IbWdZamVUaGFFRWhGaVZpV0g3ZDhUVmxZWEZKSWh6cjNMWlZw?=
 =?utf-8?B?OTdIcFFXNmIvOGNFT0w1TXRnbEtOdTJHR3BwbnE4UFk5WHgxUS94RkNRTkEw?=
 =?utf-8?B?OHdkQkpUZXcwbG5FVHlqK0tWU0FURzY3VE5Rb0t4bmxWZXZ0Zk9NYWdRRWhE?=
 =?utf-8?B?NU16MEgyWlI1cW5oMDBMRitkei91TWdlVCtrcjZ0bFNwR0dEdXp5R2tRaDlF?=
 =?utf-8?B?TkxoUlRUZ1RSd2MrdldJMU8xdGFqU1lYcnZqZkZRUjVidEFXSk9nd2pLQmZv?=
 =?utf-8?B?Y0haSnZ4eWJTbEQ0bEpvd3NIZzEzYzgwY2hxL1pTc2tCMkxNYXViMXpRZnU3?=
 =?utf-8?Q?d5G1e/3A4CSvEtWGVKwDv5OsrMCXhEj15/5h/68GeCwl?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <58118029137B75479D3E312059C50047@namprd12.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5373.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bdfbaff1-5b43-44a6-ff44-08d9af343e59
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2021 10:21:56.8025 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: n7MXQs6TQaaDx1H47pijn+2YpwSq3fK7vrV8Yd8PUOIWtNzBfseS9lYBpDnETdATRI4p03lXg/7JdxZ0BKoOyg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5040
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

T24gVHVlLCAyMDIxLTExLTIzIGF0IDIxOjAyICswMTAwLCBPbGl2aWVyIE1hdHogd3JvdGU6DQo+
IEhlbGxvIFh1ZW1pbmcsDQo+IA0KPiBPbiBUdWUsIE5vdiAyMywgMjAyMSBhdCAxMjo0OTozMlBN
ICswMDAwLCBYdWVtaW5nKFN0ZXZlbikgTGkgd3JvdGU6DQo+ID4gT24gVHVlLCAyMDIxLTExLTIz
IGF0IDEzOjMxICswMTAwLCBPbGl2aWVyIE1hdHogd3JvdGU6DQo+ID4gPiBPbiBUdWUsIE5vdiAy
MywgMjAyMSBhdCAxMToyNToyMkFNICswMDAwLCBYdWVtaW5nKFN0ZXZlbikgTGkgd3JvdGU6DQo+
ID4gPiA+IE9uIFR1ZSwgMjAyMS0xMS0yMyBhdCAxMToyNSArMDEwMCwgT2xpdmllciBNYXR6IHdy
b3RlOg0KPiA+ID4gPiA+IEhpIFh1ZW1pbmcsDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gT24gTW9u
LCBOb3YgMjIsIDIwMjEgYXQgMDI6MTI6NTBQTSArMDgwMCwgWHVlbWluZyBMaSB3cm90ZToNCj4g
PiA+ID4gPiA+IERldmljZSBpdGVyYXRvciBSVEVfREVWX0ZPUkVBQ0goKSBmYWlsZWQgdG8gcmV0
dXJuIGRldmljZXMgZnJvbQ0KPiA+ID4gPiA+ID4gY2xhc3NpZmllciBsaWtlICJjbGFzcz12ZHBh
IiwgYmVjYXVzZSBtYXRjaGluZyBuYW1lIGZyb20gZW1wdHkga3ZhcmdzDQo+ID4gPiA+ID4gPiBy
ZXR1cm5zIG5vIHJlc3VsdC4gSWYgZGV2aWNlIG5hbWUgbm90IHNwZWNpZmllZCBpbiBrdmFyZ3Ms
IHRoZSBmdW5jdGlvbg0KPiA+ID4gPiA+ID4gc2hvdWxkIGl0ZXJhdGUgYWxsIGRldmljZXMuDQo+
ID4gPiA+ID4gPiANCj4gPiA+ID4gPiA+IFRoaXMgcGF0Y2ggYWxsb3dzIGVtcHR5IGRldmFyZ3Mg
b3IgZGV2YXJncyB3aXRob3V0IG5hbWUgc3BlY2lmaWVkLg0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+
ID4gPiBGaXhlczogNmFlYmI5NDI5MDdkICgia3ZhcmdzOiBhZGQgZnVuY3Rpb24gdG8gZ2V0IGZy
b20ga2V5IGFuZCB2YWx1ZSIpDQo+ID4gPiA+ID4gPiBDYzogb2xpdmllci5tYXR6QDZ3aW5kLmNv
bQ0KPiA+ID4gPiA+ID4gDQo+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBYdWVtaW5nIExpIDx4
dWVtaW5nbEBudmlkaWEuY29tPg0KPiA+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gPiAyMS4xMSBz
cGVjaWZpYyBidWcsIG5vIGNvcHkgdG8gc3RhYmxlLm9yZw0KPiA+ID4gPiA+ID4gLS0tDQo+ID4g
PiA+ID4gPiAgZHJpdmVycy9idXMvYXV4aWxpYXJ5L2F1eGlsaWFyeV9wYXJhbXMuYyB8IDMgKysr
DQo+ID4gPiA+ID4gPiAgZHJpdmVycy9idXMvdmRldi92ZGV2X3BhcmFtcy5jICAgICAgICAgICB8
IDMgKysrDQo+ID4gPiA+ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKykNCj4g
PiA+ID4gPiA+IA0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYnVzL2F1eGlsaWFy
eS9hdXhpbGlhcnlfcGFyYW1zLmMgYi9kcml2ZXJzL2J1cy9hdXhpbGlhcnkvYXV4aWxpYXJ5X3Bh
cmFtcy5jDQo+ID4gPiA+ID4gPiBpbmRleCBhOWM3ODUzZWQxZC4uNmE2MzgyOTYxZWEgMTAwNjQ0
DQo+ID4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2J1cy9hdXhpbGlhcnkvYXV4aWxpYXJ5X3BhcmFt
cy5jDQo+ID4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2J1cy9hdXhpbGlhcnkvYXV4aWxpYXJ5X3Bh
cmFtcy5jDQo+ID4gPiA+ID4gPiBAQCAtMjcsNiArMjcsOSBAQCBhdXhpbGlhcnlfZGV2X21hdGNo
KGNvbnN0IHN0cnVjdCBydGVfZGV2aWNlICpkZXYsDQo+ID4gPiA+ID4gPiAgCWNvbnN0IHN0cnVj
dCBydGVfa3ZhcmdzICprdmxpc3QgPSBfa3ZsaXN0Ow0KPiA+ID4gPiA+ID4gIAljb25zdCBjaGFy
ICprZXkgPSBhdXhpbGlhcnlfcGFyYW1zX2tleXNbUlRFX0FVWElMSUFSWV9QQVJBTV9OQU1FXTsN
Cj4gPiA+ID4gPiA+ICANCj4gPiA+ID4gPiA+ICsJLyogSXRlcmF0ZSBhbGwgZGV2aWNlcyBpZiBu
YW1lIG5vdCBzcGVjaWZpZWQuICovDQo+ID4gPiA+ID4gPiArCWlmIChrdmxpc3QgPT0gTlVMTCB8
fCBydGVfa3ZhcmdzX2dldChrdmxpc3QsIGtleSkgPT0gTlVMTCkNCj4gPiA+ID4gPiA+ICsJCXJl
dHVybiAwOw0KPiA+ID4gPiA+ID4gIAlpZiAocnRlX2t2YXJnc19nZXRfd2l0aF92YWx1ZShrdmxp
c3QsIGtleSwgZGV2LT5uYW1lKSA9PSBOVUxMKQ0KPiA+ID4gPiA+ID4gIAkJcmV0dXJuIC0xOw0K
PiA+ID4gPiA+ID4gIA0KPiA+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYnVzL3ZkZXYv
dmRldl9wYXJhbXMuYyBiL2RyaXZlcnMvYnVzL3ZkZXYvdmRldl9wYXJhbXMuYw0KPiA+ID4gPiA+
ID4gaW5kZXggMzdkOTUzOTVlN2EuLmJhYjRjMGQxZDA4IDEwMDY0NA0KPiA+ID4gPiA+ID4gLS0t
IGEvZHJpdmVycy9idXMvdmRldi92ZGV2X3BhcmFtcy5jDQo+ID4gPiA+ID4gPiArKysgYi9kcml2
ZXJzL2J1cy92ZGV2L3ZkZXZfcGFyYW1zLmMNCj4gPiA+ID4gPiA+IEBAIC0yOSw2ICsyOSw5IEBA
IHZkZXZfZGV2X21hdGNoKGNvbnN0IHN0cnVjdCBydGVfZGV2aWNlICpkZXYsDQo+ID4gPiA+ID4g
PiAgCWNvbnN0IHN0cnVjdCBydGVfa3ZhcmdzICprdmxpc3QgPSBfa3ZsaXN0Ow0KPiA+ID4gPiA+
ID4gIAljb25zdCBjaGFyICprZXkgPSB2ZGV2X3BhcmFtc19rZXlzW1JURV9WREVWX1BBUkFNX05B
TUVdOw0KPiA+ID4gPiA+ID4gIA0KPiA+ID4gPiA+ID4gKwkvKiBJdGVyYXRlIGFsbCBkZXZpY2Vz
IGlmIG5hbWUgbm90IHNwZWNpZmllZC4gKi8NCj4gPiA+ID4gPiA+ICsJaWYgKGt2bGlzdCA9PSBO
VUxMIHx8IHJ0ZV9rdmFyZ3NfZ2V0KGt2bGlzdCwga2V5KSA9PSBOVUxMKQ0KPiA+ID4gPiA+ID4g
KwkJcmV0dXJuIDA7DQo+ID4gPiA+ID4gPiAgCWlmIChydGVfa3ZhcmdzX2dldF93aXRoX3ZhbHVl
KGt2bGlzdCwga2V5LCBkZXYtPm5hbWUpID09IE5VTEwpDQo+ID4gPiA+ID4gPiAgCQlyZXR1cm4g
LTE7DQo+ID4gPiA+ID4gPiAgDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gVGhh
bmsgeW91IGZvciBzcG90dGluZyBhbmQgZml4aW5nIHRoaXMgaXNzdWUuIFRoZSBwYXRjaCBsb29r
cyBnb29kIHRvDQo+ID4gPiA+ID4gbWUsIGJ1dCBtYXkgSSBzdWdnZXN0IGFuIGFsdGVybmF0aXZl
IHRoYXQgd291bGQgYXZvaWQgdG8gYnJvd3NlIHRoZQ0KPiA+ID4gPiA+IGt2bGlzdCB0d2ljZT8g
SXQgaXMgbm90IHllcyB0ZXN0ZWQsIGp1c3QgZm9yIGRpc2N1c3Npb24uIFRoZSBpZGVhDQo+ID4g
PiA+ID4gaXMgdG8gYWRkIGFuIGVycm5vIGZvciBlcnJvciBjYXNlcyBvZiBydGVfa3ZhcmdzX2dl
dF93aXRoX3ZhbHVlKCkNCj4gPiA+ID4gPiB0byBpZGVudGlmeSB0aGUgZGlmZmVyZW50IGNhc2Vz
Lg0KPiA+ID4gPiANCj4gPiA+ID4gWWVzLCB0aGUgY29kZSB3YWxrIHRoZSBrdmxpc3QgdHdpY2Uu
IEFuIGFsdGVybmF0aXZlIGNvbXBsZXggY29kZSBjb3VsZA0KPiA+ID4gPiBiZSB0aGlzOg0KPiA+
ID4gPiANCj4gPiA+ID4gCWlmIChrdmxpc3QgPT0gTlVMTCkNCj4gPiA+ID4gCQlyZXR1cm4gMDsN
Cj4gPiA+ID4gCW5hbWUgPSBydGVfa3ZhcmdzX2dldChrdmxpc3QsIGtleSk7DQo+ID4gPiA+IAlp
ZiAobmFtZSA9PSBOVUxMKQ0KPiA+ID4gPiAJCS8qIEl0ZXJhdGUgYWxsIGRldmljZXMgaWYgbmFt
ZSBub3Qgc3BlY2lmaWVkLiAqLw0KPiA+ID4gPiAJCXJldHVybiAwOw0KPiA+ID4gPiAJaWYgKHN0
cmNtcChuYW1lLCBkZXYtPm5hbWUpICE9IDApDQo+ID4gPiA+ICAgCQlyZXR1cm4gLTE7DQo+ID4g
PiANCj4gPiA+IE1heWJlIGl0IGlzIGVxdWl2YWxlbnQgZm9yIGNvbW1vbiB1c2FnZXMsIGJ1dCBh
IGRpZmZlcmVuY2UgaXMgdGhhdA0KPiA+ID4gcnRlX2t2YXJnc19nZXRfd2l0aF92YWx1ZShrdmxp
c3QsICJrZXkiLCAidmFsdWUyIikgYWxzbyBtYXRjaGVzDQo+ID4gPiBhIGt2bGlzdD0ia2V5PXZh
bHVlMSxrZXk9dmFsdWUyIiAoaS5lLiB0aGUgY2FzZSB3aGVyZSB0aGUga2V5IGFwcGVhcnMNCj4g
PiA+IHNldmVyYWwgdGltZXMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzKS4NCj4gPiA+IA0KPiA+ID4g
DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gICAtLS0gYS9kcml2ZXJzL2J1cy9hdXhpbGlhcnkvYXV4
aWxpYXJ5X3BhcmFtcy5jDQo+ID4gPiA+ID4gICArKysgYi9kcml2ZXJzL2J1cy9hdXhpbGlhcnkv
YXV4aWxpYXJ5X3BhcmFtcy5jDQo+ID4gPiA+ID4gICBAQCAtMjcsNyArMjcsOSBAQCBhdXhpbGlh
cnlfZGV2X21hdGNoKGNvbnN0IHN0cnVjdCBydGVfZGV2aWNlICpkZXYsDQo+ID4gPiA+ID4gICAg
CWNvbnN0IHN0cnVjdCBydGVfa3ZhcmdzICprdmxpc3QgPSBfa3ZsaXN0Ow0KPiA+ID4gPiA+ICAg
IAljb25zdCBjaGFyICprZXkgPSBhdXhpbGlhcnlfcGFyYW1zX2tleXNbUlRFX0FVWElMSUFSWV9Q
QVJBTV9OQU1FXTsNCj4gPiA+ID4gPiAgICANCj4gPiA+ID4gPiAgIC0JaWYgKHJ0ZV9rdmFyZ3Nf
Z2V0X3dpdGhfdmFsdWUoa3ZsaXN0LCBrZXksIGRldi0+bmFtZSkgPT0gTlVMTCkNCj4gPiA+ID4g
PiAgICsJLyogaWYga3ZsaXN0IGlzIHZhbGlkIGFuZCBjb250YWlucyB0aGUga2V5LCBmaWx0ZXIg
bWF0Y2hpbmcgZGV2aWNlcyAqLw0KPiA+ID4gPiA+ICAgKwlpZiAocnRlX2t2YXJnc19nZXRfd2l0
aF92YWx1ZShrdmxpc3QsIGtleSwgZGV2LT5uYW1lKSA9PSBOVUxMICYmDQo+ID4gPiA+ID4gICAr
CSAgICBydGVfZXJybm8gPT0gRU5PRU5UKQ0KPiA+ID4gPiANCj4gPiA+ID4gcnRlX2Vycm5vID09
IEVOT0RFVj8gd2Ugc2hvdWxkIGFsbG93IEVOT0VOVCAtIG5hbWUgbm90IHNwZWNpZmllZC4gDQo+
ID4gPiA+IA0KPiA+ID4gPiA+ICAgIAkJcmV0dXJuIC0xOw0KPiA+ID4gDQo+ID4gPiBJIHRoaW5r
IHRoZSBwYXRjaCBpcyBjb3JyZWN0OiB0aGUgaXRlbSBpcyBmaWx0ZXJlZCBvbmx5IGlmIHRoZXJl
IGlzIG5vDQo+ID4gPiBtYXRjaGluZyBrZXkvdmFsdWUgdHVwbGUsIGJ1dCB0aGUga2V5IGlzIGZv
dW5kLg0KPiA+IA0KPiA+IEZvciAiY2xhc3M9dmRwYSIsIG5hbWUga2V5IG5vdCBzcGVjaWZpZWQs
IGFsbCBkZXZpY2VzIHNob3VsZCBiZSB3YWxrZWQuDQo+ID4gdGhlIGt2YXJncyBpcyAiIiBpbiBz
dWNoIGNhc2UuDQo+ID4gDQo+ID4gPiANCj4gPiA+IElmIGt2bGlzdCBpcyBOVUxMIChydGVfZXJy
bm89RUlOVkFMKSwgb3IgaWYgdGhlIGtleSBkb2VzIG5vdCBleGlzdA0KPiA+ID4gKHJ0ZV9lcnJu
bz1FTk9ERVYpLCB3ZSByZXR1cm4gMC4NCj4gPiA+IA0KPiA+ID4gQXMgYSBzaWRlIG5vdGUsIHRo
ZXJlIGlzIGFuIGVycm5vIEVOT0tFWSwgd2hpY2ggd291bGQgYmUgbXVjaCBiZXR0ZXINCj4gPiA+
IHRoYW4gRU5PREVWLi4uIGJ1dCBpdCBzZWVtcyBpdCBpcyBub3QgUE9TSVgsIHNvIGl0IG1heSBu
b3QgZXhpc3Qgb24NCj4gPiA+IEZyZWVCU0Qgb3IgV2luZG93cy4NCj4gPiA+IA0KPiA+ID4gPiA+
ICAgIA0KPiA+ID4gPiA+ICAgIAlyZXR1cm4gMDsNCj4gPiA+ID4gPiAgIGRpZmYgLS1naXQgYS9k
cml2ZXJzL2J1cy92ZGV2L3ZkZXZfcGFyYW1zLmMgYi9kcml2ZXJzL2J1cy92ZGV2L3ZkZXZfcGFy
YW1zLmMNCj4gPiA+ID4gPiAgIGluZGV4IDM3ZDk1Mzk1ZTcuLjBhNWE4YTlmNTggMTAwNjQ0DQo+
ID4gPiA+ID4gICAtLS0gYS9kcml2ZXJzL2J1cy92ZGV2L3ZkZXZfcGFyYW1zLmMNCj4gPiA+ID4g
PiAgICsrKyBiL2RyaXZlcnMvYnVzL3ZkZXYvdmRldl9wYXJhbXMuYw0KPiA+ID4gPiA+ICAgQEAg
LTI5LDcgKzI5LDkgQEAgdmRldl9kZXZfbWF0Y2goY29uc3Qgc3RydWN0IHJ0ZV9kZXZpY2UgKmRl
diwNCj4gPiA+ID4gPiAgICAJY29uc3Qgc3RydWN0IHJ0ZV9rdmFyZ3MgKmt2bGlzdCA9IF9rdmxp
c3Q7DQo+ID4gPiA+ID4gICAgCWNvbnN0IGNoYXIgKmtleSA9IHZkZXZfcGFyYW1zX2tleXNbUlRF
X1ZERVZfUEFSQU1fTkFNRV07DQo+ID4gPiA+ID4gICAgDQo+ID4gPiA+ID4gICAtCWlmIChydGVf
a3ZhcmdzX2dldF93aXRoX3ZhbHVlKGt2bGlzdCwga2V5LCBkZXYtPm5hbWUpID09IE5VTEwpDQo+
ID4gPiA+ID4gICArCS8qIGlmIGt2bGlzdCBpcyB2YWxpZCBhbmQgY29udGFpbnMgdGhlIGtleSwg
ZmlsdGVyIG1hdGNoaW5nIGRldmljZXMgKi8NCj4gPiA+ID4gPiAgICsJaWYgKHJ0ZV9rdmFyZ3Nf
Z2V0X3dpdGhfdmFsdWUoa3ZsaXN0LCBrZXksIGRldi0+bmFtZSkgPT0gTlVMTCAmJg0KPiA+ID4g
PiA+ICAgKwkgICAgcnRlX2Vycm5vID09IEVOT0VOVCkNCj4gPiA+ID4gDQo+ID4gPiA+IFNhbWUs
IEVOT0RFVj8gd2hpY2ggbWVhbnMgbmFtZSBzcGVjaWZpZWQgYnV0IG5vdCBtYXRjaC4NCj4gPiA+
ID4gDQo+ID4gPiA+ID4gICAgCQlyZXR1cm4gLTE7DQo+ID4gPiA+ID4gICAgDQo+ID4gPiA+ID4g
ICAgCXJldHVybiAwOw0KPiA+ID4gPiA+ICAgZGlmZiAtLWdpdCBhL2xpYi9rdmFyZ3MvcnRlX2t2
YXJncy5jIGIvbGliL2t2YXJncy9ydGVfa3ZhcmdzLmMNCj4gPiA+ID4gPiAgIGluZGV4IDExZjYy
NGVmMTQuLmYxNDkxNzE1YmYgMTAwNjQ0DQo+ID4gPiA+ID4gICAtLS0gYS9saWIva3ZhcmdzL3J0
ZV9rdmFyZ3MuYw0KPiA+ID4gPiA+ICAgKysrIGIvbGliL2t2YXJncy9ydGVfa3ZhcmdzLmMNCj4g
PiA+ID4gPiAgIEBAIC0yMDksMTcgKzIwOSwyOCBAQCBjb25zdCBjaGFyICoNCj4gPiA+ID4gPiAg
ICBydGVfa3ZhcmdzX2dldF93aXRoX3ZhbHVlKGNvbnN0IHN0cnVjdCBydGVfa3ZhcmdzICprdmxp
c3QsIGNvbnN0IGNoYXIgKmtleSwNCj4gPiA+ID4gPiAgICAJCQkgIGNvbnN0IGNoYXIgKnZhbHVl
KQ0KPiA+ID4gPiA+ICAgIHsNCj4gPiA+ID4gPiAgICsJaW50IGtleV9mb3VuZCA9IDA7DQo+ID4g
PiA+ID4gICAgCXVuc2lnbmVkIGludCBpOw0KPiA+ID4gPiA+ICAgIA0KPiA+ID4gPiA+ICAgLQlp
ZiAoa3ZsaXN0ID09IE5VTEwpDQo+ID4gPiA+ID4gICArCWlmIChrdmxpc3QgPT0gTlVMTCkgew0K
PiA+ID4gPiA+ICAgKwkJcnRlX2Vycm5vID0gRUlOVkFMOw0KPiA+ID4gPiA+ICAgIAkJcmV0dXJu
IE5VTEw7DQo+ID4gPiA+ID4gICArCX0NCj4gPiA+ID4gPiAgICsNCj4gPiA+ID4gPiAgICAJZm9y
IChpID0gMDsgaSA8IGt2bGlzdC0+Y291bnQ7ICsraSkgew0KPiA+ID4gPiA+ICAgIAkJaWYgKGtl
eSAhPSBOVUxMICYmIHN0cmNtcChrdmxpc3QtPnBhaXJzW2ldLmtleSwga2V5KSAhPSAwKQ0KPiA+
ID4gPiA+ICAgIAkJCWNvbnRpbnVlOw0KPiA+ID4gPiA+ICAgKwkJa2V5X2ZvdW5kID0gMTsNCj4g
PiA+ID4gPiAgICAJCWlmICh2YWx1ZSAhPSBOVUxMICYmIHN0cmNtcChrdmxpc3QtPnBhaXJzW2ld
LnZhbHVlLCB2YWx1ZSkgIT0gMCkNCj4gPiA+ID4gPiAgICAJCQljb250aW51ZTsNCj4gPiA+ID4g
PiAgICAJCXJldHVybiBrdmxpc3QtPnBhaXJzW2ldLnZhbHVlOw0KPiA+ID4gPiA+ICAgIAl9DQo+
ID4gPiA+ID4gICArDQo+ID4gPiA+ID4gICArCWlmIChrZXlfZm91bmQpDQo+ID4gPiA+ID4gICAr
CQlydGVfZXJybm8gPSBFTk9ERVY7DQo+ID4gPiA+ID4gICArCWVsc2UNCj4gPiA+ID4gPiAgICsJ
CXJ0ZV9lcnJubyA9IEVOT0VOVDsNCj4gPiA+ID4gPiAgICsNCj4gPiA+ID4gPiAgICAJcmV0dXJu
IE5VTEw7DQo+ID4gPiA+ID4gICAgfQ0KPiA+ID4gPiA+ICAgIA0KPiA+ID4gPiA+ICAgZGlmZiAt
LWdpdCBhL2xpYi9rdmFyZ3MvcnRlX2t2YXJncy5oIGIvbGliL2t2YXJncy9ydGVfa3ZhcmdzLmgN
Cj4gPiA+ID4gPiAgIGluZGV4IDM1OWE5ZjViMDkuLjNjYjIyZWNlNDggMTAwNjQ0DQo+ID4gPiA+
ID4gICAtLS0gYS9saWIva3ZhcmdzL3J0ZV9rdmFyZ3MuaA0KPiA+ID4gPiA+ICAgKysrIGIvbGli
L2t2YXJncy9ydGVfa3ZhcmdzLmgNCj4gPiA+ID4gPiAgIEBAIC0xNTIsOCArMTUyLDEyIEBAIGNv
bnN0IGNoYXIgKnJ0ZV9rdmFyZ3NfZ2V0KGNvbnN0IHN0cnVjdCBydGVfa3ZhcmdzICprdmxpc3Qs
IGNvbnN0IGNoYXIgKmtleSk7DQo+ID4gPiA+ID4gICAgICogICBUaGUgbWF0Y2hpbmcgdmFsdWUu
IElmIE5VTEwsIGFueSB2YWx1ZSB3aWxsIG1hdGNoLg0KPiA+ID4gPiA+ICAgICAqDQo+ID4gPiA+
ID4gICAgICogQHJldHVybg0KPiA+ID4gPiA+ICAgLSAqICAgTlVMTCBpZiBubyBrZXkgbWF0Y2hl
cyB0aGUgaW5wdXQsDQo+ID4gPiA+ID4gICAtICogICBhIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBh
IG1hdGNoaW5nIGtleSBvdGhlcndpc2UuDQo+ID4gPiA+ID4gICArICogICBUaGUgdmFsdWUgYXNz
b2NpYXRlZCB3aXRoIGEgbWF0Y2hpbmcga2V5L3ZhbHVlIG9uIHN1Y2Nlc3MuDQo+ID4gPiA+ID4g
ICArICogICBPbiBlcnJvciwgcmV0dXJuIE5VTEwgYW5kIHJ0ZV9lcnJubyBpcyBzZXQ6DQo+ID4g
PiA+ID4gICArICogICAtIEVJTlZBTCAtIGt2bGlzdCBpcyBOVUxMDQo+ID4gPiA+ID4gICArICog
ICAtIEVOT0VOVCAtIG5vIG1hdGNoaW5nIGtleS92YWx1ZSB0dXBsZSwgYnV0IHRoZSBrZXkgbWF0
Y2hlcyB3aXRoDQo+ID4gPiA+ID4gICArICogICAgICAgICAgICAgIGEgZGlmZmVyZW50IHZhbHVl
DQo+ID4gPiA+ID4gICArICogICAtIEVOT0RFViAtIGtleSBpcyBub3QgZm91bmQgaW4gdGhlIGt2
bGlzdA0KPiA+ID4gPiA+ICAgICAqLw0KPiA+ID4gPiA+ICAgIF9fcnRlX2V4cGVyaW1lbnRhbA0K
PiA+ID4gPiA+ICAgIGNvbnN0IGNoYXIgKnJ0ZV9rdmFyZ3NfZ2V0X3dpdGhfdmFsdWUoY29uc3Qg
c3RydWN0IHJ0ZV9rdmFyZ3MgKmt2bGlzdCwNCj4gPiA+ID4gPiANCj4gPiA+ID4gPiANCj4gPiA+
ID4gPiBMZXQgbWUga25vdyBpZiBpdCB3b3VsZCB3b3JrIGZvciB5b3UuIEkgY2FuIHN1Ym1pdCBh
IHBhdGNoIGlmIHlvdSB3YW50Lg0KPiA+ID4gPiANCj4gPiA+ID4gDQo+ID4gPiA+IExHVE0sIGxl
dCdzIHVzZSB5b3VyIHBhdGNoLg0KPiA+ID4gDQo+ID4gPiBPSywgSSdsbCBzdWJtaXQgdGhpcyBw
YXRjaCB0aGVuLiBUaGFua3MgZm9yIHRoZSBmZWVkYmFjay4NCj4gDQo+IEknbSB0cnlpbmcgbXkg
cGF0Y2gsIGJ1dCBJIHJ1biBpbnRvIGFuIGlzc3VlLg0KPiBDdXJyZW50bHksIEVBTCBhbHJlYWR5
IGRlcGVuZHMgb24ga3ZhcmdzLg0KPiBJZiBJIGFkZCBhIHJlZmVyZW5jZSB0byBydGVfZXJybm8g
ZnJvbSBrdmFyZ3MsIGl0IHdpbGwgcmVxdWlyZSBhDQo+IG5ldyBkZXBlbmRlbmN5IHRvIEVBTC4u
LiB3aGljaCBpcyBpbXBvc3NpYmxlLg0KPiANCj4gVXNpbmcgZXJybm8gaW5zdGVhZCBvZiBydGVf
ZXJybm8gaXMgbm90IHVzdWFsIGluIERQREsuDQo+IEhhdmluZyBhIHR5cGVkZWYgZm9yIHRoaXMg
aXMgbm90IHZlcnkgY29udmVuaWVudCBlaXRoZXIuDQo+IA0KPiBTbyB0aGlua2luZyBtb3JlIGFi
b3V0IGl0LCB5b3VyIHNvbHV0aW9uIGxvb2tzIGJldHRlci4NCj4gDQo+IEkgaGF2ZSBhIGRyYWZ0
IG9mIHVuaXQgdGVzdCwgSSdsbCBzZW5kIGFuIHVwZGF0ZSBvZiB5b3VyIHBhdGNoIGluY2x1ZGlu
Zw0KPiBpdCBBU0FQLg0KDQpWMiBzZW50LCBwbGVhc2UgY2hlY2suDQpVbml0IHRlc3Qgbm90IGNy
aXRpY2FsLCBjb3VsZCBiZSBzZW50IGxhdGVyIElJVUMuDQoNCg0KPiANCj4gPiA+IA0KPiA+ID4g
PiA+IA0KPiA+ID4gPiA+IEkgY2FuIGFkZCBhIHVuaXQgdGVzdCBmb3Iga3ZhcmdzLCBidXQgZG8g
eW91IGtub3cgd2hlcmUgd2UgY291bGQgYWRkIGENCj4gPiA+ID4gPiB1bml0IHRlc3QgZm9yIHRo
ZSBkZXYgaXRlcmF0ZT8NCj4gPiA+ID4gDQo+ID4gPiA+IEdvb2QgaWRlYSwgaG93IGFib3V0IHRl
c3RfZGV2YXJncy5jPw0KPiA+ID4gDQo+ID4gPiBUaGFua3MsIEknbGwgaGF2ZSBhIGxvb2suDQo+
ID4gPiANCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBUaGFua3MsDQo+ID4gPiA+ID4gT2xpdmllcg0K
PiA+ID4gPiANCj4gPiANCg0K