From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id B0AECC636D6 for ; Thu, 9 Feb 2023 19:45:14 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 474E66B0078; Thu, 9 Feb 2023 14:45:14 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 424436B007B; Thu, 9 Feb 2023 14:45:14 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 277496B007D; Thu, 9 Feb 2023 14:45:14 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 1117A6B0078 for ; Thu, 9 Feb 2023 14:45:14 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id C2472141003 for ; Thu, 9 Feb 2023 19:45:13 +0000 (UTC) X-FDA: 80448782106.17.97F1AD2 Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by imf17.hostedemail.com (Postfix) with ESMTP id F1A524001B for ; Thu, 9 Feb 2023 19:45:08 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=WDc2+yBf; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf17.hostedemail.com: domain of vishal.l.verma@intel.com designates 192.55.52.136 as permitted sender) smtp.mailfrom=vishal.l.verma@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1675971910; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=fOmfSTJli1LAcQrszaV7bJ6GEw1GVgYfN/nFhjMTkV4=; b=wgYEl08YTun/7jn+834Vk32hB9JHAw1T5j83hj3bSniyJglytBfAS8kgnwDis4bEvXp85o TtyJTQwK2ob2bo8tSVmpoKY3BXwcsed62JWP1NKLnko783kg4niW0n10ny7IpyL8GFSj0O QYQYx8mTsc/+rJuZC7v1MP7ZXb667ro= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=WDc2+yBf; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf17.hostedemail.com: domain of vishal.l.verma@intel.com designates 192.55.52.136 as permitted sender) smtp.mailfrom=vishal.l.verma@intel.com; dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1675971910; a=rsa-sha256; cv=pass; b=1W/lbpqaPUxQ5DGXyobTB3IdtpYCsAFMPto3rl03MoUY8JuSV6rlSE06tH2scibWY42+zF nrvf0tdZ/ybVwi7cOj5W3N88GYs5AZdSjVA8AYKxqyUPzX3rQua+FssxetA9dR4gCu2VyV 68zB3zC8gdGAfw99e8xPBOPursZE/gk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1675971909; x=1707507909; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=fOmfSTJli1LAcQrszaV7bJ6GEw1GVgYfN/nFhjMTkV4=; b=WDc2+yBfmXVKAa78o3v1QiJl7GswGdq400d3Y6t4OvakiaeNlRpLqXvI jp9RsFeLbKg7HmaCegFcECkWSZSUyaiu2J5JPyVg88hqxuJY/yOor5FPW 6MTGzu75VgP7zCnk7UScGJJ0qTNlrcPaXR2Hb6eKxnRVOFGyQ8yzz47IO wVM9G3AKnR3V/QcDdjmiaYkloAG1eS0wJbscsi0zX8l6Bh18eiMikZV0K PcDatQ+aHQm1YDw5VIy8WEiqRM4QAnB9nR/zHQc4FEN+ButQcyxHfMqad kxpjCogt2FNhS7K6kJJF+67j/kHK9E5cuCjBB8RSJbw2gEPmDnNDFxGuQ g==; X-IronPort-AV: E=McAfee;i="6500,9779,10616"; a="309863933" X-IronPort-AV: E=Sophos;i="5.97,284,1669104000"; d="scan'208";a="309863933" Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Feb 2023 11:45:06 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10616"; a="841770135" X-IronPort-AV: E=Sophos;i="5.97,284,1669104000"; d="scan'208";a="841770135" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga005.jf.intel.com with ESMTP; 09 Feb 2023 11:45:04 -0800 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Thu, 9 Feb 2023 11:45:03 -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.16 via Frontend Transport; Thu, 9 Feb 2023 11:45:03 -0800 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.102) 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.16; Thu, 9 Feb 2023 11:45:03 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nKqZVI87/Ao9HgvX7TNYVP3fMzIAVrgZ8cAJDDAS4nVYc7mPxwc+0hJg8yClFRl20hx7RyfHIdygwPtNdzKgrtMeAYpmKIp8yJ5G9pwc6/9/hn/VHJ7zDcoOABZpKIxCJc69Y5VAnTmUdjl78k4vtFnbiN8t8nMjE2mJZdenGgZC0ctP7ERvlCg4IfBSFbST9wBYkwHTrAZuWMQjrh5ow1soFacQqWTkdwwWER8jpRQoiomBBgice651RDBSg6ML2PtungEX5d5noZ3kei+ShuoWi7WnHYUV4e+xet1Rm+J/nQsCNm5xmBdQcmplfV5vy3bhh8RiRQe2VIC31RsE5w== 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=fOmfSTJli1LAcQrszaV7bJ6GEw1GVgYfN/nFhjMTkV4=; b=Cl6ghsi4IHq+e3pd1SOfczi7PkA184dM+NRN3UXqxsyfvN59EFLlNfchTOFIL7Ke8vfBvVaJ0NLfmHSWX9vTyuFDj38bzraLP1GwtEKcdbovFaPQf3KEKjz857mCHnk5FSfRaN8FQ1ZZZ9xDGxCsSQ9+REx8fgYtGQlYHHNUiv2teMND/4JugVrHQSCCRQaH99PFsEPMCDErkpWoNPkmYTaFSMulZ4kXauzBOV+tgn0xT+u8NXkQ+S6KgmSTjk2WuwnVDnOjtQmOW6ISND/FaC0E1tZnSsopdeuDXQhr+0YKW5DXmpfiaiicL6rScHAbbXG333g6ExtTjB2AHxhP3A== 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 MN2PR11MB3999.namprd11.prod.outlook.com (2603:10b6:208:154::32) by SJ1PR11MB6203.namprd11.prod.outlook.com (2603:10b6:a03:45a::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6086.17; Thu, 9 Feb 2023 19:45:01 +0000 Received: from MN2PR11MB3999.namprd11.prod.outlook.com ([fe80::35af:d7a8:8484:627]) by MN2PR11MB3999.namprd11.prod.outlook.com ([fe80::35af:d7a8:8484:627%5]) with mapi id 15.20.6086.017; Thu, 9 Feb 2023 19:45:01 +0000 From: "Verma, Vishal L" To: "Williams, Dan J" , "linux-cxl@vger.kernel.org" CC: "linux-mm@kvack.org" , "dave.hansen@linux.intel.com" , "linux-acpi@vger.kernel.org" Subject: Re: [PATCH 07/18] cxl/region: Move region-position validation to a helper Thread-Topic: [PATCH 07/18] cxl/region: Move region-position validation to a helper Thread-Index: AQHZOcbMOL0tD3opdkWuWFQ3DkAvs67HCm0A Date: Thu, 9 Feb 2023 19:45:00 +0000 Message-ID: <4c4d7efe4d17e9160beb58bc2fcb7e35ba35ed91.camel@intel.com> References: <167564534874.847146.5222419648551436750.stgit@dwillia2-xfh.jf.intel.com> <167564538779.847146.8356062886811511706.stgit@dwillia2-xfh.jf.intel.com> In-Reply-To: <167564538779.847146.8356062886811511706.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.46.3 (3.46.3-1.fc37) x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR11MB3999:EE_|SJ1PR11MB6203:EE_ x-ms-office365-filtering-correlation-id: da51da2b-0b74-4794-a094-08db0ad621b2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: clcE77Q7HAmKIIbo3BHhFc8fUErV0MFdJWIr+y3hPtuoM/1JLiffwz//N5meDdDs+I4LHZdSlq/Qt/TqX+enQnTgSId4GCSxyJ1OA3nFBxlPrb0k5EmwpWZa+3r3XfOdWAHe1pphCE+nNXLA618yP1ikW5n209McywXCYce3gGUlSHNQFkppYsbu3/VDT6qSk1wPV0Em5JlLTyllYlbcboNH6FjxlXxeOagngfhWwRS6OAAQBMbaftXg9BxKcu7r1Z1GVvXGJNSwjaME6eaXUMOWp/pdUR8NMw/2caqUxJrawuu+RLPnDmns11RoaIUU/7t8BOb4wRAavxTg+/E034Ms27dJKpMC1yb3kXrzKiVNPUTuRbrH7bWdy99nlBkc/h+Q7r4sgGO2K2fgjWvUWgxJqQMXfpdUftgOJFu96lL1bYwOiEobmkAlq8jt7LPE2/m0C4F/qHrAV1g09VLPSc3rqQJ4R9XyauOMV3c0tS6D9UR2b4umLIZGMMDHlqZbDXR9v8sMCXIZxWqdnYsKEsnlU8TWjc/wdsebqqlhBmM7qBYDIYTIQVPdOjBFD1P4mWhSq16YsFsHr6zDiktc9GIwnchaBUg2wU6TC3VkoJQ7mm1ea5ahHxzYq/EMLWQXaUafZLTS76XUT81fnsmFvdrCmo2p2SHjiLsYgd839Fs8T2qsQ0Cl01Dvi3eCj40LZp9zhpniwG1hpmy5uS0FLw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB3999.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(366004)(136003)(39860400002)(376002)(396003)(346002)(451199018)(26005)(6512007)(186003)(8936002)(316002)(2906002)(38100700002)(110136005)(5660300002)(122000001)(6506007)(82960400001)(54906003)(86362001)(2616005)(83380400001)(76116006)(36756003)(478600001)(66476007)(91956017)(4326008)(6486002)(66946007)(38070700005)(66556008)(66446008)(41300700001)(71200400001)(8676002)(64756008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aTlaTmE2ZExZQWRLdnJad1V1Rk5qM1VVaHdkenY1WEQyenRZTERFU2ZLNnZp?= =?utf-8?B?eWxDNVNDeWNnaVpRVmF6eFB6dFl2MnNGWU1QNWdES0VqTCtzamo4dW0zUDJn?= =?utf-8?B?ZjhOQmdIdnA0d1l6a3czVXRlbDJrWndWd3B2Sm5rL054dlJFRkJiUGt4THlU?= =?utf-8?B?NkpSTlVTK2FUUmYydzVZY0lZZ0FvdS9vZHJYaDRZZHRZdE1mb2JNM2NmeXV2?= =?utf-8?B?UzJQUTMyZUdoV2ZBVkFYR04zMUwwVTVCTjVqOStVRDNFbGo3bFRrNVVPVWZk?= =?utf-8?B?d2NHQ29GM3l0c1FlVENQbEIzNU1HRmNNcElzaXlrVzBrQkpMalR2WGZ5djZW?= =?utf-8?B?VTc2aTdpOE5PdktPeTBZdXVVd2NGVkU4VGdDdUFPTm9tYU9KS1FPSi85MnZs?= =?utf-8?B?YndDb0h1UmM5cUsxQmlDeTY1bFd5VEJSRGtLWk4vWjY0Y2lDVVRkeHFOM1VG?= =?utf-8?B?emVXUTAzV2Fwb3lGUXhab0hXNlJVekpzSmJKbHRBODVQYVBXb2lSMmExU3lk?= =?utf-8?B?bkx4OVlOYkhnN2RIZER6VVJtbWo4SHVMR0xVc2k5ejhiajA1ZUdaYnV0aTV0?= =?utf-8?B?a0Y0T1VRbHVQNGNlYmxMWFZENmJPdUVEY1Z2Y2JJckkrSE12dHorT0laQmhq?= =?utf-8?B?ZlhiaXd0RE9FaHV2QTlsSzNiWWZJUnRZTkJtTE8zajVZb3JIOVpVRkNEUHp3?= =?utf-8?B?UHI3Z2RLQmVJWEpxUkFYTTJQR1Q3ZG5ZYU96eDVnRy90Y20yOTRLZzVLQUpK?= =?utf-8?B?aHlheHIvSjR1MnlkZXlmWkovZkh0REI5TUpPRkFqNVVoVDlnYy9MdkwzQmYr?= =?utf-8?B?N0pVUlRLa0VvSUJyMUpmQkVac3pIakt0T0gzaVFva0FXb2gyRytCRGtvK3Bs?= =?utf-8?B?dC9BZWFnL3BYcENBbDBNVk9yUEJtNDFHZDhIS081ckVVWHFaVnMvc3hvRENE?= =?utf-8?B?bTh3UE9GcGFKWk1TRHE4ckUzaXVzanhOaG5aOEVRSnVYTlpkK3ErcURMenMr?= =?utf-8?B?NWtjRy9RUUUxOHYrQWtZd1B3ZlI2RU4za2kybGNVYjVDc0RGTTRNNzdhTWtY?= =?utf-8?B?amtSYitjaFdIZWE4M1VYSG8rUVZwb3RCRXFLZzYwMUxmOHJuM3ptZDY0Qm9r?= =?utf-8?B?QUlpK3pXbVBhdS9aUmlxU3Jvd09NMDRVd0d5SGw2YSt1K1dlNTdOeDBiMCtG?= =?utf-8?B?WXlMcE8wSlh3MDBaNmhNVUtQSFgyN0tTem1aYzZ4NnFXQUFEalZxM0N3bDd3?= =?utf-8?B?bWI4M3Vabm5vbmh5QzVXV3o1TkZoOEJoaC9nOUdZYXRaZkFIUEFwK0FwNVRn?= =?utf-8?B?T3RrOUJhWGNuT0E2SkkwaFY1cC9uL3N1VncxMENhWnhzR2pIUUR5Z3JuUmwx?= =?utf-8?B?ZGdSNFRjalh6SGVwdmxPQytNZTJFYWpGaHdwRFY1WnA3d2J0dmRJYVNWUXlY?= =?utf-8?B?TUt3UW5rVkV5VEdxeXFNZy9KU2IwU0NrRjhVR3l6ZVFXbVNvbEIvelRoL1ZV?= =?utf-8?B?ZWRyMzRZU0IrODloVlMwRzhOVmovZ1VJckp5eE15bkZBMll5RDVqN3IyK2t3?= =?utf-8?B?UFBwZWpCdXllTGF3V0YxRXhIbGx3WXpyd1ZXS3RNN1dLZ2NqT3FFV0cvazVF?= =?utf-8?B?OUpvZFU1UnUxaDZPcXpjUnpnOEdBVTNZaGFEN3hHRzhmQzJLRmdVRzJjTXNN?= =?utf-8?B?TSszcEJhNi9wNi8rOXl6VDZzT2pRRFlJT1lza2RsckZDV05ITFhZZlhIN3d2?= =?utf-8?B?YWFRL1g0QWxTR2Z0N09wejRpanVpM2lwUFBlWE5ZbFBNeWFTODBHQVROZ1ZC?= =?utf-8?B?VGxZN3NrckdjbDNFL3dGVjRiTng1NzlPZ1MxTGh5eU5nYk9Ia29wU3hnSzJa?= =?utf-8?B?ckdtY1FqWnV6S1BtTVNmcTI5OC9uVVpRK28ybDFsUTJidlYvTVRET05wNUUr?= =?utf-8?B?endKMEorUjlWK1dOeTBEdkVPSjlBV0pZcHlnMVM5aXhCNmtaM1Ewd2lnOTJG?= =?utf-8?B?UjFpYWhuWTExTklheHdNSE9OMGs4WGw5MENuOTNQYmx1bjljbXYrejY0b1N1?= =?utf-8?B?UmZObExCNUZTMFRtQkJ4eW1XaHVYdEFZZ1ZxZmdIb0dVbkthaEtJa202em1C?= =?utf-8?B?ZUxjellSbjE5ZHJneFkva08wZWl3d2o5VEQ2N0xUT3BvVHZKWGNPdkN6U2d0?= =?utf-8?B?MlE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR11MB3999.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: da51da2b-0b74-4794-a094-08db0ad621b2 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Feb 2023 19:45:00.7222 (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: xKGs5Cx2SK6baU4KNq7sUb+c7fh9uqrrZwHKcVSpUynyqyiwPMEmy7Alpf2BZtVmju3uyPUW7hwDahFKjvhYWcAjV+ha+K0GCLLIJRbjSKI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR11MB6203 X-OriginatorOrg: intel.com X-Rspam-User: X-Rspamd-Server: rspam03 X-Stat-Signature: 9wge4u5apa7u1wemcej5beh9xroqp6rn X-Rspamd-Queue-Id: F1A524001B X-HE-Tag: 1675971908-226778 X-HE-Meta: U2FsdGVkX1/aXkqMVkR55Iba/IDo1npn61QX4O64Ve0vP8zxRnbhhTVHk5Kq4gHMdowLJhb7dNpxlbV0Y9P0QdyMfyfr9JIQ42TmZW76NJDeWKKSOT0+AOb99N5B9gfWZUFP9imYYDjcmLKYodZAES5cTIP+pz0wuVZxzOEOP/kNwhFcKZIxQ7CEotlSeg/PCqs3D/cycBDQSgHoE1mRWIJxrQdJGOBp9ZMcpuwObjScw1IfEGO/eGP4p7vcYzd4fyLfE2WyLG6UiIaeiUWTfrPz5+ffsYaQS88pBdhpssXbWVMf9ICVo+/bAMcaR8MPpQFsjUxO2FVmZ/RxBgNew4g1+Yd0ov/pfVrH+kEN2gENaTxEvv65TfRRW6gXeJT9Il2BMi6u0BqdFsc9ZhdHYAgXYFb3YWHaO6faxdkObP8Xj6zWgvzblu7hUCVnSHBPZ53wtqawG3hnPqFjMiOYsxONWoIBqJJf7A/54m9DLwqmeTa3kRFfuE6jPi8B1cZiD91dFwdvou+adKfatdgWfaasmukD9uSxkVXAmx2xFbm//ajMEQTDW6fn9GV23bV4eJPcW/f2DMnJm1R29EbuxuVQsXrjqW0PIFNPx9+xWPs91Nwkcv/SfCzgT+M8bYICvmKV/5Q7Z7H9LP+4a8uRMAh2ZP4FqEzFQ58Dr/IL+a1mO4ivpK+MXTtg3YmLGbLUdXICIG1p06VIa/7SE1gNbE7+Ce5rspTCjW1c8HmB1VdraBAlJ0aYMvbBVTdOJKrzGDspqbCKC5IULbdKdTBTBTgszcJ64wAs2hJdMFk28+/pvaeKp1otVDNA/rUgApTLI01dowdhI4A5IHqNzHUCWBI18Y6cyRhtvk8MsiD3qvYrtuKJZ/BND57KFtbEA5TlBLyj0Vnat9yU6jPNa8H//veQw6h/TtYCFTa0ImQGxylFyCe85VplqI0xTPkv5dFZAb7T2pxk8Fzz5xceOaD YlmjCUO4 HotPyw4dgTjeSWD3kRx544D8a39hCKJyHgBvkKLJAcjkT9iSrjr25S/1FEHYI0Z20UFeRDJLyI/Qb5HeVssNp6GXxazoMaVwukFvkCBnyvb3wxmd5uQavsH79k9V8XD3bMcoZh2d4Aq46vRUpRRE+Cr14bU6IU/gGtWGmx0cf76btPiuWmGrmBBPDb1RNL8gUlidP27pMS2G7/aZA00yvj2rgTsX6k2CEj0KPbSB+E97HhnIDcR5c+1tWc6CtopE9r3waOjar6OTpQZWxFAxAfjDhScKV7G8jSJqsa9Rx229PaMgXxw0WiaWW29EM/8aI+HXTcsp7LK6mKDaqeOOJch/VIZOZ+9r+6xKrjFRatZDYUD2m/2eOI/KZSTD8abc358eIogVq71vLrKyvXp2uOX8q7g== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: T24gU3VuLCAyMDIzLTAyLTA1IGF0IDE3OjAzIC0wODAwLCBEYW4gV2lsbGlhbXMgd3JvdGU6Cj4g SW4gcHJlcGFyYXRpb24gZm9yIHJlZ2lvbiBhdXRvZGlzY292ZXJ5LCB0aGF0IG5lZWRzIGFsbCBk ZXZpY2VzCj4gZGlzY292ZXJlZCBiZWZvcmUgdGhlaXIgcmVsYXRpdmUgcG9zaXRpb24gaW4gdGhl IHJlZ2lvbiBjYW4gYmUKPiBkZXRlcm1pbmVkLCBjb25zb2xpZGF0ZSBhbGwgcG9zaXRpb24gZGVw ZW5kZW50IHZhbGlkYXRpb24gaW4gYSBoZWxwZXIuCj4gCj4gUmVjYWxsIHRoYXQgaW4gdGhlIG9u LWRlbWFuZCByZWdpb24gY3JlYXRpb24gZmxvdyB0aGUgZW5kLXVzZXIgcGlja3MgdGhlCj4gcG9z aXRpb24gb2YgYSBnaXZlbiBlbmRwb2ludCBkZWNvZGVyIGluIGEgcmVnaW9uLiBJbiB0aGUgYXV0 b2Rpc2NvdmVyeQo+IGNhc2UgdGhlIHBvc2l0aW9uIG9mIGFuIGVuZHBvaW50IGRlY29kZXIgY2Fu IG9ubHkgYmUgZGV0ZXJtaW5lZCBhZnRlcgo+IGFsbCBvdGhlciBlbmRwb2ludCBkZWNvZGVycyB0 aGF0IGNsYWltIHRvIGRlY29kZSB0aGUgcmVnaW9uJ3MgYWRkcmVzcwo+IHJhbmdlIGhhdmUgYmVl biBlbnVtZXJhdGVkIGFuZCBhdHRhY2hlZC4gU28sIGluIHRoZSBhdXRvZGlzY292ZXJ5IGNhc2UK PiBlbmRwb2ludCBkZWNvZGVycyBtYXkgYmUgYXR0YWNoZWQgYmVmb3JlIHRoZWlyIHJlbGF0aXZl IHBvc2l0aW9uIGlzCj4ga25vd24uIE9uY2UgYWxsIGRlY29kZXJzIGFycml2ZSwgdGhlbiBwb3Np dGlvbnMgY2FuIGJlIGRldGVybWluZWQgYW5kCj4gdmFsaWRhdGVkIHdpdGggY3hsX3JlZ2lvbl92 YWxpZGF0ZV9wb3NpdGlvbigpIHRoZSBzYW1lIGFzIHVzZXIgaW5pdGlhdGVkCj4gb24tZGVtYW5k IGNyZWF0aW9uLgo+IAo+IFNpZ25lZC1vZmYtYnk6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlh bXNAaW50ZWwuY29tPgo+IC0tLQo+IMKgZHJpdmVycy9jeGwvY29yZS9yZWdpb24uYyB8wqAgMTE5 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQo+IMKgMSBmaWxl IGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKyksIDQzIGRlbGV0aW9ucygtKQoKTG9va3MgZ29vZCwK ClJldmlld2VkLWJ5OiBWaXNoYWwgVmVybWEgPHZpc2hhbC5sLnZlcm1hQGludGVsLmNvbT4KCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY3hsL2NvcmUvcmVnaW9uLmMgYi9kcml2ZXJzL2N4bC9j b3JlL3JlZ2lvbi5jCj4gaW5kZXggOTdlYWZkZDc1Njc1Li5jODJkM2I2ZjNkMWYgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9jeGwvY29yZS9yZWdpb24uYwo+ICsrKyBiL2RyaXZlcnMvY3hsL2NvcmUv cmVnaW9uLmMKPiBAQCAtMTIwNywzNSArMTIwNywxMyBAQCBzdGF0aWMgaW50IGN4bF9yZWdpb25f c2V0dXBfdGFyZ2V0cyhzdHJ1Y3QgY3hsX3JlZ2lvbiAqY3hscikKPiDCoMKgwqDCoMKgwqDCoMKg cmV0dXJuIDA7Cj4gwqB9Cj4gwqAKPiAtc3RhdGljIGludCBjeGxfcmVnaW9uX2F0dGFjaChzdHJ1 Y3QgY3hsX3JlZ2lvbiAqY3hsciwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBjeGxfZW5kcG9pbnRfZGVjb2RlciAqY3hsZWQs IGludCBwb3MpCj4gK3N0YXRpYyBpbnQgY3hsX3JlZ2lvbl92YWxpZGF0ZV9wb3NpdGlvbihzdHJ1 Y3QgY3hsX3JlZ2lvbiAqY3hsciwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgc3RydWN0IGN4bF9l bmRwb2ludF9kZWNvZGVyICpjeGxlZCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgaW50IHBvcykK PiDCoHsKPiAtwqDCoMKgwqDCoMKgwqBzdHJ1Y3QgY3hsX3Jvb3RfZGVjb2RlciAqY3hscmQgPSB0 b19jeGxfcm9vdF9kZWNvZGVyKGN4bHItPmRldi5wYXJlbnQpOwo+IMKgwqDCoMKgwqDCoMKgwqBz dHJ1Y3QgY3hsX21lbWRldiAqY3hsbWQgPSBjeGxlZF90b19tZW1kZXYoY3hsZWQpOwo+IC3CoMKg wqDCoMKgwqDCoHN0cnVjdCBjeGxfcG9ydCAqZXBfcG9ydCwgKnJvb3RfcG9ydCwgKml0ZXI7Cj4g wqDCoMKgwqDCoMKgwqDCoHN0cnVjdCBjeGxfcmVnaW9uX3BhcmFtcyAqcCA9ICZjeGxyLT5wYXJh bXM7Cj4gLcKgwqDCoMKgwqDCoMKgc3RydWN0IGN4bF9kcG9ydCAqZHBvcnQ7Cj4gLcKgwqDCoMKg wqDCoMKgaW50IGksIHJjID0gLUVOWElPOwo+IC0KPiAtwqDCoMKgwqDCoMKgwqBpZiAoY3hsZWQt Pm1vZGUgIT0gY3hsci0+bW9kZSkgewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBk ZXZfZGJnKCZjeGxyLT5kZXYsICIlcyByZWdpb24gbW9kZTogJWQgbWlzbWF0Y2g6ICVkXG4iLAo+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X25hbWUo JmN4bGVkLT5jeGxkLmRldiksIGN4bHItPm1vZGUsIGN4bGVkLT5tb2RlKTsKPiAtwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FSU5WQUw7Cj4gLcKgwqDCoMKgwqDCoMKgfQo+ IC0KPiAtwqDCoMKgwqDCoMKgwqBpZiAoY3hsZWQtPm1vZGUgPT0gQ1hMX0RFQ09ERVJfREVBRCkg ewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkZXZfZGJnKCZjeGxyLT5kZXYsICIl cyBkZWFkXG4iLCBkZXZfbmFtZSgmY3hsZWQtPmN4bGQuZGV2KSk7Cj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRU5PREVWOwo+IC3CoMKgwqDCoMKgwqDCoH0KPiAtCj4g LcKgwqDCoMKgwqDCoMKgLyogYWxsIGZ1bGwgb2YgbWVtYmVycywgb3IgaW50ZXJsZWF2ZSBjb25m aWcgbm90IGVzdGFibGlzaGVkPyAqLwo+IC3CoMKgwqDCoMKgwqDCoGlmIChwLT5zdGF0ZSA+IENY TF9DT05GSUdfSU5URVJMRUFWRV9BQ1RJVkUpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgZGV2X2RiZygmY3hsci0+ZGV2LCAicmVnaW9uIGFscmVhZHkgYWN0aXZlXG4iKTsKPiAt wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FQlVTWTsKPiAtwqDCoMKgwqDC oMKgwqB9IGVsc2UgaWYgKHAtPnN0YXRlIDwgQ1hMX0NPTkZJR19JTlRFUkxFQVZFX0FDVElWRSkg ewo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkZXZfZGJnKCZjeGxyLT5kZXYsICJp bnRlcmxlYXZlIGNvbmZpZyBtaXNzaW5nXG4iKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgcmV0dXJuIC1FTlhJTzsKPiAtwqDCoMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKg aW50IGk7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgaWYgKHBvcyA8IDAgfHwgcG9zID49IHAtPmlu dGVybGVhdmVfd2F5cykgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X2Ri ZygmY3hsci0+ZGV2LCAicG9zaXRpb24gJWQgb3V0IG9mIHJhbmdlICVkXG4iLCBwb3MsCj4gQEAg LTEyNzQsNiArMTI1Miw3MSBAQCBzdGF0aWMgaW50IGN4bF9yZWdpb25fYXR0YWNoKHN0cnVjdCBj eGxfcmVnaW9uICpjeGxyLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgfQo+IMKg wqDCoMKgwqDCoMKgwqB9Cj4gwqAKPiArwqDCoMKgwqDCoMKgwqByZXR1cm4gMDsKPiArfQo+ICsK PiArc3RhdGljIGludCBjeGxfcmVnaW9uX2F0dGFjaF9wb3NpdGlvbihzdHJ1Y3QgY3hsX3JlZ2lv biAqY3hsciwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBjeGxfcm9vdF9kZWNvZGVyICpjeGxy ZCwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBjeGxfZW5kcG9pbnRfZGVjb2RlciAqY3hsZWQs Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBjb25zdCBzdHJ1Y3QgY3hsX2Rwb3J0ICpkcG9ydCwgaW50IHBv cykKPiArewo+ICvCoMKgwqDCoMKgwqDCoHN0cnVjdCBjeGxfbWVtZGV2ICpjeGxtZCA9IGN4bGVk X3RvX21lbWRldihjeGxlZCk7Cj4gK8KgwqDCoMKgwqDCoMKgc3RydWN0IGN4bF9wb3J0ICppdGVy Owo+ICvCoMKgwqDCoMKgwqDCoGludCByYzsKPiArCj4gK8KgwqDCoMKgwqDCoMKgaWYgKGN4bHJk LT5jYWxjX2hiKGN4bHJkLCBwb3MpICE9IGRwb3J0KSB7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoGRldl9kYmcoJmN4bHItPmRldiwgIiVzOiVzIGludmFsaWQgdGFyZ2V0IHBvc2l0 aW9uIGZvciAlc1xuIiwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoGRldl9uYW1lKCZjeGxtZC0+ZGV2KSwgZGV2X25hbWUoJmN4bGVkLT5jeGxkLmRldiks Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkZXZfbmFt ZSgmY3hscmQtPmN4bHNkLmN4bGQuZGV2KSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHJldHVybiAtRU5YSU87Cj4gK8KgwqDCoMKgwqDCoMKgfQo+ICsKPiArwqDCoMKgwqDCoMKg wqBmb3IgKGl0ZXIgPSBjeGxlZF90b19wb3J0KGN4bGVkKTsgIWlzX2N4bF9yb290KGl0ZXIpOwo+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGl0ZXIgPSB0b19jeGxfcG9ydChpdGVyLT5kZXYucGFy ZW50KSkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByYyA9IGN4bF9wb3J0X2F0 dGFjaF9yZWdpb24oaXRlciwgY3hsciwgY3hsZWQsIHBvcyk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGlmIChyYykKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoGdvdG8gZXJyOwo+ICvCoMKgwqDCoMKgwqDCoH0KPiArCj4gK8KgwqDCoMKg wqDCoMKgcmV0dXJuIDA7Cj4gKwo+ICtlcnI6Cj4gK8KgwqDCoMKgwqDCoMKgZm9yIChpdGVyID0g Y3hsZWRfdG9fcG9ydChjeGxlZCk7ICFpc19jeGxfcm9vdChpdGVyKTsKPiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpdGVyID0gdG9fY3hsX3BvcnQoaXRlci0+ZGV2LnBhcmVudCkpCj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGN4bF9wb3J0X2RldGFjaF9yZWdpb24oaXRlciwgY3hs ciwgY3hsZWQpOwo+ICvCoMKgwqDCoMKgwqDCoHJldHVybiByYzsKPiArfQo+ICsKPiArc3RhdGlj IGludCBjeGxfcmVnaW9uX2F0dGFjaChzdHJ1Y3QgY3hsX3JlZ2lvbiAqY3hsciwKPiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBj eGxfZW5kcG9pbnRfZGVjb2RlciAqY3hsZWQsIGludCBwb3MpCj4gK3sKPiArwqDCoMKgwqDCoMKg wqBzdHJ1Y3QgY3hsX3Jvb3RfZGVjb2RlciAqY3hscmQgPSB0b19jeGxfcm9vdF9kZWNvZGVyKGN4 bHItPmRldi5wYXJlbnQpOwo+ICvCoMKgwqDCoMKgwqDCoHN0cnVjdCBjeGxfbWVtZGV2ICpjeGxt ZCA9IGN4bGVkX3RvX21lbWRldihjeGxlZCk7Cj4gK8KgwqDCoMKgwqDCoMKgc3RydWN0IGN4bF9y ZWdpb25fcGFyYW1zICpwID0gJmN4bHItPnBhcmFtczsKPiArwqDCoMKgwqDCoMKgwqBzdHJ1Y3Qg Y3hsX3BvcnQgKmVwX3BvcnQsICpyb290X3BvcnQ7Cj4gK8KgwqDCoMKgwqDCoMKgc3RydWN0IGN4 bF9kcG9ydCAqZHBvcnQ7Cj4gK8KgwqDCoMKgwqDCoMKgaW50IHJjID0gLUVOWElPOwo+ICsKPiAr wqDCoMKgwqDCoMKgwqBpZiAoY3hsZWQtPm1vZGUgIT0gY3hsci0+bW9kZSkgewo+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBkZXZfZGJnKCZjeGxyLT5kZXYsICIlcyByZWdpb24gbW9k ZTogJWQgbWlzbWF0Y2g6ICVkXG4iLAo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgZGV2X25hbWUoJmN4bGVkLT5jeGxkLmRldiksIGN4bHItPm1vZGUsIGN4 bGVkLT5tb2RlKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FSU5W QUw7Cj4gK8KgwqDCoMKgwqDCoMKgfQo+ICsKPiArwqDCoMKgwqDCoMKgwqBpZiAoY3hsZWQtPm1v ZGUgPT0gQ1hMX0RFQ09ERVJfREVBRCkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBkZXZfZGJnKCZjeGxyLT5kZXYsICIlcyBkZWFkXG4iLCBkZXZfbmFtZSgmY3hsZWQtPmN4bGQu ZGV2KSk7Cj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHJldHVybiAtRU5PREVWOwo+ ICvCoMKgwqDCoMKgwqDCoH0KPiArCj4gK8KgwqDCoMKgwqDCoMKgLyogYWxsIGZ1bGwgb2YgbWVt YmVycywgb3IgaW50ZXJsZWF2ZSBjb25maWcgbm90IGVzdGFibGlzaGVkPyAqLwo+ICvCoMKgwqDC oMKgwqDCoGlmIChwLT5zdGF0ZSA+IENYTF9DT05GSUdfSU5URVJMRUFWRV9BQ1RJVkUpIHsKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X2RiZygmY3hsci0+ZGV2LCAicmVnaW9u IGFscmVhZHkgYWN0aXZlXG4iKTsKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0 dXJuIC1FQlVTWTsKPiArwqDCoMKgwqDCoMKgwqB9IGVsc2UgaWYgKHAtPnN0YXRlIDwgQ1hMX0NP TkZJR19JTlRFUkxFQVZFX0FDVElWRSkgewo+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqBkZXZfZGJnKCZjeGxyLT5kZXYsICJpbnRlcmxlYXZlIGNvbmZpZyBtaXNzaW5nXG4iKTsKPiAr wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FTlhJTzsKPiArwqDCoMKgwqDC oMKgwqB9Cj4gKwo+IMKgwqDCoMKgwqDCoMKgwqBlcF9wb3J0ID0gY3hsZWRfdG9fcG9ydChjeGxl ZCk7Cj4gwqDCoMKgwqDCoMKgwqDCoHJvb3RfcG9ydCA9IGN4bHJkX3RvX3BvcnQoY3hscmQpOwo+ IMKgwqDCoMKgwqDCoMKgwqBkcG9ydCA9IGN4bF9maW5kX2Rwb3J0X2J5X2Rldihyb290X3BvcnQs IGVwX3BvcnQtPmhvc3RfYnJpZGdlKTsKPiBAQCAtMTI4NCwxMyArMTMyNyw2IEBAIHN0YXRpYyBp bnQgY3hsX3JlZ2lvbl9hdHRhY2goc3RydWN0IGN4bF9yZWdpb24gKmN4bHIsCj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqByZXR1cm4gLUVOWElPOwo+IMKgwqDCoMKgwqDCoMKgwqB9 Cj4gwqAKPiAtwqDCoMKgwqDCoMKgwqBpZiAoY3hscmQtPmNhbGNfaGIoY3hscmQsIHBvcykgIT0g ZHBvcnQpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X2RiZygmY3hsci0+ ZGV2LCAiJXM6JXMgaW52YWxpZCB0YXJnZXQgcG9zaXRpb24gZm9yICVzXG4iLAo+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X25hbWUoJmN4bG1kLT5k ZXYpLCBkZXZfbmFtZSgmY3hsZWQtPmN4bGQuZGV2KSwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoGRldl9uYW1lKCZjeGxyZC0+Y3hsc2QuY3hsZC5kZXYp KTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FTlhJTzsKPiAtwqDC oMKgwqDCoMKgwqB9Cj4gLQo+IMKgwqDCoMKgwqDCoMKgwqBpZiAoY3hsZWQtPmN4bGQudGFyZ2V0 X3R5cGUgIT0gY3hsci0+dHlwZSkgewo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg ZGV2X2RiZygmY3hsci0+ZGV2LCAiJXM6JXMgdHlwZSBtaXNtYXRjaDogJWQgdnMgJWRcbiIsCj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgZGV2X25hbWUo JmN4bG1kLT5kZXYpLCBkZXZfbmFtZSgmY3hsZWQtPmN4bGQuZGV2KSwKPiBAQCAtMTMxNCwxMiAr MTM1MCwxMyBAQCBzdGF0aWMgaW50IGN4bF9yZWdpb25fYXR0YWNoKHN0cnVjdCBjeGxfcmVnaW9u ICpjeGxyLAo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIC1FSU5WQUw7 Cj4gwqDCoMKgwqDCoMKgwqDCoH0KPiDCoAo+IC3CoMKgwqDCoMKgwqDCoGZvciAoaXRlciA9IGVw X3BvcnQ7ICFpc19jeGxfcm9vdChpdGVyKTsKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpdGVy ID0gdG9fY3hsX3BvcnQoaXRlci0+ZGV2LnBhcmVudCkpIHsKPiAtwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgcmMgPSBjeGxfcG9ydF9hdHRhY2hfcmVnaW9uKGl0ZXIsIGN4bHIsIGN4bGVk LCBwb3MpOwo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBpZiAocmMpCj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBnb3RvIGVycjsKPiAtwqDC oMKgwqDCoMKgwqB9Cj4gK8KgwqDCoMKgwqDCoMKgcmMgPSBjeGxfcmVnaW9uX3ZhbGlkYXRlX3Bv c2l0aW9uKGN4bHIsIGN4bGVkLCBwb3MpOwo+ICvCoMKgwqDCoMKgwqDCoGlmIChyYykKPiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgcmV0dXJuIHJjOwo+ICsKPiArwqDCoMKgwqDCoMKg wqByYyA9IGN4bF9yZWdpb25fYXR0YWNoX3Bvc2l0aW9uKGN4bHIsIGN4bHJkLCBjeGxlZCwgZHBv cnQsIHBvcyk7Cj4gK8KgwqDCoMKgwqDCoMKgaWYgKHJjKQo+ICvCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqByZXR1cm4gcmM7Cj4gwqAKPiDCoMKgwqDCoMKgwqDCoMKgcC0+dGFyZ2V0c1tw b3NdID0gY3hsZWQ7Cj4gwqDCoMKgwqDCoMKgwqDCoGN4bGVkLT5wb3MgPSBwb3M7Cj4gQEAgLTEz NDMsMTAgKzEzODAsNiBAQCBzdGF0aWMgaW50IGN4bF9yZWdpb25fYXR0YWNoKHN0cnVjdCBjeGxf cmVnaW9uICpjeGxyLAo+IMKgCj4gwqBlcnJfZGVjcmVtZW50Ogo+IMKgwqDCoMKgwqDCoMKgwqBw LT5ucl90YXJnZXRzLS07Cj4gLWVycjoKPiAtwqDCoMKgwqDCoMKgwqBmb3IgKGl0ZXIgPSBlcF9w b3J0OyAhaXNfY3hsX3Jvb3QoaXRlcik7Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaXRlciA9 IHRvX2N4bF9wb3J0KGl0ZXItPmRldi5wYXJlbnQpKQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqBjeGxfcG9ydF9kZXRhY2hfcmVnaW9uKGl0ZXIsIGN4bHIsIGN4bGVkKTsKPiDCoMKg wqDCoMKgwqDCoMKgcmV0dXJuIHJjOwo+IMKgfQo+IMKgCj4gCgo=