From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C2CF614F7A for ; Fri, 1 Mar 2024 00:57:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=192.198.163.11 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709254628; cv=fail; b=EGcFXnFZPvltaV0KzdXQtMllWn6x1qjJiznCZaztkjpWZ9/2kJ88TX3ldM686Ab8+Mo4eSdX+fEAN/iZIo/rH7oAZNTih8FcvRPpTlzPFcA9HGE9Tqlvl+Jt1vUt0m+RMjKYOrHYVhxnVOo6YP2RL4s0MxDrSQpU/NP5ChWXy+E= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1709254628; c=relaxed/simple; bh=UAoPyp83ismdO53vdM7qerWnoKupMy27MwZE2ezKGNg=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=lW/ZsNhd+ldg17AGkxlow0ZI3+KyzbOH9rT1GIeuoJ5PD8gEbU3Li/kjDIYoGRDTrwbOtBvqAj2oRS+2Nw/ZbvG9sCBLLKY25uHShqF+7RhXQuNpHupRe+x18r396cR7vCXQEvOqVimtPU7f1+Dc+H8I76I1LrrABxgz7Ll7+QM= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b=Jekx15Uf; arc=fail smtp.client-ip=192.198.163.11 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="Jekx15Uf" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1709254626; x=1740790626; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=UAoPyp83ismdO53vdM7qerWnoKupMy27MwZE2ezKGNg=; b=Jekx15Ufd1rZqpvACGxRUHAWuUGLXUqXkyGI5ItiUHWSRdf1Otog3HfH lRF4vlN3zYX+clJjqlAihVotGameEpRtJTzmOpYZG98mdDJIQ49Y2F/14 BOKEDHAIvACUyDc6ZOZZL+sU7Uhu0V7lmPfUabtUlA8aKt0QdCHad6k0/ B/seFywcEO5BELGxSeiCHySunrF2ojDC7gGuRzKi8XxEH0stbg5D7rdNP VqAiYenQgAwp8I+lGXMV7lkyevIXnjl8heEityW0T7CzTCf+nF3d5FjkF kOtX9Rwkaf3LN4ur0yrG5eCgX5o5avlSoTSncvLgKFkTxSIjs6pqP3m4r g==; X-IronPort-AV: E=McAfee;i="6600,9927,10999"; a="14410354" X-IronPort-AV: E=Sophos;i="6.06,194,1705392000"; d="scan'208";a="14410354" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by fmvoesa105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Feb 2024 16:57:05 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.06,194,1705392000"; d="scan'208";a="8409036" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orviesa007.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 29 Feb 2024 16:57:05 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35; Thu, 29 Feb 2024 16:57:04 -0800 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.35 via Frontend Transport; Thu, 29 Feb 2024 16:57:04 -0800 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.168) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Thu, 29 Feb 2024 16:57:03 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TZDYmB/6Frb2UOYFRhIJpjG19lLsxvHyUl2Ph7viGAZ+LmTiSCf8aBDYf6KNUasV7jTBKKBkmPZLXWXskYfObkWYgDG/XoarITJ3LSuuMFWUYveNIN+mgk7L+5QxLo2Qa0EjR6KT2UYKaCqBMQJCOCEnzxeLsURmvhlPtS66z4cnKHuuMEswERwjlPS+YCLWt0962G2CSj12SPa3CmGBqA/qXoVFw3S88o4nOiidLOe2E6XRNwBzV48swBJUdv8R7DTP+28flvgvnzU0PexzLEyqpk1tKK9R+hm3vThAXkLBxRXTB7h3mYSqfyPfdgm3oV0mhjxzDIrzuhz7Q+5DCA== 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=UAoPyp83ismdO53vdM7qerWnoKupMy27MwZE2ezKGNg=; b=iBT1QMfqeLltJcKDcBr60adThDmT5SwFe007VZ/zbBLvstEvSJWvECcMDemxca4i/SVKnIOIoupq2e5mQ/D7b8w4vybDTxp5RcOStOFCx4TXYiU5U1Pja3bHGB07DgvaXrKaFOdGfaFcdbIhPaHoQziX36OdvbMj7ACK2a1sjtu7UfK/w3CstLMtDeF0hTlDrHQ6/+x9XGGWO4KiHWgBl9FoUyI91MXeYnNINbhYQbhEcA/Aa2F2MrfauiBlshgHHe5/Rxxp4BsE0upwyBGqREWXQaSYgBY7nndJ92hqGr1HiWoORlyiILJUF8dpdgsEQ/+iW537cJowttELpaxbLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from MW4PR11MB7125.namprd11.prod.outlook.com (2603:10b6:303:219::12) by MW4PR11MB7161.namprd11.prod.outlook.com (2603:10b6:303:212::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.25; Fri, 1 Mar 2024 00:57:00 +0000 Received: from MW4PR11MB7125.namprd11.prod.outlook.com ([fe80::408e:7d88:17d0:d768]) by MW4PR11MB7125.namprd11.prod.outlook.com ([fe80::408e:7d88:17d0:d768%7]) with mapi id 15.20.7339.024; Fri, 1 Mar 2024 00:57:00 +0000 From: "Verma, Vishal L" To: "Williams, Dan J" , "linux-cxl@vger.kernel.org" CC: "Jonathan.Cameron@Huawei.com" Subject: Re: [PATCH v2] cxl/acpi: Cleanup __cxl_parse_cfmws() Thread-Topic: [PATCH v2] cxl/acpi: Cleanup __cxl_parse_cfmws() Thread-Index: AQHaaoUdn9/JfO6XZUaPkRADESD52LEiEa2A Date: Fri, 1 Mar 2024 00:57:00 +0000 Message-ID: <4a7d4c8a9fa80b42579d87d33dbe724d8f92af22.camel@intel.com> References: <170915213220.2419769.6117155173006983208.stgit@dwillia2-xfh.jf.intel.com> In-Reply-To: <170915213220.2419769.6117155173006983208.stgit@dwillia2-xfh.jf.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.50.4 (3.50.4-1.fc39) authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR11MB7125:EE_|MW4PR11MB7161:EE_ x-ms-office365-filtering-correlation-id: ba42bb61-56ed-4a3f-450b-08dc398a8083 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zH2EuyxMv5cKgvf8IHe7EyMJWMylo/P/MNsWpzoXRA+NB99U+J7JdddtyBBw3j/Eb3d3r8lweo1iBORWRJ09XMO9Xfj7Tu9gDFVmXw5qFkjZuleA14IogazGKKEjCAQ/kYtnM7OKzlMK2p5UlP5vfB5Djo+k6BiI8DmusgN6gx/gPqndbySUZkvkW1yjFW/jBZOC7IXGnA8GC21IMeVSSJoyGn5AqTbkGofKCrOCcLzEzaFqsSQuwXDKY4j8YPq41F9BFBxPk0zRzFgxUIWzHhKBEFjk9QFoWfqxpQpWbirWbPOkiFdfB2tcmkA56GBOLthSoG7/BRQrlFWC1WNnYRmikY0alPDvA1QNAcGQPbKTsr9GA0yTbDiJUXYjVW+uZaaBooAW3PxcRzdJTlZ6vuQlk+t+jvcEl9ct5Y/UK3R7ei+JgDiukt5WOc+U8g62UrGG1+M3lxmveMRfEFK16Mjrbr6MPhldZZGX91uMvR3cSF9WE3OeLhE6Q22rU3OoiTqdg8oPlk9QQc9Lyss2LNxNMDw5Dy1v8VvRQ2qznzjvtIKsVP/g/kUJrY9gEnSgvLSvE8r/PlKWq3vb3Yc8s+XOlYYPdtBKYHnMLvk1e6ItUo4E1j8h1V6cCjKbsNS9zjSTEcqqSRelvvqueZ9TAFdvzPOwD88z/LhxA2pXrCHPpyEOcwnItZr0itRlStC/ x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR11MB7125.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TXdKVVZFZ1Y3dHlWYWFBNmd3Nm1KSU5sMGtoTW5Hek81RnZyR1VUU2YyREZh?= =?utf-8?B?bVdhbDArQnIxMTRpTGI4KzhVb1ZvMGo0c3NJWnE0S1N4Y0JWbjFLQmtpUjdl?= =?utf-8?B?T0NaK0I1K3NzYVVzOWlwdmtoMG16QlpxVzNGSXdCb01GMGJMeU1ieGtqc296?= =?utf-8?B?cWtZM24xMi9PMTFVeExOaGM5YnZnOEgybWlPaUNhbDg1RXNuYUE0RHBmakts?= =?utf-8?B?ZVowcTQ3MStOdEhuNUt1WUNoYTVoUDZBY0FiS2huY3BYaHFMenAvWDRmdzd5?= =?utf-8?B?OGVMNDB0K1YyVXg5MnA0MVpxZFNmTzJsVFBoZ3RBa0dDRVdvMzVRTlRydWgv?= =?utf-8?B?WHJmU1NMSWNjb0xtK3lyUk1LZFF6clV5QUZZTEhWZWowbHBIK202Skdzb0xx?= =?utf-8?B?VlViMm5FV0YwWi9sbm9UU1VIQzVVVk01RkNnU2o1NUEyY1JFNWRUdWZGSFVs?= =?utf-8?B?UjIzTzZhUmFLait3NDU5UUVoa01kYm1oQUZQT2RTK25ldUlyY09VQWRHd2Vv?= =?utf-8?B?WDZ1UU5zUFAzZW13UldtRzlxbkVjVUw1aVh4OC8ydTZJN1AzaldZZytRUkh6?= =?utf-8?B?UndlNys4bjc5TEtZdEVBYUN3MVlzK3BnL1FmUndneDRCVjREL01ONmZydU1y?= =?utf-8?B?Rzdka0trbVRFTXBUVGhGOVdkQlBYOElhbHZMR1lKSTZxcmZ5aFlsSG9kTHcr?= =?utf-8?B?RElFb2ovbkNVRU1tM25hT1hhNDJSR1p3UDFxRHQwVmZFM2Y4Rm9hVVMybFRk?= =?utf-8?B?YUY5dkdoSTBWN0x6aUdSOEFOQjNFZWpiYzVLS2k4VW9zci8zQ05qaEIxejd0?= =?utf-8?B?UzBXL0k4M2RFZ2ZYendzYWlPS1o4THBQaFhXaFJlUDN1VHVML0NlTU54dDlL?= =?utf-8?B?SXRaVUtkL3BzdlV4NkRHODVMdVZYQ3dkYTR0ZGNSNTl3cTRuUlIySnB0ZTZO?= =?utf-8?B?WUtvRTNXYVdSd3hud2tXVHBGWk1qU0oyZ1dUenNoSzNCaVo5R2JxWmpIdEJx?= =?utf-8?B?QTVlMTVWSHAvL0FoNWRGYURIalhHNzlDZ3d0VktPejc4dXlmQ1dIdGZGUXAz?= =?utf-8?B?QnBUVWNhcW11QUxEVHp4dGcvRFF6a1h2Mzk3c3RpZ29xWE5EczhkVmRTcTY1?= =?utf-8?B?eTdEckpkWUl6U0F6eHA0UXNiT0hCV0FmRFlYQmcyMUtPMDRBRGhVcFEzczBl?= =?utf-8?B?WXNGMmQ3Z01CeTAyWFBJeE14c3dtMDZNR0tsR0FUbHYxUjFkdHFXb3h1VUR1?= =?utf-8?B?M3pFdWZuTnB5MTRDeWVacnhuRGd2NWtPNVlRYmh1K0RjVWdXYnNaeE1na1E5?= =?utf-8?B?L25zTjI1MGFlbkVPVHBQWmJaVERtWGNHd0pNSzJDMEJVakdPbUZGc3h3QU4x?= =?utf-8?B?Z3ZpU1hyWEk3akhKWTIvb2txbVRERTZwZjhvZitjUXcyQk9oaittcDd6RVB0?= =?utf-8?B?OUtIVmp4dVhZMWZNS284dTlsY1NsczE5R2h0YXVLZDBIdHpmaml6T2VRdzdL?= =?utf-8?B?QTVDNTd2alhKOVJPY3FaLzFLWVRHYjdodlY0QXhnOFBpTHRyb09JMmxUNW1P?= =?utf-8?B?ZVdLeU5NS1ZPV3M0M2xxRFRDaldSL1FlTVZCa2VCdDRndy9nRzZ6TXRMUGJV?= =?utf-8?B?dDIxSDhxZk5vdTQ4L05MS3QyYXpRK3VaZHpNc1MvWHg0ZlJwYUluUUZ5aUJh?= =?utf-8?B?NDFrb2F4WXhQZGoxU2tkajRSU3lvS0lBcldYYVM5bW9odHphRTlzby8vOFFl?= =?utf-8?B?UmhkU0pKMEs0ODM5eTBSUDBrMGxTQlppQnYxNHZobS9VSEptb2JMUnFyTjZY?= =?utf-8?B?TmNFbmU3cEQrWFg5Y3kxcUxsdXNYbmYrYXVmRkQ1bUZxaU4xMnl2eFBheDIy?= =?utf-8?B?dTFreS9mRkFhU2NDZWJ2bXgyRmpab2U2OGpyeVR1VmhxcEphQ1lWcjlWNE5W?= =?utf-8?B?TmU3TDdqR0xyNkQwMVlZYkV4ODh1dVQzN25NR0FpTC9sWXFGMzJ3aDdZbURi?= =?utf-8?B?SVdGSEpZMXFXeTBGUFVpVXRBbDhPYlNjemRVbXVnakJicXdaREcvUFVWNHR4?= =?utf-8?B?S0Jxa3U1OE1FRlZiTzZ1M0E3TFlyVmd0YmdLTmx6dFVOa25JYjV6aXduWUl0?= =?utf-8?B?aEFyOXhFS3ZCZkhoVkdaVVNEWnYvV3Z0V0JTZXZad2VURkdSejcvQlhnTTgv?= =?utf-8?B?RUE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <309E8465F860254D916A8AC7096808CF@namprd11.prod.outlook.com> Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-cxl@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR11MB7125.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ba42bb61-56ed-4a3f-450b-08dc398a8083 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2024 00:57:00.3787 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: znQ/6M1LAeCZ/6igi53fymljHIeVYR62GPH0juS4S6ClcG+fPCm64TQLihX1SJxz2/IS19LzYdG6Vqb7PwS++K/lMgCfCvRmjMebhuV6Lyo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB7161 X-OriginatorOrg: intel.com T24gV2VkLCAyMDI0LTAyLTI4IGF0IDEyOjMwIC0wODAwLCBEYW4gV2lsbGlhbXMgd3JvdGU6DQo+ IEFzIGEgZm9sbG93IG9uIHRvIHRoZSByZWNlbnQgcmV3b3JrIG9mIF9fY3hsX3BhcnNlX2NmbXdz KCkgdG8gYWx3YXlzDQo+IHJldHVybiBlcnJvcnMgWzFdLCB1c2UgY2xlYW51cC5oIGhlbHBlcnMg dG8gcmVtb3ZlIGdvdG8gYW5kIG90aGVyIGNsZWFudXBzDQo+IG5vdyB0aGF0IGxvZ2dpbmcgaXMg bW92ZWQgdG8gdGhlIGN4bF9wYXJzZV9jZm13cygpIHdyYXBwZXIuDQo+IA0KPiBUaGlzIGVuZHMg dXAgYWRkaW5nIG1vcmUgY29kZSB0aGFuIGl0IGRlbGV0ZXMsIGJ1dCBfX2N4bF9wYXJzZV9jZm13 cygpDQo+IGl0c2VsZiBkb2VzIGdldCBzbWFsbGVyLiBUaGUgdGFrZWF3YXkgZnJvbSB0aGUgY29u ZF9ub19mcmVlX3B0cigpDQo+IGRpc2N1c3Npb24gWzJdIHdhcyB0byBub3QgYWRkIG5ldyBtYWNy b3MgdG8gaGFuZGxlIHRoZSBjYXNlcyB3aGVyZQ0KPiBub19mcmVlX3B0cigpIGlzIGF3a3dhcmQs IGluc3RlYWQgcmV3b3JrIHRoZSBjb2RlIHRvIGhhdmUgaGVscGVycyBhbmQNCj4gY2xlYXJlciBk ZWxpbmVhdGlvbiBvZiByZXNwb25zaWJpbGl0eS4NCj4gDQo+IE5vdyBvbmUgbWlnaHQgc2F5IHRo YXTCoCBfX2ZyZWUoZGVsX2N4bF9yZXNvdXJjZSkgaXMgZXhjZXNzaXZlIGdpdmVuIGl0DQo+IGlz IGltbWVkaWF0ZWx5IHJlZ2lzdGVyZWQgd2l0aCBhZGRfb3JfcmVzZXRfY3hsX3Jlc291cmNlKCku IFRoZQ0KPiByYXRpb25hbGUgZm9yIGtlZXBpbmcgaXQgaXMgdGhhdCBpdCBmb3JjZXMgdXNlIG9m ICJub19mcmVlX3B0cigpIiBvbiB0aGUNCj4gYXJndW1lbnQgcGFzc2VkIHRvIGFkZF9vcl9yZXNl dF9jeGxfcmVzb3VyY2UoKS4gVGhhdCBpbiB0dXJuIG1ha2VzIGl0DQo+IGNsZWFyIHRoYXQgQHJl cyBpcyBOVUxMIGZvciB0aGUgcmVzdCBvZiB0aGUgZnVuY3Rpb24gd2hpY2ggaXMgcGFydCBvZg0K PiB0aGUgcG9pbnQgb2YgdGhlIGNsZWFudXAgaGVscGVycywgdG8gdHVybiBzdWJ0bGUgdXNlIGFm dGVyIGZyZWUgZXJyb3JzDQo+IFszXSBpbnRvIGxvdWQgTlVMTCBwb2ludGVyIGRlLXJlZmVyZW5j ZXMuDQo+IA0KPiBMaW5rOiBodHRwOi8vbG9yZS5rZXJuZWwub3JnL3IvMTcwODIwMTc3MjM4LjYz MTAwNi4xMDEyNjM5NjgxNjE4NDA5Mjg0LnN0Z2l0QGR3aWxsaWEyLXhmaC5qZi5pbnRlbC5jb23C oFsxXQ0KPiBMaW5rOiBodHRwOi8vbG9yZS5rZXJuZWwub3JnL3IvQ0FIay09d2hCVmhuaD1LU2VC QlJldD1FN3FKQXduUFJfYWo1ZW0xODdRM0ZpRCtMWG5BQG1haWwuZ21haWwuY29twqBbMl0NCj4g TGluazogaHR0cDovL2xvcmUua2VybmVsLm9yZy9yLzIwMjMwNzE0MDkzMTQ2LjIyNTM0MzgtMS1s ZWl0YW9AZGViaWFuLm9yZ8KgWzNdDQo+IFJlcG9ydGVkLWJ5OiBKb25hdGhhbiBDYW1lcm9uIDxK b25hdGhhbi5DYW1lcm9uQEh1YXdlaS5jb20+DQo+IENsb3NlczogaHR0cDovL2xvcmUua2VybmVs Lm9yZy9yLzIwMjQwMjE5MTI0MDQxLjAwMDAyYmRhQEh1YXdlaS5jb20NCj4gU2lnbmVkLW9mZi1i eTogRGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+DQoNClRoZSBoZWxwZXJz IG1ha2Ugc2Vuc2UsIGFuZCBvdmVyYWxsIGxvb2tzIGdvb2QgdG8gbWUuDQoNClJldmlld2VkLWJ5 OiBWaXNoYWwgVmVybWEgPHZpc2hhbC5sLnZlcm1hQGludGVsLmNvbT4NCg0KPiAtLS0NCj4gQ2hh bmdlcyBzaW5jZSB2MToNCj4gLSBkcm9wIHRoZSBpbnRyb2R1Y3Rpb24gb2YgY29uZF9ub19mcmVl X3B0cigpIGluIGZhdm9yIG9mIHJlb3JnYW5pemluZw0KPiDCoCB0aGUgY29kZSB0byBjbGFyaWZ5 IHRoZSBoYW5kb2ZmIG9mICJmcmVlIG9uIGVycm9yIiByZXNwb25zaWJpbGl0eS4NCj4gDQo+IMKg ZHJpdmVycy9jeGwvYWNwaS5jIHzCoMKgIDk5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gwqBkcml2ZXJzL2N4bC9jeGwuaMKgIHzCoMKgwqAg NSArKysNCj4gwqAyIGZpbGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9u cygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3hsL2FjcGkuYyBiL2RyaXZlcnMvY3hs L2FjcGkuYw0KPiBpbmRleCAxYTNlNmFhZmJkY2MuLjFhNDcyMDc5MzJlMiAxMDA2NDQNCj4gLS0t IGEvZHJpdmVycy9jeGwvYWNwaS5jDQo+ICsrKyBiL2RyaXZlcnMvY3hsL2FjcGkuYw0KPiBAQCAt MzE2LDI4ICszMTYsNjQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjeGxfcm9vdF9vcHMgYWNwaV9y b290X29wcyA9IHsNCj4gwqAJLnFvc19jbGFzcyA9IGN4bF9hY3BpX3Fvc19jbGFzcywNCj4gwqB9 Ow0KPiDCoA0KPiArc3RhdGljIHZvaWQgZGVsX2N4bF9yZXNvdXJjZShzdHJ1Y3QgcmVzb3VyY2Ug KnJlcykNCj4gK3sNCj4gKwlpZiAoIXJlcykNCj4gKwkJcmV0dXJuOw0KPiArCWtmcmVlKHJlcy0+ bmFtZSk7DQo+ICsJa2ZyZWUocmVzKTsNCj4gK30NCj4gKw0KPiArc3RhdGljIHN0cnVjdCByZXNv dXJjZSAqYWxsb2NfY3hsX3Jlc291cmNlKHJlc291cmNlX3NpemVfdCBiYXNlLA0KPiArCQkJCQnC oMKgIHJlc291cmNlX3NpemVfdCBuLCBjb25zdCBjaGFyICpmbXQsDQo+ICsJCQkJCcKgwqAgLi4u KQ0KPiArew0KPiArCXZhX2xpc3QgYXA7DQo+ICsNCj4gKwlzdHJ1Y3QgcmVzb3VyY2UgKnJlcyBf X2ZyZWUoa2ZyZWUpID0ga3phbGxvYyhzaXplb2YoKnJlcyksIEdGUF9LRVJORUwpOw0KPiArCWlm ICghcmVzKQ0KPiArCQlyZXR1cm4gTlVMTDsNCj4gKw0KPiArCXJlcy0+c3RhcnQgPSBiYXNlOw0K PiArCXJlcy0+ZW5kID0gYmFzZSArIG4gLSAxOw0KPiArCXJlcy0+ZmxhZ3MgPSBJT1JFU09VUkNF X01FTTsNCj4gKw0KPiArCXZhX3N0YXJ0KGFwLCBmbXQpOw0KPiArCXJlcy0+bmFtZSA9IGt2YXNw cmludGYoR0ZQX0tFUk5FTCwgZm10LCBhcCk7DQo+ICsJdmFfZW5kKGFwKTsNCj4gKw0KPiArCWlm ICghcmVzLT5uYW1lKQ0KPiArCQlyZXR1cm4gTlVMTDsNCj4gKwlyZXR1cm4gbm9fZnJlZV9wdHIo cmVzKTsNCj4gK30NCj4gKw0KPiArc3RhdGljIGludCBhZGRfb3JfcmVzZXRfY3hsX3Jlc291cmNl KHN0cnVjdCByZXNvdXJjZSAqcGFyZW50LCBzdHJ1Y3QgcmVzb3VyY2UgKnJlcykNCj4gK3sNCj4g KwlpbnQgcmMgPSBpbnNlcnRfcmVzb3VyY2UocGFyZW50LCByZXMpOw0KPiArDQo+ICsJaWYgKHJj KQ0KPiArCQlkZWxfY3hsX3Jlc291cmNlKHJlcyk7DQo+ICsJcmV0dXJuIHJjOw0KPiArfQ0KPiAr DQo+ICtERUZJTkVfRlJFRShwdXRfY3hscmQsIHN0cnVjdCBjeGxfcm9vdF9kZWNvZGVyICosDQo+ ICsJwqDCoMKgIGlmICghSVNfRVJSX09SX05VTEwoX1QpKSBwdXRfZGV2aWNlKCZfVC0+Y3hsc2Qu Y3hsZC5kZXYpKQ0KPiArREVGSU5FX0ZSRUUoZGVsX2N4bF9yZXNvdXJjZSwgc3RydWN0IHJlc291 cmNlICosIGlmIChfVCkgZGVsX2N4bF9yZXNvdXJjZShfVCkpDQo+IMKgc3RhdGljIGludCBfX2N4 bF9wYXJzZV9jZm13cyhzdHJ1Y3QgYWNwaV9jZWR0X2NmbXdzICpjZm13cywNCj4gwqAJCQnCoMKg wqDCoCBzdHJ1Y3QgY3hsX2NmbXdzX2NvbnRleHQgKmN0eCkNCj4gwqB7DQo+IMKgCWludCB0YXJn ZXRfbWFwW0NYTF9ERUNPREVSX01BWF9JTlRFUkxFQVZFXTsNCj4gwqAJc3RydWN0IGN4bF9wb3J0 ICpyb290X3BvcnQgPSBjdHgtPnJvb3RfcG9ydDsNCj4gLQlzdHJ1Y3QgcmVzb3VyY2UgKmN4bF9y ZXMgPSBjdHgtPmN4bF9yZXM7DQo+IMKgCXN0cnVjdCBjeGxfY3hpbXNfY29udGV4dCBjeGltc19j dHg7DQo+IC0Jc3RydWN0IGN4bF9yb290X2RlY29kZXIgKmN4bHJkOw0KPiDCoAlzdHJ1Y3QgZGV2 aWNlICpkZXYgPSBjdHgtPmRldjsNCj4gwqAJY3hsX2NhbGNfaGJfZm4gY3hsX2NhbGNfaGI7DQo+ IMKgCXN0cnVjdCBjeGxfZGVjb2RlciAqY3hsZDsNCj4gwqAJdW5zaWduZWQgaW50IHdheXMsIGks IGlnOw0KPiAtCXN0cnVjdCByZXNvdXJjZSAqcmVzOw0KPiDCoAlpbnQgcmM7DQo+IMKgDQo+IMKg CXJjID0gY3hsX2FjcGlfY2Ztd3NfdmVyaWZ5KGRldiwgY2Ztd3MpOw0KPiAtCWlmIChyYykgew0K PiAtCQlkZXZfZXJyKGRldiwgIkNGTVdTIHJhbmdlICUjbGx4LSUjbGx4IG5vdCByZWdpc3RlcmVk XG4iLA0KPiAtCQkJY2Ztd3MtPmJhc2VfaHBhLA0KPiAtCQkJY2Ztd3MtPmJhc2VfaHBhICsgY2Zt d3MtPndpbmRvd19zaXplIC0gMSk7DQo+ICsJaWYgKHJjKQ0KPiDCoAkJcmV0dXJuIHJjOw0KPiAt CX0NCj4gwqANCj4gwqAJcmMgPSBlaXdfdG9fd2F5cyhjZm13cy0+aW50ZXJsZWF2ZV93YXlzLCAm d2F5cyk7DQo+IMKgCWlmIChyYykNCj4gQEAgLTM0OCwyOSArMzg0LDI0IEBAIHN0YXRpYyBpbnQg X19jeGxfcGFyc2VfY2Ztd3Moc3RydWN0IGFjcGlfY2VkdF9jZm13cyAqY2Ztd3MsDQo+IMKgCWZv ciAoaSA9IDA7IGkgPCB3YXlzOyBpKyspDQo+IMKgCQl0YXJnZXRfbWFwW2ldID0gY2Ztd3MtPmlu dGVybGVhdmVfdGFyZ2V0c1tpXTsNCj4gwqANCj4gLQlyZXMgPSBremFsbG9jKHNpemVvZigqcmVz KSwgR0ZQX0tFUk5FTCk7DQo+ICsJc3RydWN0IHJlc291cmNlICpyZXMgX19mcmVlKGRlbF9jeGxf cmVzb3VyY2UpID0NCj4gKwkJYWxsb2NfY3hsX3Jlc291cmNlKGNmbXdzLT5iYXNlX2hwYSwgY2Zt d3MtPndpbmRvd19zaXplLA0KPiArCQkJCcKgwqAgIkNYTCBXaW5kb3cgJWQiLCBjdHgtPmlkKysp Ow0KPiDCoAlpZiAoIXJlcykNCj4gwqAJCXJldHVybiAtRU5PTUVNOw0KPiDCoA0KPiAtCXJlcy0+ bmFtZSA9IGthc3ByaW50ZihHRlBfS0VSTkVMLCAiQ1hMIFdpbmRvdyAlZCIsIGN0eC0+aWQrKyk7 DQo+IC0JaWYgKCFyZXMtPm5hbWUpDQo+IC0JCWdvdG8gZXJyX25hbWU7DQo+IC0NCj4gLQlyZXMt PnN0YXJ0ID0gY2Ztd3MtPmJhc2VfaHBhOw0KPiAtCXJlcy0+ZW5kID0gY2Ztd3MtPmJhc2VfaHBh ICsgY2Ztd3MtPndpbmRvd19zaXplIC0gMTsNCj4gLQlyZXMtPmZsYWdzID0gSU9SRVNPVVJDRV9N RU07DQo+IC0NCj4gwqAJLyogYWRkIHRvIHRoZSBsb2NhbCByZXNvdXJjZSB0cmFja2luZyB0byBl c3RhYmxpc2ggYSBzb3J0IG9yZGVyICovDQo+IC0JcmMgPSBpbnNlcnRfcmVzb3VyY2UoY3hsX3Jl cywgcmVzKTsNCj4gKwlyYyA9IGFkZF9vcl9yZXNldF9jeGxfcmVzb3VyY2UoY3R4LT5jeGxfcmVz LCBub19mcmVlX3B0cihyZXMpKTsNCj4gwqAJaWYgKHJjKQ0KPiAtCQlnb3RvIGVycl9pbnNlcnQ7 DQo+ICsJCXJldHVybiByYzsNCj4gwqANCj4gwqAJaWYgKGNmbXdzLT5pbnRlcmxlYXZlX2FyaXRo bWV0aWMgPT0gQUNQSV9DRURUX0NGTVdTX0FSSVRITUVUSUNfTU9EVUxPKQ0KPiDCoAkJY3hsX2Nh bGNfaGIgPSBjeGxfaGJfbW9kdWxvOw0KPiDCoAllbHNlDQo+IMKgCQljeGxfY2FsY19oYiA9IGN4 bF9oYl94b3I7DQo+IMKgDQo+IC0JY3hscmQgPSBjeGxfcm9vdF9kZWNvZGVyX2FsbG9jKHJvb3Rf cG9ydCwgd2F5cywgY3hsX2NhbGNfaGIpOw0KPiArCXN0cnVjdCBjeGxfcm9vdF9kZWNvZGVyICpj eGxyZCBfX2ZyZWUocHV0X2N4bHJkKSA9DQo+ICsJCWN4bF9yb290X2RlY29kZXJfYWxsb2Mocm9v dF9wb3J0LCB3YXlzLCBjeGxfY2FsY19oYik7DQo+IMKgCWlmIChJU19FUlIoY3hscmQpKQ0KPiDC oAkJcmV0dXJuIFBUUl9FUlIoY3hscmQpOw0KPiDCoA0KPiBAQCAtMzc4LDggKzQwOSw4IEBAIHN0 YXRpYyBpbnQgX19jeGxfcGFyc2VfY2Ztd3Moc3RydWN0IGFjcGlfY2VkdF9jZm13cyAqY2Ztd3Ms DQo+IMKgCWN4bGQtPmZsYWdzID0gY2Ztd3NfdG9fZGVjb2Rlcl9mbGFncyhjZm13cy0+cmVzdHJp Y3Rpb25zKTsNCj4gwqAJY3hsZC0+dGFyZ2V0X3R5cGUgPSBDWExfREVDT0RFUl9IT1NUT05MWU1F TTsNCj4gwqAJY3hsZC0+aHBhX3JhbmdlID0gKHN0cnVjdCByYW5nZSkgew0KPiAtCQkuc3RhcnQg PSByZXMtPnN0YXJ0LA0KPiAtCQkuZW5kID0gcmVzLT5lbmQsDQo+ICsJCS5zdGFydCA9IGNmbXdz LT5iYXNlX2hwYSwNCj4gKwkJLmVuZCA9IGNmbXdzLT5iYXNlX2hwYSArIGNmbXdzLT53aW5kb3df c2l6ZSAtIDEsDQo+IMKgCX07DQo+IMKgCWN4bGQtPmludGVybGVhdmVfd2F5cyA9IHdheXM7DQo+ IMKgCS8qDQo+IEBAIC0zOTksMTEgKzQzMCwxMCBAQCBzdGF0aWMgaW50IF9fY3hsX3BhcnNlX2Nm bXdzKHN0cnVjdCBhY3BpX2NlZHRfY2Ztd3MgKmNmbXdzLA0KPiDCoAkJCXJjID0gYWNwaV90YWJs ZV9wYXJzZV9jZWR0KEFDUElfQ0VEVF9UWVBFX0NYSU1TLA0KPiDCoAkJCQkJCcKgwqAgY3hsX3Bh cnNlX2N4aW1zLCAmY3hpbXNfY3R4KTsNCj4gwqAJCQlpZiAocmMgPCAwKQ0KPiAtCQkJCWdvdG8g ZXJyX3hvcm1hcDsNCj4gKwkJCQlyZXR1cm4gcmM7DQo+IMKgCQkJaWYgKCFjeGxyZC0+cGxhdGZv cm1fZGF0YSkgew0KPiDCoAkJCQlkZXZfZXJyKGRldiwgIk5vIENYSU1TIGZvciBIQklHICV1XG4i LCBpZyk7DQo+IC0JCQkJcmMgPSAtRUlOVkFMOw0KPiAtCQkJCWdvdG8gZXJyX3hvcm1hcDsNCj4g KwkJCQlyZXR1cm4gLUVJTlZBTDsNCj4gwqAJCQl9DQo+IMKgCQl9DQo+IMKgCX0NCj4gQEAgLTQx MSwxOCArNDQxLDkgQEAgc3RhdGljIGludCBfX2N4bF9wYXJzZV9jZm13cyhzdHJ1Y3QgYWNwaV9j ZWR0X2NmbXdzICpjZm13cywNCj4gwqAJY3hscmQtPnFvc19jbGFzcyA9IGNmbXdzLT5xdGdfaWQ7 DQo+IMKgDQo+IMKgCXJjID0gY3hsX2RlY29kZXJfYWRkKGN4bGQsIHRhcmdldF9tYXApOw0KPiAt ZXJyX3hvcm1hcDoNCj4gwqAJaWYgKHJjKQ0KPiAtCQlwdXRfZGV2aWNlKCZjeGxkLT5kZXYpOw0K PiAtCWVsc2UNCj4gLQkJcmMgPSBjeGxfZGVjb2Rlcl9hdXRvcmVtb3ZlKGRldiwgY3hsZCk7DQo+ IC0JcmV0dXJuIHJjOw0KPiAtDQo+IC1lcnJfaW5zZXJ0Og0KPiAtCWtmcmVlKHJlcy0+bmFtZSk7 DQo+IC1lcnJfbmFtZToNCj4gLQlrZnJlZShyZXMpOw0KPiAtCXJldHVybiAtRU5PTUVNOw0KPiAr CQlyZXR1cm4gcmM7DQo+ICsJcmV0dXJuIGN4bF9yb290X2RlY29kZXJfYXV0b3JlbW92ZShkZXYs IG5vX2ZyZWVfcHRyKGN4bHJkKSk7DQo+IMKgfQ0KPiDCoA0KPiDCoHN0YXRpYyBpbnQgY3hsX3Bh cnNlX2NmbXdzKHVuaW9uIGFjcGlfc3VidGFibGVfaGVhZGVycyAqaGVhZGVyLCB2b2lkICphcmcs DQo+IEBAIC02OTIsMTIgKzcxMyw2IEBAIHN0YXRpYyB2b2lkIGN4bF9hY3BpX2xvY2tfcmVzZXRf Y2xhc3Modm9pZCAqZGV2KQ0KPiDCoAlkZXZpY2VfbG9ja19yZXNldF9jbGFzcyhkZXYpOw0KPiDC oH0NCj4gwqANCj4gLXN0YXRpYyB2b2lkIGRlbF9jeGxfcmVzb3VyY2Uoc3RydWN0IHJlc291cmNl ICpyZXMpDQo+IC17DQo+IC0Ja2ZyZWUocmVzLT5uYW1lKTsNCj4gLQlrZnJlZShyZXMpOw0KPiAt fQ0KPiAtDQo+IMKgc3RhdGljIHZvaWQgY3hsX3NldF9wdWJsaWNfcmVzb3VyY2Uoc3RydWN0IHJl c291cmNlICpwcml2LCBzdHJ1Y3QgcmVzb3VyY2UgKnB1YikNCj4gwqB7DQo+IMKgCXByaXYtPmRl c2MgPSAodW5zaWduZWQgbG9uZykgcHViOw0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jeGwvY3hs LmggYi9kcml2ZXJzL2N4bC9jeGwuaA0KPiBpbmRleCAwMDNmZWViYWI3OWIuLjhiYzA0NGE0YTk2 NSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9jeGwvY3hsLmgNCj4gKysrIGIvZHJpdmVycy9jeGwv Y3hsLmgNCj4gQEAgLTc3Niw2ICs3NzYsMTEgQEAgaW50IGN4bF9kZWNvZGVyX2FkZChzdHJ1Y3Qg Y3hsX2RlY29kZXIgKmN4bGQsIGludCAqdGFyZ2V0X21hcCk7DQo+IMKgc3RydWN0IGN4bF9lbmRw b2ludF9kZWNvZGVyICpjeGxfZW5kcG9pbnRfZGVjb2Rlcl9hbGxvYyhzdHJ1Y3QgY3hsX3BvcnQg KnBvcnQpOw0KPiDCoGludCBjeGxfZGVjb2Rlcl9hZGRfbG9ja2VkKHN0cnVjdCBjeGxfZGVjb2Rl ciAqY3hsZCwgaW50ICp0YXJnZXRfbWFwKTsNCj4gwqBpbnQgY3hsX2RlY29kZXJfYXV0b3JlbW92 ZShzdHJ1Y3QgZGV2aWNlICpob3N0LCBzdHJ1Y3QgY3hsX2RlY29kZXIgKmN4bGQpOw0KPiArc3Rh dGljIGlubGluZSBpbnQgY3hsX3Jvb3RfZGVjb2Rlcl9hdXRvcmVtb3ZlKHN0cnVjdCBkZXZpY2Ug Kmhvc3QsDQo+ICsJCQkJCcKgwqDCoMKgwqAgc3RydWN0IGN4bF9yb290X2RlY29kZXIgKmN4bHJk KQ0KPiArew0KPiArCXJldHVybiBjeGxfZGVjb2Rlcl9hdXRvcmVtb3ZlKGhvc3QsICZjeGxyZC0+ Y3hsc2QuY3hsZCk7DQo+ICt9DQo+IMKgaW50IGN4bF9lbmRwb2ludF9hdXRvcmVtb3ZlKHN0cnVj dCBjeGxfbWVtZGV2ICpjeGxtZCwgc3RydWN0IGN4bF9wb3J0ICplbmRwb2ludCk7DQo+IMKgDQo+ IMKgLyoqDQo+IA0KPiANCg==