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 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 ; 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" To: "olivier.matz@6wind.com" CC: Lior Margalit , Parav Pandit , "dev@dpdk.org" , "mdr@ashroe.eu" , "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> <7e1225023de996e63ed041ee312e861982913caf.camel@nvidia.com> In-Reply-To: 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: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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