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 9A1CAA0C4C; Tue, 23 Nov 2021 13:49:35 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 857FD40688; Tue, 23 Nov 2021 13:49:35 +0100 (CET) Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam08on2057.outbound.protection.outlook.com [40.107.100.57]) by mails.dpdk.org (Postfix) with ESMTP id 6C1294003C for ; Tue, 23 Nov 2021 13:49:34 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ziz508CxmRGEkRPQXYy6xUIl/AlwJdF+o/ss2ypnmNRbq90rSuc+Ue+KWU5Ye+qqIO8mkE61+xGVMY1eMNfGoNICvLRnqf8BJ0J/6EPPIJFM8IKJbUMAAfOF+3WN7dHa4MOHU/VsQXxwUIJvMrAnSJzZ1ut74QV/ZFGFOk95IJy7kW3iagI9kQZDdXhW+6SP/kuRYXt9+latxyH6TVcdn1BRFC0mIKe9Oqj741uxoXY5dnUFdII1JVEmK092ThsxAnCQlcrNzwv0RKIVJN2b6OlhBkhYWaDj+Z7RpjZu4Bb0+JQHbfVjXt1CsdDDj0Bczre847+1PD9PFWcbFsN6tw== 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=asZ+DztKF1SuAoun7FZSyWP6EKXqNavDzmgzJy4sPrg=; b=aicUxDf18J2SgpahzzZR1cPzP2egx7k+oPsWwQCmyq+K5uG45RTt9UgZpMj8JuIw8lEHV8BdAL5K5JyzmGaWEEgT7VqJCsJXhVQXPBMZZUq0ZUPEMqyCga0WZugRuvRPw4b2bS1wtP47ZcfTYZSnLv732Sh/t4F7a2n0JLrLKenpn7+ZroYt+8yi3lc72bsBzKj99ArYYSzOBj9wkgxXvj+FVR6InIzbzqQnl5V+Nao992lwYbt5o9/P0iAIt6mY/nuvl7t1fcHPt2X82ZXbVxSxujw2U8IbRQs7+GIpHE+qlTGAk0nei27MtPB6N03y/9F64NNGYJ8V17ltTem2fA== 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=asZ+DztKF1SuAoun7FZSyWP6EKXqNavDzmgzJy4sPrg=; b=hpkDw3XUDoD/LpfPj+6MizV0AWsQSHGA4aNxz5H3TSrDTJ9ldrPDMiV3RHUa+vRt7uYDghVG1wUY8QQrO0Uar/PeJcsEPw41YKpnEawt+pk53XnBm6BGcMG6pGtNP11gV022eaOH1FF4lCkXRdreTDnuji3fbckx/yWkPZ1GuieVVDsNW8lEIxp6Xc1gy6THIBh6G6xUN/sXbyVmS39ZrAlxLw04DJZYQBdfpWn+8A6NI5hJkBxMyamdTcinOzyltinqbUZRpblNke3gQOJ3j1IrZ79sqIZX6oSXeO8gqJbRjLnXisNGG5y6+V8HrWQHVK0BLIa7hRd5dxt2BPy5ow== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) by DM8PR12MB5413.namprd12.prod.outlook.com (2603:10b6:8:3b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4734.20; Tue, 23 Nov 2021 12:49:33 +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.4713.025; Tue, 23 Nov 2021 12:49:33 +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: AQHX32gZYz0QoCyYNEmqkBpbzoJFbawQ6jCAgAAQmYCAABKYAIAABOyA Date: Tue, 23 Nov 2021 12:49:32 +0000 Message-ID: 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: cfff837f-c1d1-426f-6f06-08d9ae7fb2a2 x-ms-traffictypediagnostic: DM8PR12MB5413: 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: PdS4V+gkmZXG1/XA+flWzVbXydMsk7MrH0QXC7erPsp6H02FnJqCblu/edMuumnP24eGV6PeqKN5IOfCnfX3xNPXou96/dU2G/Dkx4yk4jr3yMXIwbthbA7pX6tbKrRSKaNb9P8ZgyShJ/8G2De69aNGkkJF1KHODW8M7DsFSsyJctuIITqouWIDEpiad9AI67/RCUzfnlntedHc2CyfZqpipdEUnpEQ6U2pWxyOInJTh8T68rhyPZSmAfUPl2VJKV07OHqIk/de/Q+tAlK7MNAiFeW5iT7GHI1/2pRaFztZW3hJCECKM2bNeza89hrj9iAFJi9bqp7pKCHr+hVNtujJU5Jqsh/HNnTwc6xxwiW/X4MPkFLtGC11MMqOvtYtVu/lKyNh30N/rRnxHx4X46UBeUyEpBjsoWtRjJCeqWRZwuF1pJ6dFU7az47iWzaQvtzCVEyc7wwftEGCCM/PoyfAL+XkRw0IfAbKEsg9XRW+5BJWHo54GJfcNGI5JCGRnn2574vhxGYt5iRGcpHGz4MBhrg1S3B6TEmmGeHGUP3wecT3Yx7VBkR9F60WzHbwbGyn59P5aC05HPVwTe9LBXT/MiEeibJVW2CiuMExynMs5djIbXmE3PbL+0VilWL6YGtrw7lamXu+DHET6l+0Twy59ZZAYfGVDDruMi3bAJqFK/U4x6EIgaHp34w2W0puA1gWuENjXR9xSJ2OkY2hqg== 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)(64756008)(66556008)(66476007)(66446008)(4001150100001)(76116006)(66946007)(54906003)(26005)(91956017)(2906002)(36756003)(2616005)(5660300002)(508600001)(38100700002)(6916009)(8676002)(71200400001)(38070700005)(186003)(122000001)(316002)(8936002)(4326008)(6506007)(6486002)(86362001)(6512007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dFlnWWpkSCtqNUFaZ2ZIdE9mQzRseU5UbEY0WmNabk54SGNGMHd5Zkc1dlhn?= =?utf-8?B?aWtQamFWNmx6bzNhU01vQjY0MCtSb0x4MU9DT3piMHkzS0F6SWxqVGVPbWUr?= =?utf-8?B?N2tlL28rb1VpbGZiOHFoMWorWWhGWG9YQVRHL0ozYXNKd0Nnc2VzUDNoaFBr?= =?utf-8?B?Y3hXSXIvNE1tK2FBajk3NHNRblg0YWhZQXBwRmZ1SDltb0I4eW1ocVVSbDkx?= =?utf-8?B?YW5MdW16WmUwK2FHWlpTQzRzclpXT0RxQVhlN0RvdkVoWlVGQmU2Y1NqUU1W?= =?utf-8?B?UWVibUVIYUxtNjlBL0p1MXA2WFMxNWVhQmVta2had3JTcnpzNWVZMzNwYlVH?= =?utf-8?B?enRjTHJvYkpqNTNGOXByKzZSUUpheVBoNkp2RlBuNEhNYUNCVnBPMWgyemtU?= =?utf-8?B?WEFyc0Zwb1lRUjVRekh3dTU2ekNneFFGNVZQcTdxdmlybThOd2ptRzZuV3Za?= =?utf-8?B?ODhFZUV6U1FzYVgrOWxNVTQ2YWdSSVYzMUovYytZakhGSmppRXVobnVqdFZU?= =?utf-8?B?dlM1clNLVzg1VmhMVkI3cEQvam5nd1Y0UmtSbHBlODY1NGc4d0lIMXBDb25B?= =?utf-8?B?OWlETHpOMVY4THlxSFdGUCtMeFpZQTFaZklHUzdxbTFmRjh5VXFNK1hPNklQ?= =?utf-8?B?UzhlZlVXSWNDamJuUmV3OGQwOWFMaFlmcGZnNW92RzJWdlpobU5xaDVvMTFn?= =?utf-8?B?empyMk8yT1N6M01Wc0Mwb2JRQTgyV2dqTE9JdjNveDFSR2xTT3EvYlFoYWZM?= =?utf-8?B?ZXdYOVFkek00YldZV2VsQUJTek1ydkhqT3huOUVtTnFZNHpvQS9WOWZ1MXRX?= =?utf-8?B?Q2FGQXZWZmxrZGlFWHJCR0dDZWdrSUJ4MG12R1FNVGpxcUpUNkRPcmFxQ2VL?= =?utf-8?B?ZUhZUi9xN05td25DQUFtOTBkaEkySGJyMGZrWWEyazBGdklkVHhzZDlwekNr?= =?utf-8?B?YlJWSlRkMGt0Rk80V2NBUDBIRVVhZ21ObnhPblFpTnJJNTkzcTQ0MllBSFE4?= =?utf-8?B?blJ0Rk9QbFZ1Z2dQOFlnWUFhTEl6dVkxcUZuQmliRkdjVW02QnpRL0JGbzlH?= =?utf-8?B?R1NmVkE1b2dmSng3V2Jtdk4rTms5V1o3VEVYTUFmcHA2R1pyVEVKQUc1MkQ1?= =?utf-8?B?aXdEeG5KeVV3Q21Id3IrWHd0OUlRT3A2cnUwaWlKcWFRNnprTHU2ZjZiNnRK?= =?utf-8?B?em91L3RlSmdCamZhV1d4NHlTaUpybXVuRVZramo3czZVUldmSXhXTUEyTGVD?= =?utf-8?B?cW9FV2R6QTRhcUlXNWw0dzAzZFpFTyt5SjdFTzJadSt1V0NFV0doTTZDdjJG?= =?utf-8?B?alFmMFpFVTFtZ3BaZFV5Z29BbnlBdXFUSjlGWGRNS1ZKaDFESTZUMVRSQUpB?= =?utf-8?B?WTBZdlpHdlUyeUFZSWFseFc1b0V1WTM0Y3phQzV2QWc3WWVCbkpGUklKU2lw?= =?utf-8?B?S3Jtd1JWVWtrekc1QkZGNllLbXdQL2kydk9kSDAvYXdpcWMwcDZ3bytKekdm?= =?utf-8?B?SnVNWWVnOW1haUVwSEZURXlyMnd5UEtKR1BjZ1VIMDV5TWVyZmFvS1B6Nms5?= =?utf-8?B?U1o5MTBFdXYxZGZxL2NjejUyOC8rL1VRN3RNSkNIajNiTUxkanMzYmk0STBG?= =?utf-8?B?MUY5OEt5TWRUU1AzL0NoemlGN0FPV1lTcm5KYzJuNSszZ0Z3aWFIc1BXL05U?= =?utf-8?B?MUl3Y2pMWnBnTFdhVkExbmR2SmFGRXJBVGV3b2YvSDBxRWg0SXdtUTZ3TmdJ?= =?utf-8?B?M2tsUVpIdERyblcwTFhNRHAvL3RNZlZRUjA1aFROQ041aWZPMFV5dHdPemJI?= =?utf-8?B?QVBqSmVYRGU1Uy82WEhhd2MzT05FOUlGL00vZkFGRGpjYjlHWVFVOUh5NzZq?= =?utf-8?B?QTIycHRyWjVzTVNKWmVSZHNpak5waHl1WnJ4elF6L2hLQUQvcjZZVjJCMmhs?= =?utf-8?B?aDdsVlNxcEVHclJCL0c5MlpxRUtrNVdVNjdOS1RDRmdjUHJLM0N3dXhvbkFT?= =?utf-8?B?TUpWRUR1ZDlJS1F4dkpmdXNadFdlcVBPRWN3MTJpSFg5cDl4VEhpVmdQSGJH?= =?utf-8?B?YUhtUlptamJxQ2hsZHNYV2J0WVZGVGxWdHIxU3JiRWVMeDh1MUlLbU5UbUVH?= =?utf-8?B?S014MWxVdnFWMXB0ZnFyM2FKTm9WY2ErV1VyWU9hRmdLRzI4VVYxWVY0eW9l?= =?utf-8?Q?9JYS0Awb0uJVeEfp8zlbpYPe6GN7VOKfwL2KDcVby4x5?= Content-Type: text/plain; charset="utf-8" Content-ID: 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: cfff837f-c1d1-426f-6f06-08d9ae7fb2a2 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Nov 2021 12:49:32.9968 (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: XX7QWRorGD78HkSzlMe3SUPEVSS+tXRl4bf2EK/ksl9REZ7+I/C5PyzOXrZDqtcR36kNtyTCAJumWYcCrOqusw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR12MB5413 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 T24gVHVlLCAyMDIxLTExLTIzIGF0IDEzOjMxICswMTAwLCBPbGl2aWVyIE1hdHogd3JvdGU6DQo+ IE9uIFR1ZSwgTm92IDIzLCAyMDIxIGF0IDExOjI1OjIyQU0gKzAwMDAsIFh1ZW1pbmcoU3RldmVu KSBMaSB3cm90ZToNCj4gPiBPbiBUdWUsIDIwMjEtMTEtMjMgYXQgMTE6MjUgKzAxMDAsIE9saXZp ZXIgTWF0eiB3cm90ZToNCj4gPiA+IEhpIFh1ZW1pbmcsDQo+ID4gPiANCj4gPiA+IE9uIE1vbiwg Tm92IDIyLCAyMDIxIGF0IDAyOjEyOjUwUE0gKzA4MDAsIFh1ZW1pbmcgTGkgd3JvdGU6DQo+ID4g PiA+IERldmljZSBpdGVyYXRvciBSVEVfREVWX0ZPUkVBQ0goKSBmYWlsZWQgdG8gcmV0dXJuIGRl dmljZXMgZnJvbQ0KPiA+ID4gPiBjbGFzc2lmaWVyIGxpa2UgImNsYXNzPXZkcGEiLCBiZWNhdXNl IG1hdGNoaW5nIG5hbWUgZnJvbSBlbXB0eSBrdmFyZ3MNCj4gPiA+ID4gcmV0dXJucyBubyByZXN1 bHQuIElmIGRldmljZSBuYW1lIG5vdCBzcGVjaWZpZWQgaW4ga3ZhcmdzLCB0aGUgZnVuY3Rpb24N Cj4gPiA+ID4gc2hvdWxkIGl0ZXJhdGUgYWxsIGRldmljZXMuDQo+ID4gPiA+IA0KPiA+ID4gPiBU aGlzIHBhdGNoIGFsbG93cyBlbXB0eSBkZXZhcmdzIG9yIGRldmFyZ3Mgd2l0aG91dCBuYW1lIHNw ZWNpZmllZC4NCj4gPiA+ID4gDQo+ID4gPiA+IEZpeGVzOiA2YWViYjk0MjkwN2QgKCJrdmFyZ3M6 IGFkZCBmdW5jdGlvbiB0byBnZXQgZnJvbSBrZXkgYW5kIHZhbHVlIikNCj4gPiA+ID4gQ2M6IG9s aXZpZXIubWF0ekA2d2luZC5jb20NCj4gPiA+ID4gDQo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFh1 ZW1pbmcgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+DQo+ID4gPiA+IC0tLQ0KPiA+ID4gPiAyMS4x MSBzcGVjaWZpYyBidWcsIG5vIGNvcHkgdG8gc3RhYmxlLm9yZw0KPiA+ID4gPiAtLS0NCj4gPiA+ ID4gIGRyaXZlcnMvYnVzL2F1eGlsaWFyeS9hdXhpbGlhcnlfcGFyYW1zLmMgfCAzICsrKw0KPiA+ ID4gPiAgZHJpdmVycy9idXMvdmRldi92ZGV2X3BhcmFtcy5jICAgICAgICAgICB8IDMgKysrDQo+ ID4gPiA+ICAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQ0KPiA+ID4gPiANCj4gPiA+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvYnVzL2F1eGlsaWFyeS9hdXhpbGlhcnlfcGFyYW1zLmMg Yi9kcml2ZXJzL2J1cy9hdXhpbGlhcnkvYXV4aWxpYXJ5X3BhcmFtcy5jDQo+ID4gPiA+IGluZGV4 IGE5Yzc4NTNlZDFkLi42YTYzODI5NjFlYSAxMDA2NDQNCj4gPiA+ID4gLS0tIGEvZHJpdmVycy9i dXMvYXV4aWxpYXJ5L2F1eGlsaWFyeV9wYXJhbXMuYw0KPiA+ID4gPiArKysgYi9kcml2ZXJzL2J1 cy9hdXhpbGlhcnkvYXV4aWxpYXJ5X3BhcmFtcy5jDQo+ID4gPiA+IEBAIC0yNyw2ICsyNyw5IEBA IGF1eGlsaWFyeV9kZXZfbWF0Y2goY29uc3Qgc3RydWN0IHJ0ZV9kZXZpY2UgKmRldiwNCj4gPiA+ ID4gIAljb25zdCBzdHJ1Y3QgcnRlX2t2YXJncyAqa3ZsaXN0ID0gX2t2bGlzdDsNCj4gPiA+ID4g IAljb25zdCBjaGFyICprZXkgPSBhdXhpbGlhcnlfcGFyYW1zX2tleXNbUlRFX0FVWElMSUFSWV9Q QVJBTV9OQU1FXTsNCj4gPiA+ID4gIA0KPiA+ID4gPiArCS8qIEl0ZXJhdGUgYWxsIGRldmljZXMg aWYgbmFtZSBub3Qgc3BlY2lmaWVkLiAqLw0KPiA+ID4gPiArCWlmIChrdmxpc3QgPT0gTlVMTCB8 fCBydGVfa3ZhcmdzX2dldChrdmxpc3QsIGtleSkgPT0gTlVMTCkNCj4gPiA+ID4gKwkJcmV0dXJu IDA7DQo+ID4gPiA+ICAJaWYgKHJ0ZV9rdmFyZ3NfZ2V0X3dpdGhfdmFsdWUoa3ZsaXN0LCBrZXks IGRldi0+bmFtZSkgPT0gTlVMTCkNCj4gPiA+ID4gIAkJcmV0dXJuIC0xOw0KPiA+ID4gPiAgDQo+ ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2J1cy92ZGV2L3ZkZXZfcGFyYW1zLmMgYi9kcml2 ZXJzL2J1cy92ZGV2L3ZkZXZfcGFyYW1zLmMNCj4gPiA+ID4gaW5kZXggMzdkOTUzOTVlN2EuLmJh YjRjMGQxZDA4IDEwMDY0NA0KPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2J1cy92ZGV2L3ZkZXZfcGFy YW1zLmMNCj4gPiA+ID4gKysrIGIvZHJpdmVycy9idXMvdmRldi92ZGV2X3BhcmFtcy5jDQo+ID4g PiA+IEBAIC0yOSw2ICsyOSw5IEBAIHZkZXZfZGV2X21hdGNoKGNvbnN0IHN0cnVjdCBydGVfZGV2 aWNlICpkZXYsDQo+ID4gPiA+ICAJY29uc3Qgc3RydWN0IHJ0ZV9rdmFyZ3MgKmt2bGlzdCA9IF9r dmxpc3Q7DQo+ID4gPiA+ICAJY29uc3QgY2hhciAqa2V5ID0gdmRldl9wYXJhbXNfa2V5c1tSVEVf VkRFVl9QQVJBTV9OQU1FXTsNCj4gPiA+ID4gIA0KPiA+ID4gPiArCS8qIEl0ZXJhdGUgYWxsIGRl dmljZXMgaWYgbmFtZSBub3Qgc3BlY2lmaWVkLiAqLw0KPiA+ID4gPiArCWlmIChrdmxpc3QgPT0g TlVMTCB8fCBydGVfa3ZhcmdzX2dldChrdmxpc3QsIGtleSkgPT0gTlVMTCkNCj4gPiA+ID4gKwkJ cmV0dXJuIDA7DQo+ID4gPiA+ICAJaWYgKHJ0ZV9rdmFyZ3NfZ2V0X3dpdGhfdmFsdWUoa3ZsaXN0 LCBrZXksIGRldi0+bmFtZSkgPT0gTlVMTCkNCj4gPiA+ID4gIAkJcmV0dXJuIC0xOw0KPiA+ID4g PiAgDQo+ID4gPiANCj4gPiA+IA0KPiA+ID4gVGhhbmsgeW91IGZvciBzcG90dGluZyBhbmQgZml4 aW5nIHRoaXMgaXNzdWUuIFRoZSBwYXRjaCBsb29rcyBnb29kIHRvDQo+ID4gPiBtZSwgYnV0IG1h eSBJIHN1Z2dlc3QgYW4gYWx0ZXJuYXRpdmUgdGhhdCB3b3VsZCBhdm9pZCB0byBicm93c2UgdGhl DQo+ID4gPiBrdmxpc3QgdHdpY2U/IEl0IGlzIG5vdCB5ZXMgdGVzdGVkLCBqdXN0IGZvciBkaXNj dXNzaW9uLiBUaGUgaWRlYQ0KPiA+ID4gaXMgdG8gYWRkIGFuIGVycm5vIGZvciBlcnJvciBjYXNl cyBvZiBydGVfa3ZhcmdzX2dldF93aXRoX3ZhbHVlKCkNCj4gPiA+IHRvIGlkZW50aWZ5IHRoZSBk aWZmZXJlbnQgY2FzZXMuDQo+ID4gDQo+ID4gWWVzLCB0aGUgY29kZSB3YWxrIHRoZSBrdmxpc3Qg dHdpY2UuIEFuIGFsdGVybmF0aXZlIGNvbXBsZXggY29kZSBjb3VsZA0KPiA+IGJlIHRoaXM6DQo+ ID4gDQo+ID4gCWlmIChrdmxpc3QgPT0gTlVMTCkNCj4gPiAJCXJldHVybiAwOw0KPiA+IAluYW1l ID0gcnRlX2t2YXJnc19nZXQoa3ZsaXN0LCBrZXkpOw0KPiA+IAlpZiAobmFtZSA9PSBOVUxMKQ0K PiA+IAkJLyogSXRlcmF0ZSBhbGwgZGV2aWNlcyBpZiBuYW1lIG5vdCBzcGVjaWZpZWQuICovDQo+ ID4gCQlyZXR1cm4gMDsNCj4gPiAJaWYgKHN0cmNtcChuYW1lLCBkZXYtPm5hbWUpICE9IDApDQo+ ID4gICAJCXJldHVybiAtMTsNCj4gDQo+IE1heWJlIGl0IGlzIGVxdWl2YWxlbnQgZm9yIGNvbW1v biB1c2FnZXMsIGJ1dCBhIGRpZmZlcmVuY2UgaXMgdGhhdA0KPiBydGVfa3ZhcmdzX2dldF93aXRo X3ZhbHVlKGt2bGlzdCwgImtleSIsICJ2YWx1ZTIiKSBhbHNvIG1hdGNoZXMNCj4gYSBrdmxpc3Q9 ImtleT12YWx1ZTEsa2V5PXZhbHVlMiIgKGkuZS4gdGhlIGNhc2Ugd2hlcmUgdGhlIGtleSBhcHBl YXJzDQo+IHNldmVyYWwgdGltZXMgd2l0aCBkaWZmZXJlbnQgdmFsdWVzKS4NCj4gDQo+IA0KPiA+ ID4gDQo+ID4gPiAgIC0tLSBhL2RyaXZlcnMvYnVzL2F1eGlsaWFyeS9hdXhpbGlhcnlfcGFyYW1z LmMNCj4gPiA+ICAgKysrIGIvZHJpdmVycy9idXMvYXV4aWxpYXJ5L2F1eGlsaWFyeV9wYXJhbXMu Yw0KPiA+ID4gICBAQCAtMjcsNyArMjcsOSBAQCBhdXhpbGlhcnlfZGV2X21hdGNoKGNvbnN0IHN0 cnVjdCBydGVfZGV2aWNlICpkZXYsDQo+ID4gPiAgICAJY29uc3Qgc3RydWN0IHJ0ZV9rdmFyZ3Mg Kmt2bGlzdCA9IF9rdmxpc3Q7DQo+ID4gPiAgICAJY29uc3QgY2hhciAqa2V5ID0gYXV4aWxpYXJ5 X3BhcmFtc19rZXlzW1JURV9BVVhJTElBUllfUEFSQU1fTkFNRV07DQo+ID4gPiAgICANCj4gPiA+ ICAgLQlpZiAocnRlX2t2YXJnc19nZXRfd2l0aF92YWx1ZShrdmxpc3QsIGtleSwgZGV2LT5uYW1l KSA9PSBOVUxMKQ0KPiA+ID4gICArCS8qIGlmIGt2bGlzdCBpcyB2YWxpZCBhbmQgY29udGFpbnMg dGhlIGtleSwgZmlsdGVyIG1hdGNoaW5nIGRldmljZXMgKi8NCj4gPiA+ICAgKwlpZiAocnRlX2t2 YXJnc19nZXRfd2l0aF92YWx1ZShrdmxpc3QsIGtleSwgZGV2LT5uYW1lKSA9PSBOVUxMICYmDQo+ ID4gPiAgICsJICAgIHJ0ZV9lcnJubyA9PSBFTk9FTlQpDQo+ID4gDQo+ID4gcnRlX2Vycm5vID09 IEVOT0RFVj8gd2Ugc2hvdWxkIGFsbG93IEVOT0VOVCAtIG5hbWUgbm90IHNwZWNpZmllZC4gDQo+ ID4gDQo+ID4gPiAgICAJCXJldHVybiAtMTsNCj4gDQo+IEkgdGhpbmsgdGhlIHBhdGNoIGlzIGNv cnJlY3Q6IHRoZSBpdGVtIGlzIGZpbHRlcmVkIG9ubHkgaWYgdGhlcmUgaXMgbm8NCj4gbWF0Y2hp bmcga2V5L3ZhbHVlIHR1cGxlLCBidXQgdGhlIGtleSBpcyBmb3VuZC4NCg0KRm9yICJjbGFzcz12 ZHBhIiwgbmFtZSBrZXkgbm90IHNwZWNpZmllZCwgYWxsIGRldmljZXMgc2hvdWxkIGJlIHdhbGtl ZC4NCnRoZSBrdmFyZ3MgaXMgIiIgaW4gc3VjaCBjYXNlLg0KDQo+IA0KPiBJZiBrdmxpc3QgaXMg TlVMTCAocnRlX2Vycm5vPUVJTlZBTCksIG9yIGlmIHRoZSBrZXkgZG9lcyBub3QgZXhpc3QNCj4g KHJ0ZV9lcnJubz1FTk9ERVYpLCB3ZSByZXR1cm4gMC4NCj4gDQo+IEFzIGEgc2lkZSBub3RlLCB0 aGVyZSBpcyBhbiBlcnJubyBFTk9LRVksIHdoaWNoIHdvdWxkIGJlIG11Y2ggYmV0dGVyDQo+IHRo YW4gRU5PREVWLi4uIGJ1dCBpdCBzZWVtcyBpdCBpcyBub3QgUE9TSVgsIHNvIGl0IG1heSBub3Qg ZXhpc3Qgb24NCj4gRnJlZUJTRCBvciBXaW5kb3dzLg0KPiANCj4gPiA+ICAgIA0KPiA+ID4gICAg CXJldHVybiAwOw0KPiA+ID4gICBkaWZmIC0tZ2l0IGEvZHJpdmVycy9idXMvdmRldi92ZGV2X3Bh cmFtcy5jIGIvZHJpdmVycy9idXMvdmRldi92ZGV2X3BhcmFtcy5jDQo+ID4gPiAgIGluZGV4IDM3 ZDk1Mzk1ZTcuLjBhNWE4YTlmNTggMTAwNjQ0DQo+ID4gPiAgIC0tLSBhL2RyaXZlcnMvYnVzL3Zk ZXYvdmRldl9wYXJhbXMuYw0KPiA+ID4gICArKysgYi9kcml2ZXJzL2J1cy92ZGV2L3ZkZXZfcGFy YW1zLmMNCj4gPiA+ICAgQEAgLTI5LDcgKzI5LDkgQEAgdmRldl9kZXZfbWF0Y2goY29uc3Qgc3Ry dWN0IHJ0ZV9kZXZpY2UgKmRldiwNCj4gPiA+ICAgIAljb25zdCBzdHJ1Y3QgcnRlX2t2YXJncyAq a3ZsaXN0ID0gX2t2bGlzdDsNCj4gPiA+ICAgIAljb25zdCBjaGFyICprZXkgPSB2ZGV2X3BhcmFt c19rZXlzW1JURV9WREVWX1BBUkFNX05BTUVdOw0KPiA+ID4gICAgDQo+ID4gPiAgIC0JaWYgKHJ0 ZV9rdmFyZ3NfZ2V0X3dpdGhfdmFsdWUoa3ZsaXN0LCBrZXksIGRldi0+bmFtZSkgPT0gTlVMTCkN Cj4gPiA+ICAgKwkvKiBpZiBrdmxpc3QgaXMgdmFsaWQgYW5kIGNvbnRhaW5zIHRoZSBrZXksIGZp bHRlciBtYXRjaGluZyBkZXZpY2VzICovDQo+ID4gPiAgICsJaWYgKHJ0ZV9rdmFyZ3NfZ2V0X3dp dGhfdmFsdWUoa3ZsaXN0LCBrZXksIGRldi0+bmFtZSkgPT0gTlVMTCAmJg0KPiA+ID4gICArCSAg ICBydGVfZXJybm8gPT0gRU5PRU5UKQ0KPiA+IA0KPiA+IFNhbWUsIEVOT0RFVj8gd2hpY2ggbWVh bnMgbmFtZSBzcGVjaWZpZWQgYnV0IG5vdCBtYXRjaC4NCj4gPiANCj4gPiA+ICAgIAkJcmV0dXJu IC0xOw0KPiA+ID4gICAgDQo+ID4gPiAgICAJcmV0dXJuIDA7DQo+ID4gPiAgIGRpZmYgLS1naXQg YS9saWIva3ZhcmdzL3J0ZV9rdmFyZ3MuYyBiL2xpYi9rdmFyZ3MvcnRlX2t2YXJncy5jDQo+ID4g PiAgIGluZGV4IDExZjYyNGVmMTQuLmYxNDkxNzE1YmYgMTAwNjQ0DQo+ID4gPiAgIC0tLSBhL2xp Yi9rdmFyZ3MvcnRlX2t2YXJncy5jDQo+ID4gPiAgICsrKyBiL2xpYi9rdmFyZ3MvcnRlX2t2YXJn cy5jDQo+ID4gPiAgIEBAIC0yMDksMTcgKzIwOSwyOCBAQCBjb25zdCBjaGFyICoNCj4gPiA+ICAg IHJ0ZV9rdmFyZ3NfZ2V0X3dpdGhfdmFsdWUoY29uc3Qgc3RydWN0IHJ0ZV9rdmFyZ3MgKmt2bGlz dCwgY29uc3QgY2hhciAqa2V5LA0KPiA+ID4gICAgCQkJICBjb25zdCBjaGFyICp2YWx1ZSkNCj4g PiA+ICAgIHsNCj4gPiA+ICAgKwlpbnQga2V5X2ZvdW5kID0gMDsNCj4gPiA+ICAgIAl1bnNpZ25l ZCBpbnQgaTsNCj4gPiA+ICAgIA0KPiA+ID4gICAtCWlmIChrdmxpc3QgPT0gTlVMTCkNCj4gPiA+ ICAgKwlpZiAoa3ZsaXN0ID09IE5VTEwpIHsNCj4gPiA+ICAgKwkJcnRlX2Vycm5vID0gRUlOVkFM Ow0KPiA+ID4gICAgCQlyZXR1cm4gTlVMTDsNCj4gPiA+ICAgKwl9DQo+ID4gPiAgICsNCj4gPiA+ ICAgIAlmb3IgKGkgPSAwOyBpIDwga3ZsaXN0LT5jb3VudDsgKytpKSB7DQo+ID4gPiAgICAJCWlm IChrZXkgIT0gTlVMTCAmJiBzdHJjbXAoa3ZsaXN0LT5wYWlyc1tpXS5rZXksIGtleSkgIT0gMCkN Cj4gPiA+ICAgIAkJCWNvbnRpbnVlOw0KPiA+ID4gICArCQlrZXlfZm91bmQgPSAxOw0KPiA+ID4g ICAgCQlpZiAodmFsdWUgIT0gTlVMTCAmJiBzdHJjbXAoa3ZsaXN0LT5wYWlyc1tpXS52YWx1ZSwg dmFsdWUpICE9IDApDQo+ID4gPiAgICAJCQljb250aW51ZTsNCj4gPiA+ICAgIAkJcmV0dXJuIGt2 bGlzdC0+cGFpcnNbaV0udmFsdWU7DQo+ID4gPiAgICAJfQ0KPiA+ID4gICArDQo+ID4gPiAgICsJ aWYgKGtleV9mb3VuZCkNCj4gPiA+ICAgKwkJcnRlX2Vycm5vID0gRU5PREVWOw0KPiA+ID4gICAr CWVsc2UNCj4gPiA+ICAgKwkJcnRlX2Vycm5vID0gRU5PRU5UOw0KPiA+ID4gICArDQo+ID4gPiAg ICAJcmV0dXJuIE5VTEw7DQo+ID4gPiAgICB9DQo+ID4gPiAgICANCj4gPiA+ICAgZGlmZiAtLWdp dCBhL2xpYi9rdmFyZ3MvcnRlX2t2YXJncy5oIGIvbGliL2t2YXJncy9ydGVfa3ZhcmdzLmgNCj4g PiA+ICAgaW5kZXggMzU5YTlmNWIwOS4uM2NiMjJlY2U0OCAxMDA2NDQNCj4gPiA+ICAgLS0tIGEv bGliL2t2YXJncy9ydGVfa3ZhcmdzLmgNCj4gPiA+ICAgKysrIGIvbGliL2t2YXJncy9ydGVfa3Zh cmdzLmgNCj4gPiA+ICAgQEAgLTE1Miw4ICsxNTIsMTIgQEAgY29uc3QgY2hhciAqcnRlX2t2YXJn c19nZXQoY29uc3Qgc3RydWN0IHJ0ZV9rdmFyZ3MgKmt2bGlzdCwgY29uc3QgY2hhciAqa2V5KTsN Cj4gPiA+ICAgICAqICAgVGhlIG1hdGNoaW5nIHZhbHVlLiBJZiBOVUxMLCBhbnkgdmFsdWUgd2ls bCBtYXRjaC4NCj4gPiA+ICAgICAqDQo+ID4gPiAgICAgKiBAcmV0dXJuDQo+ID4gPiAgIC0gKiAg IE5VTEwgaWYgbm8ga2V5IG1hdGNoZXMgdGhlIGlucHV0LA0KPiA+ID4gICAtICogICBhIHZhbHVl IGFzc29jaWF0ZWQgd2l0aCBhIG1hdGNoaW5nIGtleSBvdGhlcndpc2UuDQo+ID4gPiAgICsgKiAg IFRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggYSBtYXRjaGluZyBrZXkvdmFsdWUgb24gc3VjY2Vz cy4NCj4gPiA+ICAgKyAqICAgT24gZXJyb3IsIHJldHVybiBOVUxMIGFuZCBydGVfZXJybm8gaXMg c2V0Og0KPiA+ID4gICArICogICAtIEVJTlZBTCAtIGt2bGlzdCBpcyBOVUxMDQo+ID4gPiAgICsg KiAgIC0gRU5PRU5UIC0gbm8gbWF0Y2hpbmcga2V5L3ZhbHVlIHR1cGxlLCBidXQgdGhlIGtleSBt YXRjaGVzIHdpdGgNCj4gPiA+ICAgKyAqICAgICAgICAgICAgICBhIGRpZmZlcmVudCB2YWx1ZQ0K PiA+ID4gICArICogICAtIEVOT0RFViAtIGtleSBpcyBub3QgZm91bmQgaW4gdGhlIGt2bGlzdA0K PiA+ID4gICAgICovDQo+ID4gPiAgICBfX3J0ZV9leHBlcmltZW50YWwNCj4gPiA+ICAgIGNvbnN0 IGNoYXIgKnJ0ZV9rdmFyZ3NfZ2V0X3dpdGhfdmFsdWUoY29uc3Qgc3RydWN0IHJ0ZV9rdmFyZ3Mg Kmt2bGlzdCwNCj4gPiA+IA0KPiA+ID4gDQo+ID4gPiBMZXQgbWUga25vdyBpZiBpdCB3b3VsZCB3 b3JrIGZvciB5b3UuIEkgY2FuIHN1Ym1pdCBhIHBhdGNoIGlmIHlvdSB3YW50Lg0KPiA+IA0KPiA+ IA0KPiA+IExHVE0sIGxldCdzIHVzZSB5b3VyIHBhdGNoLg0KPiANCj4gT0ssIEknbGwgc3VibWl0 IHRoaXMgcGF0Y2ggdGhlbi4gVGhhbmtzIGZvciB0aGUgZmVlZGJhY2suDQo+IA0KPiA+ID4gDQo+ ID4gPiBJIGNhbiBhZGQgYSB1bml0IHRlc3QgZm9yIGt2YXJncywgYnV0IGRvIHlvdSBrbm93IHdo ZXJlIHdlIGNvdWxkIGFkZCBhDQo+ID4gPiB1bml0IHRlc3QgZm9yIHRoZSBkZXYgaXRlcmF0ZT8N Cj4gPiANCj4gPiBHb29kIGlkZWEsIGhvdyBhYm91dCB0ZXN0X2RldmFyZ3MuYz8NCj4gDQo+IFRo YW5rcywgSSdsbCBoYXZlIGEgbG9vay4NCj4gDQo+ID4gPiANCj4gPiA+IFRoYW5rcywNCj4gPiA+ IE9saXZpZXINCj4gPiANCg0K