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 5F61CA0C52; Wed, 24 Nov 2021 12:43:33 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2075740040; Wed, 24 Nov 2021 12:43:33 +0100 (CET) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam07on2068.outbound.protection.outlook.com [40.107.212.68]) by mails.dpdk.org (Postfix) with ESMTP id 14EE84003C for ; Wed, 24 Nov 2021 12:43:31 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GHKAB+NT+d1w0Na0CywKT8sAr1a+JAqo5+/620Xfbpc8H4+o22RnDSulijo59eEmacnuXG8eC+dVoTzo86sp9m5lADYb9XK0Mef5Kojrq+RrSjeAIZ6YtUnpFnJf7zDWRkXoLHFZ/8+hrx1gWpAoVDLtDlvxQ/zJcpRvd3jOJINOHeHPhOvYqZ/b8Qvk+HVgs0X6OE6wBYKQi54f9/wQdoRcVTCPA2VV/fGCqwY1KZ9J2yeXD7J8hizTS18HscWRZPLst4aZ7sM/ue1r2F6AOPocnPFVAVWiWQK2yH/OLEIyXgAY0xwM80i5uRKL5JsZWuuSz9T5y68/KcoHVTTopg== 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=s3Mq0MYUkXXnrwN+j32HYJIYjlY1dkb90MlmtXyjWE0=; b=ODh1uF5vVujVCbs2CKXT5AZadg2yhzCbznno+zoMY7PUZsuP117+iJtp+J2GlAjFUs5ePdiPzhdT4ZtUzw9nwE8ao9bcAPMopV+pnXe/nBg2KgWujaqFK+4ulLEKhP/MxKkbIDMNDPVyIbiMryq3+ZPQ44gaqRWnPgM+YH0sku5kH90C/2aJvs0IHWui6RJCP6/75Qd/905z67kBftrMuwQ+Hz1Jtff7T9dSOB4gfff7oNwGhHCLdshnXOW/bTyTWOIZmKHQ2S/ORjp1d8XRRQBAseXpLc1MTdoQHN+AcTI4S2te/hNVVIhBgQS+WFMeBtrNP5qGfyCHNP0ZF91Xmg== 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=s3Mq0MYUkXXnrwN+j32HYJIYjlY1dkb90MlmtXyjWE0=; b=gYlVfanG21ELodlfCxRxLEVHzC3efRLFy9cVV0lWm4UI2RgXzLPJ5NQZZEK55zdgpkYHlAqJscdzyUDx0Ol15YyOFyj1L6WX1yoOCVeec9gw3zq2cAdg246wLUyey0c60PtHBF9EzmgUckHZLb03F6uSc6hUuyHwSYuvUm4Xr6CuBAykdIBxzwrAw9JS+FC4IK690/kcIa5ouMO5A7l316fTOv93EhdM+cUt3fXHHZw9RGynehFJoP3ReBUQM2cJtK4YCbxQsdH90v3EJA6zKj/JfixAf0FzmS90KXvwI2ZEBWrG+0+NHtt6c8RA7VRxgLpBT/G/J3RHnotpA+v6Ug== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) by DM4PR12MB5245.namprd12.prod.outlook.com (2603:10b6:5:398::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4713.19; Wed, 24 Nov 2021 11:43:29 +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 11:43:29 +0000 From: "Xueming(Steven) Li" To: "olivier.matz@6wind.com" , "dev@dpdk.org" CC: Lior Margalit , Parav Pandit , "david.marchand@redhat.com" , "mdr@ashroe.eu" Subject: Re: [PATCH v3] bus: fix device iterator match from arguments Thread-Topic: [PATCH v3] bus: fix device iterator match from arguments Thread-Index: AQHX4SLW62vNbCJXrkm9WHx21jiBa6wSiwKAgAADtgA= Date: Wed, 24 Nov 2021 11:43:29 +0000 Message-ID: <858f3c9302ee4810d8552defa99a33d9820b0e11.camel@nvidia.com> References: <20211122061250.3220823-1-xuemingl@nvidia.com> <20211124110244.26464-1-olivier.matz@6wind.com> <7f51c5b49ea14c8f50fb73bfb30a2b377b8f7488.camel@nvidia.com> In-Reply-To: <7f51c5b49ea14c8f50fb73bfb30a2b377b8f7488.camel@nvidia.com> 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: 5bbacc1f-9f14-4873-f7d6-08d9af3fa2cd x-ms-traffictypediagnostic: DM4PR12MB5245: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bpa3mObSXcLsmSAM2WaMEnFy+uN6+bvEojkGEKPeD0GZuyFhPNQ5V+DIppJ2qUtEbnnMSfqJ28XIuJXDeCz3yRM8rfMh5aqFAsPBuufKU6+mZTqLHlgHDe8V5e+/uLNGMLJvnRO2OJnqHlWCUp24/Vu8r/0PMIpBbQnODjMjwXPcYiFFcBgsO7MP/jmPEDH/AAq/k5DybwPng2/RobXn9+k5quwuIbZmSpnz5WLaf5kl96NYQNoGxvd1X6Q71XgdPpOmQSQX7q7+KO0lg6nyAmADH+k08bxSDK8hbHxTE5NhwCmuoSzErNheOi/k3TiB3GIcbogfFf5V1JzU2so4muvbR/y6cxxadnMNKqEWIEi8Tzhk7vXNPQoudq18RUAAwLQacJOs52eJe6j6W0PhgwJgGDyeWQoT8Rd19X8fI6ekmx8Hxf1rW7xdIS4nUNBSHy7ud2r8m2MHGfBxOH3irWwynfaOlCE4N+n8c2CVRVOUWtIWatLj+2fEmqm5/yPywHEtgOlFTIcXP+RFYSJwgBWX2Uo0ZqKLoJFTCfh/A8vPEndppzCQLMyo7NXHozlX0OYlUqMqIGoNbao6dTJcZnpRa9CWxvHaQkbE+as8tO7gOFGVZa8rf6TvKQ4FEjNUgxY6Gd//PPG2PY5yoGZRSjT8Osnl0p83EuIwX+BOU1fd4r9NM7HXbE3e0L2NDxA6zNBOhd9bayb9+cu/4YzEYQ== 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)(110136005)(316002)(54906003)(38100700002)(2906002)(2616005)(4001150100001)(38070700005)(4326008)(8936002)(66946007)(91956017)(26005)(6486002)(5660300002)(186003)(83380400001)(76116006)(66556008)(64756008)(6512007)(66476007)(36756003)(71200400001)(508600001)(8676002)(6506007)(66446008)(86362001)(122000001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WksxUGhvTjVyekFoaFo0M1lLVUUwUDBrU1lJZ2p4aUdzdDlJeUVCZENIOUh4?= =?utf-8?B?RnQ0S09sNy9sd25IL0Y0VHBrRlBydmJNd0E1UEFXUUgrcEpZL0I2RXB2TWls?= =?utf-8?B?OHFQT21uS0hIc2FFb1lEd0pVbVduNlliblhEM3lqeXQrUkFra0lnbTBlWnMy?= =?utf-8?B?dkQ2WFk3MFpYMnNDekl0a1hxdmpLbkhGQnZNcmlaaU9ScEE2U3NXcnN3R00w?= =?utf-8?B?UWVBSmVYbFVPVWMvLzZJL2hxcG0vMG52RGVtWVpiQU5VNE1TN1BtRkZrZjJU?= =?utf-8?B?REJuanhadS95ckwySStKWW5qSERaTmxMZmNoWEpWTG1USlBMVVR2dWpHRDFu?= =?utf-8?B?SFF6ZDNld2U5UWhvdnZMYy9pUFNGbXd4RW84NXRxOVNBVi92c2RKODhKcU5U?= =?utf-8?B?RmdTeElwMElTUEZvQ2lEZ0tHLzllbVQ2NlRJUmU5UTc1a1dPSm14eWhQZ2NM?= =?utf-8?B?OXhxMGRYOWNuMnJ0YlJOWkpEbTcxSi8rdXcwWTYrOWtWR1FuTmlFWEx0dUs1?= =?utf-8?B?MFJUS0w1bWhmbUV3ZkNZR3FIblkyM0NkK1RCZVkzd3lLd1JjSUlNVXdKZnl6?= =?utf-8?B?R2hHVGludEpnY0ZPRXQwL1NLRzRuR2FmcUtEc0xlbzByY1ozYnVHN2VadU9W?= =?utf-8?B?RFg5M3ZHOHVuMDR4a2M0ZTZ0akZrajZqTDN5QnFZNFFXVnNBczN1WHQ2TlZa?= =?utf-8?B?MHNzRUZXMHQ4ZVlyMkNpbGVsS01FWWYwTGMwMGhOdE1ISTZSNkNibURJVDVH?= =?utf-8?B?eGFERmtsTWtSc0VtNkVvbE1BZWlUNmR4YTdXS1BNUVFVMUZ2c2hEWGtCWUlz?= =?utf-8?B?c05sQ2prYzNoUVFFbDhZcXJoSlRrbW5lenJrNGJlV1RjMlFUSVdENDI2aDIv?= =?utf-8?B?OVRlYitpYnNweE4rK0pnMG0wQ2dOcHhNMkI5OXV5bHppd3c2bGtEdkFNUjBv?= =?utf-8?B?V2VSS2hrL0NxSlpDQ1pUUzZJay9oa1U0eWJYRnB3bUxuQUtRajVpMnE3SzZq?= =?utf-8?B?MG1Sb09zZGJ3NlViblFtZllhcEtBY1NOSHVoTXZUVExqemNVWlN2cVJPeWJI?= =?utf-8?B?ZFF6WW91VjFiaTBXOHBDZ3lvRUUrUXVBVUVmbjNaSW9iNnR2T0RFVFVsM3RW?= =?utf-8?B?N1VUOG4xZUE3ZzNhdUxVcEtKdmNMNXlldmZGRGxvN3FWelhEeTIrN2pURkdu?= =?utf-8?B?RHVvK3NGQ3Q0SFUzYVEvdHBjTXVWenJxZW12c2xpR0gyeGYwbTR0aElncmpI?= =?utf-8?B?Y1o2KzVNaGFvcy8rUXRkaGNkY0R4U2hSQnYwQVBHY0RMU1hKSTZwdC84MzNp?= =?utf-8?B?Nmc0a1pYQ3hDYVpuSUJ6SER3RFBTdGFjS2tJNzFLZ1FVd245eXozTDFSUTVl?= =?utf-8?B?dGxXNFYwNmlWM3FuKzREK1I4Y0k0UlRRSllwdys3SW9EZDVmaWR0OTJmY3NY?= =?utf-8?B?MmVSUlE2M2ZmRWI0NXdxQVhxWmJ6ZE1mclhxN3BjbklvbFJCWmowbTNtZHEx?= =?utf-8?B?RTdoZ1BYNytTeFdYTmVBMXlNWWhSZXJacHBQWEZtTTlnb0t2VzJ2MExaUVdN?= =?utf-8?B?WWE2YXp5RXhCWU5QVHJ5UEw1MTBXUzdqVWE4UjhBQ3ZtdWRzVVg3YlJKeWsw?= =?utf-8?B?S1NXRzR3M1YySHZFQzJyYmxWZ1JrWnNISEN0Ym9IdHVDd2diWHRUOG1oVmk5?= =?utf-8?B?cDdxdk5weGZGbzJYK3VDK0ttZ0RFNGtsSXo2UzFGMUM5MFVqWmo0SDQwdVZq?= =?utf-8?B?US9OWnBwYno4NWZwQTgvTkVVQVV0VWI5T0JDeDZTZGF0bGdFMXBpYWFrb3pD?= =?utf-8?B?MThLSFZidjYrbnZ5S3VNY3pMRFRweG5RcERMSGhwSzVvd0Z4U1dWTHd1b1ZO?= =?utf-8?B?QXlhSkh1Zy8ydVRvbkFXMXYyWEdXRXBrWCtkTCt2Zjd1WXQwT2xJZ1gxMnpx?= =?utf-8?B?S2NSb2NNYTZvaUtFL0dFM0Z3SmE1bGZqckVQL0ZsWnh0RWNGeUFoSlhBK0pr?= =?utf-8?B?YmNseFJNaEVHTmxKaGlSSWZHVWRYWnc4WnE1V0hKMFlVc0RvM3kxUnFMaWtI?= =?utf-8?B?NHBaeXhiU2NoQ1MxdXVVM0xVaGsxeXpEcEhSaHdsU1ZVb21oSVZOb0UyVmF5?= =?utf-8?B?WUFEMDhKK2ptTm9aN2lQMnIrcXQ3Wk8rQzREU2QvVUZ2d2Z0eVQ1K010d3VS?= =?utf-8?Q?213yzAKYNUbZcqqGmEdNFuTRkzHZ6GQ8sOrTpp+JdT61?= Content-Type: text/plain; charset="utf-8" Content-ID: <5A207006F861AA48980CE2B04F7E0733@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: 5bbacc1f-9f14-4873-f7d6-08d9af3fa2cd X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2021 11:43:29.7549 (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: 8POwVsIZGTaU+SUgLBxm0bT0uJ+j9JAzLC5B9sJ9LMK0GqSKiCYVJlT5UYIGrr+JudWI1XD9HlJ1/Rzpn7TIuw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5245 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 T24gV2VkLCAyMDIxLTExLTI0IGF0IDE5OjMwICswODAwLCBYdWVtaW5nIExpIHdyb3RlOg0KPiBP biBXZWQsIDIwMjEtMTEtMjQgYXQgMTI6MDIgKzAxMDAsIE9saXZpZXIgTWF0eiB3cm90ZToNCj4g PiBGcm9tOiBYdWVtaW5nIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiA+IA0KPiA+IERldmlj ZSBpdGVyYXRvciBSVEVfREVWX0ZPUkVBQ0goKSBmYWlsZWQgdG8gcmV0dXJuIGRldmljZXMgZnJv bQ0KPiA+IGNsYXNzaWZpZXIgbGlrZSAiY2xhc3M9dmRwYSIsIGJlY2F1c2UgbWF0Y2hpbmcgbmFt ZSBmcm9tIGVtcHR5IGt2YXJncw0KPiA+IHJldHVybnMgbm8gcmVzdWx0LiBJZiBkZXZpY2UgbmFt ZSBub3Qgc3BlY2lmaWVkIGluIGt2YXJncywgdGhlIGZ1bmN0aW9uDQo+ID4gc2hvdWxkIGl0ZXJh dGUgYWxsIGRldmljZXMuDQo+ID4gDQo+ID4gVGhpcyBwYXRjaCBhbGxvd3MgZW1wdHkgZGV2YXJn cyBvciBkZXZhcmdzIHdpdGhvdXQgbmFtZSBzcGVjaWZpZWQuDQo+ID4gDQo+ID4gRml4ZXM6IDZh ZWJiOTQyOTA3ZCAoImt2YXJnczogYWRkIGZ1bmN0aW9uIHRvIGdldCBmcm9tIGtleSBhbmQgdmFs dWUiKQ0KPiA+IA0KPiA+IFNpZ25lZC1vZmYtYnk6IFh1ZW1pbmcgTGkgPHh1ZW1pbmdsQG52aWRp YS5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogT2xpdmllciBNYXR6IDxvbGl2aWVyLm1hdHpANndp bmQuY29tPg0KPiA+IC0tLQ0KPiA+IGJ1ZyBpcyBzcGVjaWZpYyB0byAyMS4xMSwgbm8gbmVlZCB0 byBjYyBzdGFibGVAZHBkay5vcmcNCj4gPiAtLS0NCj4gPiAgYXBwL3Rlc3QvbWVzb24uYnVpbGQg ICAgICAgICAgICAgICAgICAgICB8ICAgMyArDQo+ID4gIGFwcC90ZXN0L3Rlc3RfdmRldi5jICAg ICAgICAgICAgICAgICAgICAgfCAxNjggKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiAgZHJp dmVycy9idXMvYXV4aWxpYXJ5L2F1eGlsaWFyeV9wYXJhbXMuYyB8ICAgOSArLQ0KPiA+ICBkcml2 ZXJzL2J1cy92ZGV2L3ZkZXZfcGFyYW1zLmMgICAgICAgICAgIHwgICA5ICstDQo+ID4gIDQgZmls ZXMgY2hhbmdlZCwgMTg3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo+ID4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBhcHAvdGVzdC90ZXN0X3ZkZXYuYw0KPiA+IA0KPiA+IGRpZmYgLS1naXQg YS9hcHAvdGVzdC9tZXNvbi5idWlsZCBiL2FwcC90ZXN0L21lc29uLmJ1aWxkDQo+ID4gaW5kZXgg OTYxYmViYzVjYi4uMTkwMDlkYTUyZSAxMDA2NDQNCj4gPiAtLS0gYS9hcHAvdGVzdC9tZXNvbi5i dWlsZA0KPiA+ICsrKyBiL2FwcC90ZXN0L21lc29uLmJ1aWxkDQo+ID4gQEAgLTE1Myw2ICsxNTMs NyBAQCB0ZXN0X3NvdXJjZXMgPSBmaWxlcygNCj4gPiAgICAgICAgICAndGVzdF90cmFjZS5jJywN Cj4gPiAgICAgICAgICAndGVzdF90cmFjZV9yZWdpc3Rlci5jJywNCj4gPiAgICAgICAgICAndGVz dF90cmFjZV9wZXJmLmMnLA0KPiA+ICsgICAgICAgICd0ZXN0X3ZkZXYuYycsDQo+ID4gICAgICAg ICAgJ3Rlc3RfdmVyc2lvbi5jJywNCj4gPiAgICAgICAgICAndmlydHVhbF9wbWQuYycsDQo+ID4g ICkNCj4gPiBAQCAtMTc3LDYgKzE3OCw3IEBAIHRlc3RfZGVwcyA9IFsNCj4gPiAgICAgICAgICAn aXBzZWMnLA0KPiA+ICAgICAgICAgICdscG0nLA0KPiA+ICAgICAgICAgICdtZW1iZXInLA0KPiA+ ICsgICAgICAgICduZXRfbnVsbCcsDQo+IA0KPiBGcm9tIG15IGV4cGVyaWVuY2UsIENJIHdpbGwg ZmFpbCBpZiBidWlsZCBub3QgY29uZmlndXJlZCB3aXRoIG5ldF9udWxsLA0KPiBldmVuIHdlIGFk ZCBpdCBoZXJlLiBMZXQncyBtb25pdG9yIENJIHJlc3VsdC4gDQoNClNvcnJ5LCBmcm9tIENJIHNj cmlwdHMsIG5ldF9udWxsIHdhcyB0aGVyZSBhbHJlYWR5LCBubyBjb25jZXJuLg0KDQo+IA0KPiA+ ICAgICAgICAgICdub2RlJywNCj4gPiAgICAgICAgICAncGlwZWxpbmUnLA0KPiA+ICAgICAgICAg ICdwb3J0JywNCj4gPiBAQCAtMjgzLDYgKzI4NSw3IEBAIGZhc3RfdGVzdHMgPSBbDQo+ID4gICAg ICAgICAgWydzZXJ2aWNlX2F1dG90ZXN0JywgdHJ1ZV0sDQo+ID4gICAgICAgICAgWyd0aGFzaF9h dXRvdGVzdCcsIHRydWVdLA0KPiA+ICAgICAgICAgIFsndHJhY2VfYXV0b3Rlc3QnLCB0cnVlXSwN Cj4gPiArICAgICAgICBbJ3ZkZXZfYXV0b3Rlc3QnLCB0cnVlXSwNCj4gPiAgXQ0KPiA+ICANCj4g PiAgIyBUZXN0cyBrbm93biB0byBoYXZlIGlzc3VlcyBvciB3aGljaCBkb24ndCBiZWxvbmcgaW4g b3RoZXIgdGVzdHMgbGlzdHMuDQo+ID4gZGlmZiAtLWdpdCBhL2FwcC90ZXN0L3Rlc3RfdmRldi5j IGIvYXBwL3Rlc3QvdGVzdF92ZGV2LmMNCj4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiA+IGlu ZGV4IDAwMDAwMDAwMDAuLjcyMDcyMmMzNjMNCj4gPiAtLS0gL2Rldi9udWxsDQo+ID4gKysrIGIv YXBwL3Rlc3QvdGVzdF92ZGV2LmMNCj4gPiBAQCAtMCwwICsxLDE2OCBAQA0KPiA+ICsvKiBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+ID4gKyAqIENvcHlyaWdodCAyMDIx IDZXSU5EIFMuQS4NCj4gPiArICovDQo+ID4gKw0KPiA+ICsjaW5jbHVkZSA8c3RkbGliLmg+DQo+ ID4gKyNpbmNsdWRlIDxzdGRpby5oPg0KPiA+ICsjaW5jbHVkZSA8c3RyaW5nLmg+DQo+ID4gKw0K PiA+ICsjaW5jbHVkZSA8cnRlX2NvbW1vbi5oPg0KPiA+ICsjaW5jbHVkZSA8cnRlX2t2YXJncy5o Pg0KPiA+ICsjaW5jbHVkZSA8cnRlX2J1c192ZGV2Lmg+DQo+ID4gKw0KPiA+ICsjaW5jbHVkZSAi dGVzdC5oIg0KPiA+ICsNCj4gPiArI2RlZmluZSBURVNUX1ZERVZfS0VZX05BTUUgIm5hbWUiDQo+ ID4gKw0KPiA+ICtzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHZhbGlkX2tleXNbXSA9IHsNCj4g PiArCVRFU1RfVkRFVl9LRVlfTkFNRSwNCj4gPiArCU5VTEwsDQo+ID4gK307DQo+ID4gKw0KPiA+ ICtzdGF0aWMgaW50DQo+ID4gK2NtcF9kZXZfbmFtZShjb25zdCBzdHJ1Y3QgcnRlX2RldmljZSAq ZGV2LCBjb25zdCB2b2lkICpuYW1lKQ0KPiA+ICt7DQo+ID4gKwlyZXR1cm4gc3RyY21wKGRldi0+ bmFtZSwgbmFtZSk7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQNCj4gPiArY21wX2Rl dl9tYXRjaChjb25zdCBzdHJ1Y3QgcnRlX2RldmljZSAqZGV2LCBjb25zdCB2b2lkICpfa3ZsaXN0 KQ0KPiA+ICt7DQo+ID4gKwljb25zdCBzdHJ1Y3QgcnRlX2t2YXJncyAqa3ZsaXN0ID0gX2t2bGlz dDsNCj4gPiArCWNvbnN0IGNoYXIgKmtleSA9IFRFU1RfVkRFVl9LRVlfTkFNRTsNCj4gPiArCWNv bnN0IGNoYXIgKm5hbWU7DQo+ID4gKw0KPiA+ICsJLyogbm8ga3ZsaXN0IGFyZywgYWxsIGRldmlj ZXMgbWF0Y2ggKi8NCj4gPiArCWlmIChrdmxpc3QgPT0gTlVMTCkNCj4gPiArCQlyZXR1cm4gMDsN Cj4gPiArDQo+ID4gKwkvKiBpZiBrZXkgaXMgcHJlc2VudCBpbiBrdmxpc3QgYW5kIGRvZXMgbm90 IG1hdGNoLCBmaWx0ZXIgZGV2aWNlICovDQo+ID4gKwluYW1lID0gcnRlX2t2YXJnc19nZXQoa3Zs aXN0LCBrZXkpOw0KPiA+ICsJaWYgKG5hbWUgIT0gTlVMTCAmJiBzdHJjbXAobmFtZSwgZGV2LT5u YW1lKSkNCj4gPiArCQlyZXR1cm4gLTE7DQo+ID4gKw0KPiA+ICsJcmV0dXJuIDA7DQo+ID4gK30N Cj4gPiArDQo+ID4gK3N0YXRpYyBzdHJ1Y3QgcnRlX2RldmljZSAqDQo+ID4gK2dldF9tYXRjaGlu Z192ZGV2KGNvbnN0IGNoYXIgKm1hdGNoX3N0cikNCj4gPiArew0KPiA+ICsJc3RydWN0IHJ0ZV9i dXMgKnZkZXZfYnVzID0gcnRlX2J1c19maW5kX2J5X25hbWUoInZkZXYiKTsNCj4gPiArCXN0cnVj dCBydGVfa3ZhcmdzICprdmFyZ3MgPSBOVUxMOw0KPiA+ICsJc3RydWN0IHJ0ZV9kZXZpY2UgKmRl djsNCj4gPiArDQo+ID4gKwlpZiAobWF0Y2hfc3RyICE9IE5VTEwpIHsNCj4gPiArCQlrdmFyZ3Mg PSBydGVfa3ZhcmdzX3BhcnNlKG1hdGNoX3N0ciwgdmFsaWRfa2V5cyk7DQo+ID4gKwkJaWYgKGt2 YXJncyA9PSBOVUxMKSB7DQo+ID4gKwkJCXByaW50ZigiRmFpbGVkIHRvIHBhcnNlIG1hdGNoIHN0 cmluZ1xuIik7DQo+ID4gKwkJCXJldHVybiBOVUxMOw0KPiA+ICsJCX0NCj4gPiArCX0NCj4gPiAr DQo+ID4gKwlkZXYgPSB2ZGV2X2J1cy0+ZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9tYXRjaCwg a3ZhcmdzKTsNCj4gPiArCXJ0ZV9rdmFyZ3NfZnJlZShrdmFyZ3MpOw0KPiA+ICsNCj4gPiArCXJl dHVybiBkZXY7DQo+ID4gK30NCj4gPiArDQo+ID4gK3N0YXRpYyBpbnQNCj4gPiArdGVzdF92ZGV2 X2J1cyh2b2lkKQ0KPiA+ICt7DQo+ID4gKwlzdHJ1Y3QgcnRlX2J1cyAqdmRldl9idXMgPSBydGVf YnVzX2ZpbmRfYnlfbmFtZSgidmRldiIpOw0KPiA+ICsJc3RydWN0IHJ0ZV9kZXZfaXRlcmF0b3Ig ZGV2X2l0ZXIgPSB7IDAgfTsNCj4gPiArCXN0cnVjdCBydGVfZGV2aWNlICpkZXYsICpkZXYwLCAq ZGV2MTsNCj4gPiArDQo+ID4gKwkvKiBub3Qgc3VwcG9ydGVkICovDQo+ID4gKwlpZiAodmRldl9i dXMgPT0gTlVMTCkNCj4gPiArCQlyZXR1cm4gMDsNCj4gPiArDQo+ID4gKwkvKiBjcmVhdGUgZmly c3QgdmRldiAqLw0KPiA+ICsJaWYgKHJ0ZV92ZGV2X2luaXQoIm5ldF9udWxsX3Rlc3QwIiwgIiIp IDwgMCkgew0KPiA+ICsJCXByaW50ZigiRmFpbGVkIHRvIGNyZWF0ZSB2ZGV2IG5ldF9udWxsX3Rl c3QwXG4iKTsNCj4gPiArCQlnb3RvIGZhaWw7DQo+ID4gKwl9DQo+ID4gKwlkZXYwID0gdmRldl9i dXMtPmZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXZfbmFtZSwgIm5ldF9udWxsX3Rlc3QwIik7DQo+ ID4gKwlpZiAoZGV2MCA9PSBOVUxMKSB7DQo+ID4gKwkJcHJpbnRmKCJDYW5ub3QgZmluZCBuZXRf bnVsbF90ZXN0MCB2ZGV2XG4iKTsNCj4gPiArCQlnb3RvIGZhaWw7DQo+ID4gKwl9DQo+ID4gKw0K PiA+ICsJLyogY3JlYXRlIHNlY29uZCB2ZGV2ICovDQo+ID4gKwlpZiAocnRlX3ZkZXZfaW5pdCgi bmV0X251bGxfdGVzdDEiLCAiIikgPCAwKSB7DQo+ID4gKwkJcHJpbnRmKCJGYWlsZWQgdG8gY3Jl YXRlIHZkZXYgbmV0X251bGxfdGVzdDFcbiIpOw0KPiA+ICsJCWdvdG8gZmFpbDsNCj4gPiArCX0N Cj4gPiArCWRldjEgPSB2ZGV2X2J1cy0+ZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9uYW1lLCAi bmV0X251bGxfdGVzdDEiKTsNCj4gPiArCWlmIChkZXYxID09IE5VTEwpIHsNCj4gPiArCQlwcmlu dGYoIkNhbm5vdCBmaW5kIG5ldF9udWxsX3Rlc3QxIHZkZXZcbiIpOw0KPiA+ICsJCWdvdG8gZmFp bDsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwkvKiB0cnkgdG8gbWF0Y2ggdmRldnMgKi8NCj4gPiAr CWRldiA9IGdldF9tYXRjaGluZ192ZGV2KCJuYW1lPW5ldF9udWxsX3Rlc3QwIik7DQo+ID4gKwlp ZiAoZGV2ICE9IGRldjApIHsNCj4gPiArCQlwcmludGYoIkNhbm5vdCBtYXRjaCBuZXRfbnVsbF90 ZXN0MCB2ZGV2XG4iKTsNCj4gPiArCQlnb3RvIGZhaWw7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJ ZGV2ID0gZ2V0X21hdGNoaW5nX3ZkZXYoIm5hbWU9bmV0X251bGxfdGVzdDEiKTsNCj4gPiArCWlm IChkZXYgIT0gZGV2MSkgew0KPiA+ICsJCXByaW50ZigiQ2Fubm90IG1hdGNoIG5ldF9udWxsX3Rl c3QxIHZkZXZcbiIpOw0KPiA+ICsJCWdvdG8gZmFpbDsNCj4gPiArCX0NCj4gPiArDQo+ID4gKwlk ZXYgPSBnZXRfbWF0Y2hpbmdfdmRldigibmFtZT11bmV4aXN0YW50Iik7DQo+ID4gKwlpZiAoZGV2 ICE9IE5VTEwpIHsNCj4gPiArCQlwcmludGYoIlVuZXhpc3RhbnQgdmRldiBzaG91bGQgbm90IG1h dGNoXG4iKTsNCj4gPiArCQlnb3RvIGZhaWw7DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICsJZGV2ID0g Z2V0X21hdGNoaW5nX3ZkZXYoIiIpOw0KPiA+ICsJaWYgKGRldiA9PSBOVUxMIHx8IGRldiA9PSBk ZXYxKSB7DQo+ID4gKwkJcHJpbnRmKCJDYW5ub3QgbWF0Y2ggYW55IHZkZXYgd2l0aCBlbXB0eSBt YXRjaCBzdHJpbmdcbiIpOw0KPiA+ICsJCWdvdG8gZmFpbDsNCj4gPiArCX0NCj4gPiArDQo+ID4g KwlkZXYgPSBnZXRfbWF0Y2hpbmdfdmRldihOVUxMKTsNCj4gPiArCWlmIChkZXYgPT0gTlVMTCB8 fCBkZXYgPT0gZGV2MSkgew0KPiA+ICsJCXByaW50ZigiQ2Fubm90IG1hdGNoIGFueSB2ZGV2IHdp dGggTlVMTCBtYXRjaCBzdHJpbmdcbiIpOw0KPiA+ICsJCWdvdG8gZmFpbDsNCj4gPiArCX0NCj4g PiArDQo+ID4gKwkvKiBpdGVyYXRlIGFsbCB2ZGV2cywgYW5kIGVuc3VyZSB3ZSBmaW5kIHZkZXYw IGFuZCB2ZGV2MSAqLw0KPiA+ICsJUlRFX0RFVl9GT1JFQUNIKGRldiwgImJ1cz12ZGV2IiwgJmRl dl9pdGVyKSB7DQo+ID4gKwkJaWYgKGRldiA9PSBkZXYwKQ0KPiA+ICsJCQlkZXYwID0gTlVMTDsN Cj4gPiArCQllbHNlIGlmIChkZXYgPT0gZGV2MSkNCj4gPiArCQkJZGV2MSA9IE5VTEw7DQo+ID4g Kwl9DQo+ID4gKwlpZiAoZGV2MCAhPSBOVUxMKSB7DQo+ID4gKwkJcHJpbnRmKCJkZXYwIHdhcyBu b3QgaXRlcmF0ZWRcbiIpOw0KPiA+ICsJCWdvdG8gZmFpbDsNCj4gPiArCX0NCj4gPiArCWlmIChk ZXYxICE9IE5VTEwpIHsNCj4gPiArCQlwcmludGYoImRldjEgd2FzIG5vdCBpdGVyYXRlZFxuIik7 DQo+ID4gKwkJZ290byBmYWlsOw0KPiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJ0ZV92ZGV2X3VuaW5p dCgibmV0X251bGxfdGVzdDAiKTsNCj4gPiArCXJ0ZV92ZGV2X3VuaW5pdCgibmV0X251bGxfdGVz dDEiKTsNCj4gPiArDQo+ID4gKwlyZXR1cm4gMDsNCj4gPiArDQo+ID4gK2ZhaWw6DQo+ID4gKwly dGVfdmRldl91bmluaXQoIm5ldF9udWxsX3Rlc3QwIik7DQo+ID4gKwlydGVfdmRldl91bmluaXQo Im5ldF9udWxsX3Rlc3QxIik7DQo+ID4gKwlyZXR1cm4gLTE7DQo+ID4gK30NCj4gPiArDQo+ID4g K3N0YXRpYyBpbnQNCj4gPiArdGVzdF92ZGV2KHZvaWQpDQo+ID4gK3sNCj4gPiArCXByaW50Zigi PT0gdGVzdCB2ZGV2IGJ1cyA9PVxuIik7DQo+ID4gKwlpZiAodGVzdF92ZGV2X2J1cygpIDwgMCkN Cj4gPiArCQlyZXR1cm4gLTE7DQo+ID4gKwlyZXR1cm4gMDsNCj4gPiArfQ0KPiA+ICsNCj4gPiAr UkVHSVNURVJfVEVTVF9DT01NQU5EKHZkZXZfYXV0b3Rlc3QsIHRlc3RfdmRldik7DQo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvYnVzL2F1eGlsaWFyeS9hdXhpbGlhcnlfcGFyYW1zLmMgYi9kcml2 ZXJzL2J1cy9hdXhpbGlhcnkvYXV4aWxpYXJ5X3BhcmFtcy5jDQo+ID4gaW5kZXggOGRkODgxMzYx MS4uOWMwOGNjZGQxYiAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2J1cy9hdXhpbGlhcnkvYXV4 aWxpYXJ5X3BhcmFtcy5jDQo+ID4gKysrIGIvZHJpdmVycy9idXMvYXV4aWxpYXJ5L2F1eGlsaWFy eV9wYXJhbXMuYw0KPiA+IEBAIC0yOCw4ICsyOCwxNSBAQCBhdXhpbGlhcnlfZGV2X21hdGNoKGNv bnN0IHN0cnVjdCBydGVfZGV2aWNlICpkZXYsDQo+ID4gIHsNCj4gPiAgCWNvbnN0IHN0cnVjdCBy dGVfa3ZhcmdzICprdmxpc3QgPSBfa3ZsaXN0Ow0KPiA+ICAJY29uc3QgY2hhciAqa2V5ID0gYXV4 aWxpYXJ5X3BhcmFtc19rZXlzW1JURV9BVVhJTElBUllfUEFSQU1fTkFNRV07DQo+ID4gKwljb25z dCBjaGFyICpuYW1lOw0KPiA+ICANCj4gPiAtCWlmIChydGVfa3ZhcmdzX2dldF93aXRoX3ZhbHVl KGt2bGlzdCwga2V5LCBkZXYtPm5hbWUpID09IE5VTEwpDQo+ID4gKwkvKiBubyBrdmxpc3QgYXJn LCBhbGwgZGV2aWNlcyBtYXRjaCAqLw0KPiA+ICsJaWYgKGt2bGlzdCA9PSBOVUxMKQ0KPiA+ICsJ CXJldHVybiAwOw0KPiA+ICsNCj4gPiArCS8qIGlmIGtleSBpcyBwcmVzZW50IGluIGt2bGlzdCBh bmQgZG9lcyBub3QgbWF0Y2gsIGZpbHRlciBkZXZpY2UgKi8NCj4gPiArCW5hbWUgPSBydGVfa3Zh cmdzX2dldChrdmxpc3QsIGtleSk7DQo+ID4gKwlpZiAobmFtZSAhPSBOVUxMICYmIHN0cmNtcChu YW1lLCBkZXYtPm5hbWUpKQ0KPiA+ICAJCXJldHVybiAtMTsNCj4gPiAgDQo+ID4gIAlyZXR1cm4g MDsNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9idXMvdmRldi92ZGV2X3BhcmFtcy5jIGIvZHJp dmVycy9idXMvdmRldi92ZGV2X3BhcmFtcy5jDQo+ID4gaW5kZXggMzdkOTUzOTVlNy4uMzk2OWZh ZjE2ZCAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2J1cy92ZGV2L3ZkZXZfcGFyYW1zLmMNCj4g PiArKysgYi9kcml2ZXJzL2J1cy92ZGV2L3ZkZXZfcGFyYW1zLmMNCj4gPiBAQCAtMjgsOCArMjgs MTUgQEAgdmRldl9kZXZfbWF0Y2goY29uc3Qgc3RydWN0IHJ0ZV9kZXZpY2UgKmRldiwNCj4gPiAg ew0KPiA+ICAJY29uc3Qgc3RydWN0IHJ0ZV9rdmFyZ3MgKmt2bGlzdCA9IF9rdmxpc3Q7DQo+ID4g IAljb25zdCBjaGFyICprZXkgPSB2ZGV2X3BhcmFtc19rZXlzW1JURV9WREVWX1BBUkFNX05BTUVd Ow0KPiA+ICsJY29uc3QgY2hhciAqbmFtZTsNCj4gPiAgDQo+ID4gLQlpZiAocnRlX2t2YXJnc19n ZXRfd2l0aF92YWx1ZShrdmxpc3QsIGtleSwgZGV2LT5uYW1lKSA9PSBOVUxMKQ0KPiA+ICsJLyog bm8ga3ZsaXN0IGFyZywgYWxsIGRldmljZXMgbWF0Y2ggKi8NCj4gPiArCWlmIChrdmxpc3QgPT0g TlVMTCkNCj4gPiArCQlyZXR1cm4gMDsNCj4gPiArDQo+ID4gKwkvKiBpZiBrZXkgaXMgcHJlc2Vu dCBpbiBrdmxpc3QgYW5kIGRvZXMgbm90IG1hdGNoLCBmaWx0ZXIgZGV2aWNlICovDQo+ID4gKwlu YW1lID0gcnRlX2t2YXJnc19nZXQoa3ZsaXN0LCBrZXkpOw0KPiA+ICsJaWYgKG5hbWUgIT0gTlVM TCAmJiBzdHJjbXAobmFtZSwgZGV2LT5uYW1lKSkNCj4gPiAgCQlyZXR1cm4gLTE7DQo+ID4gIA0K PiA+ICAJcmV0dXJuIDA7DQo+IA0KPiBOaWNlIHVuaXQgdGVzdCENCj4gDQo+IFJldmlld2VkLWJ5 OiBYdWVtaW5nIExpIDx4dWVtaW5nbEBudmlkaWEuY29tPg0KPiANCg0K