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 5D36ED3A674 for ; Tue, 29 Oct 2024 17:00:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id E286F6B0096; Tue, 29 Oct 2024 13:00:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DB0F06B0099; Tue, 29 Oct 2024 13:00:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C5F9E6B009A; Tue, 29 Oct 2024 13:00:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 9CBEA6B0096 for ; Tue, 29 Oct 2024 13:00:41 -0400 (EDT) Received: from smtpin13.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id DE4FFA02BE for ; Tue, 29 Oct 2024 17:00:40 +0000 (UTC) X-FDA: 82727252622.13.72A8177 Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) by imf25.hostedemail.com (Postfix) with ESMTP id A34E6A002E for ; Tue, 29 Oct 2024 17:00:19 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=none; spf=pass (imf25.hostedemail.com: domain of shiju.jose@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=shiju.jose@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730221078; 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; bh=YTlJbbrj6Jok3RfWhMxRSCWu4ilkic69q1ZaEUZ95kg=; b=wV2JFfUfGUxrvp8JG0YdBLrRTeGxrSfS3AoDaaeOm5O/NQ0RhQhfvurJ7bJXxYIPuOTrIl 9kNK5CYOy7Ul/yb37TT+NVrJGMUkW6TPIM3n9heC0Y7v/b+u9eoKlhnlS+zqUMeyEfIyIe HAy59zfxnlKWmk17glm2WxShKVtEc70= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730221078; a=rsa-sha256; cv=none; b=E22KV1aYpcWklV4LY11IOJyGAZpsS+ftU8Cyz+jGTTJuN75NPOBviZk4VooEBJvgu+p5ji 4URGXWFQ6LHmltPnQhccWFruW4z8N7Mc8uJXEUGtNnBaHiMM8fIh4o16dCdwDawLIDZzxG 0Ve5egwhO9/1rr0hH+bhlKJRB03qDXE= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=none; spf=pass (imf25.hostedemail.com: domain of shiju.jose@huawei.com designates 185.176.79.56 as permitted sender) smtp.mailfrom=shiju.jose@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com Received: from mail.maildlp.com (unknown [172.18.186.216]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4XdGbg3SnJz6L74s; Wed, 30 Oct 2024 00:55:43 +0800 (CST) Received: from frapeml100006.china.huawei.com (unknown [7.182.85.201]) by mail.maildlp.com (Postfix) with ESMTPS id 5DAE6140C72; Wed, 30 Oct 2024 01:00:33 +0800 (CST) Received: from frapeml500007.china.huawei.com (7.182.85.172) by frapeml100006.china.huawei.com (7.182.85.201) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 29 Oct 2024 18:00:33 +0100 Received: from frapeml500007.china.huawei.com ([7.182.85.172]) by frapeml500007.china.huawei.com ([7.182.85.172]) with mapi id 15.01.2507.039; Tue, 29 Oct 2024 18:00:33 +0100 From: Shiju Jose To: Dave Jiang , "linux-edac@vger.kernel.org" , "linux-cxl@vger.kernel.org" , "linux-acpi@vger.kernel.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" CC: "bp@alien8.de" , "tony.luck@intel.com" , "rafael@kernel.org" , "lenb@kernel.org" , "mchehab@kernel.org" , "dan.j.williams@intel.com" , "dave@stgolabs.net" , Jonathan Cameron , "gregkh@linuxfoundation.org" , "sudeep.holla@arm.com" , "jassisinghbrar@gmail.com" , "alison.schofield@intel.com" , "vishal.l.verma@intel.com" , "ira.weiny@intel.com" , "david@redhat.com" , "Vilas.Sridharan@amd.com" , "leo.duran@amd.com" , "Yazen.Ghannam@amd.com" , "rientjes@google.com" , "jiaqiyan@google.com" , "Jon.Grimm@amd.com" , "dave.hansen@linux.intel.com" , "naoya.horiguchi@nec.com" , "james.morse@arm.com" , "jthoughton@google.com" , "somasundaram.a@hpe.com" , "erdemaktas@google.com" , "pgonda@google.com" , "duenwen@google.com" , "gthelen@google.com" , "wschwartz@amperecomputing.com" , "dferguson@amperecomputing.com" , "wbs@os.amperecomputing.com" , "nifan.cxl@gmail.com" , tanxiaofei , "Zengtao (B)" , Roberto Sassu , "kangkang.shen@futurewei.com" , wanghuiqiang , Linuxarm Subject: RE: [PATCH v14 07/14] cxl/memfeature: Add CXL memory device patrol scrub control feature Thread-Topic: [PATCH v14 07/14] cxl/memfeature: Add CXL memory device patrol scrub control feature Thread-Index: AQHbJwFiEsGT6VLXSEWw7XeCpRer7rKd4VaAgAAVoeA= Date: Tue, 29 Oct 2024 17:00:32 +0000 Message-ID: References: <20241025171356.1377-1-shiju.jose@huawei.com> <20241025171356.1377-8-shiju.jose@huawei.com> <3a007a70-136b-4a45-8dd2-d33725ea96bc@intel.com> In-Reply-To: <3a007a70-136b-4a45-8dd2-d33725ea96bc@intel.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.195.34.211] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: A34E6A002E X-Stat-Signature: 5obe65e6yzq6uokoux545c85xi1e3crk X-HE-Tag: 1730221219-552014 X-HE-Meta: U2FsdGVkX19JthtDKgKCEwlA9NwsBxn9XEB/SGPixCROdYv8D2xYnXuWgOM6KW0C8HGdTYmUWHG3FCh8ZpzQh1mq6p7+keBD8P4sOtdnP1E7n0sx3Uq3HkRPjk1QHccgOoV20ic9eOEpi3LDsX7J1GzN7bEuS02ECA5sHYuaYxLvcNC9snB15xFQy/tmGNtMLlrJUEvQAK2+GLvkx/25ZPlZWKK4xQGYqvo90pskQKl8BSamh1PvaK52wzUZNMQ0DA+DuInhjJqfdE2D7mFbf8ligcMBPfG15dc1xPArRqFtgdTci3q8taH6MXetyogDlK6kgctSBKuORqJ9xgEwTK8kStpWVcPSp0tXGDKvNqu3mD/PcLmZ9SjpWq0jRr9LIRO2jkDn2vPDfFErZ5GlgiAlfBVtXIbvY9xr+Ii6ESsQKCJP2JVPGRFF+G/yrr1YMXegq2G6Mhib5EgB+dIT4s8A3QalFOYwzQU4Bh/hQfClqHmoY8ZLgYglWwQ+5Kp/mydh3Bou5lwqXQ13GEAWfBuXAQuIhdu8ZmzDRLJTdjgpUyzjpFRvz8LXhBVoU81bK6Itt2nl5fuuAAW+C35/AkIgD70Wz3DHwjM+VMAMoFldGDth9TqeNrza+1VBTf5mbZZwsy0jjE+rgmdoa3tlX88gu0RXpDs0KeRszc0K3KYlP/pNes4YEMxAxx84eo6wfHQtHP3iUTrQZ1qOGk3c71RRY24LXCBN9eHw8QC5wymFTOcq6cFf22KDfkcg7jxvcNgYkOSnxPFAS77nod/EJG+EoLZmMI2O46gbfMWhUnw7UbLNXJTna1LIJHQb0+866T3UniU6fCkahClPF58PVgJEElviRxx6oJZce0dFJXGtmC0opW7qEENKYFSlzWwTiFo+EAHTLzMtWCxaZAHOsl5AH4AU3qv/HbTSIEIEgaxRuYBYfhF3s3NkR00j2ll8LA6xjmSHhdeAbJ8leLu JVWCrkg9 LRTPOmTgenyEUir2od/bbqXcovTS+cdbH8BV67UmyDZP1X0XEDInaK6nqgFHW63r2Q5DCowEg3p9RT3uxDMaFdWyc4N27uTsxuhU0iz2JyQOWb+sBG/N1MF/DKVvfBgexRvzWouEpmsccr1kH3UTfus1V/oQlp9R48R9Lxq+4MCeG/RvQ8acufYE+GpR9GcnbFxqB+OsHANJxwc7eflGG9++kE9PrHt9l96gVERxC/5NdXlc4DOLWsFj8+XBjV6ZX9yN0MPf1B+dcEgscAXjUAjA/W0bEz1j1/ixtPjlM+eaoe2Fa4qXEo2z/8XjGpTbD+tcF08nIC24OBNODKdTHbtVLjtgtU5n7MuBNVf8A6LLK4ClKQNWYJTEkEIMPVolnvOG/iHnZAa999mi08xzsWEhm/VWpIbSa2aYtlVVeEb0CGkBEOE//RS6vV7G1temg7xQYXl5j+Z9ZtTqEgL/IXQGbG3MCd4TEzhUyUz0PT1azT7JRH102BRQL3nEnHlv17IjdKWLUNKmwFRRW4h+dAaKowP7ku3i81cuw7vbXzZKoyR4Z0nM59p82+SXV/5hsZIvTBdZRdNN3RxQV85E/i4bCTwNZyKxVUIQqyTLOiUEw/dpz5yQNOhz6CghG7nFEOZNVUjvn8EJxAuG69E1tKtmPjD+G+SYGx68N8MxyjBHUy9T4dsLSHCeZjLGMyMjXuXuJA0azffflFokJpUbwCivM4mMtQpTVEQVsOlat006RkxMV539YblYNCRexo5hYHnHzCYivekQAUcQAv20lxPVgXvvKWki4zYYBOUXMmBmwOk6AKhWQYrb9J6YH59j2gQlFKwtW0I98Sx6Aw9XA3vMC3g+blSmpqsg/3/2x4TIMlQ+uiqXJB4jBWPbFhP8dCWh81uO9/ModRuIQowP9G2/S6Z7z71DxJT3G7w/YhFfgvXBXdDPG+kv8uLS5wIdgd8V0BTzdgnVrIVBf99o8Wyyo+hsJ xWIXm+Zv 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: List-Subscribe: List-Unsubscribe: DQoNCj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPkZyb206IERhdmUgSmlhbmcgPGRhdmUu amlhbmdAaW50ZWwuY29tPg0KPlNlbnQ6IDI5IE9jdG9iZXIgMjAyNCAxNjozMg0KPlRvOiBTaGlq dSBKb3NlIDxzaGlqdS5qb3NlQGh1YXdlaS5jb20+OyBsaW51eC1lZGFjQHZnZXIua2VybmVsLm9y ZzsgbGludXgtDQo+Y3hsQHZnZXIua2VybmVsLm9yZzsgbGludXgtYWNwaUB2Z2VyLmtlcm5lbC5v cmc7IGxpbnV4LW1tQGt2YWNrLm9yZzsgbGludXgtDQo+a2VybmVsQHZnZXIua2VybmVsLm9yZw0K PkNjOiBicEBhbGllbjguZGU7IHRvbnkubHVja0BpbnRlbC5jb207IHJhZmFlbEBrZXJuZWwub3Jn OyBsZW5iQGtlcm5lbC5vcmc7DQo+bWNoZWhhYkBrZXJuZWwub3JnOyBkYW4uai53aWxsaWFtc0Bp bnRlbC5jb207IGRhdmVAc3Rnb2xhYnMubmV0OyBKb25hdGhhbg0KPkNhbWVyb24gPGpvbmF0aGFu LmNhbWVyb25AaHVhd2VpLmNvbT47IGdyZWdraEBsaW51eGZvdW5kYXRpb24ub3JnOw0KPnN1ZGVl cC5ob2xsYUBhcm0uY29tOyBqYXNzaXNpbmdoYnJhckBnbWFpbC5jb207IGFsaXNvbi5zY2hvZmll bGRAaW50ZWwuY29tOw0KPnZpc2hhbC5sLnZlcm1hQGludGVsLmNvbTsgaXJhLndlaW55QGludGVs LmNvbTsgZGF2aWRAcmVkaGF0LmNvbTsNCj5WaWxhcy5TcmlkaGFyYW5AYW1kLmNvbTsgbGVvLmR1 cmFuQGFtZC5jb207IFlhemVuLkdoYW5uYW1AYW1kLmNvbTsNCj5yaWVudGplc0Bnb29nbGUuY29t OyBqaWFxaXlhbkBnb29nbGUuY29tOyBKb24uR3JpbW1AYW1kLmNvbTsNCj5kYXZlLmhhbnNlbkBs aW51eC5pbnRlbC5jb207IG5hb3lhLmhvcmlndWNoaUBuZWMuY29tOw0KPmphbWVzLm1vcnNlQGFy bS5jb207IGp0aG91Z2h0b25AZ29vZ2xlLmNvbTsgc29tYXN1bmRhcmFtLmFAaHBlLmNvbTsNCj5l cmRlbWFrdGFzQGdvb2dsZS5jb207IHBnb25kYUBnb29nbGUuY29tOyBkdWVud2VuQGdvb2dsZS5j b207DQo+Z3RoZWxlbkBnb29nbGUuY29tOyB3c2Nod2FydHpAYW1wZXJlY29tcHV0aW5nLmNvbTsN Cj5kZmVyZ3Vzb25AYW1wZXJlY29tcHV0aW5nLmNvbTsgd2JzQG9zLmFtcGVyZWNvbXB1dGluZy5j b207DQo+bmlmYW4uY3hsQGdtYWlsLmNvbTsgdGFueGlhb2ZlaSA8dGFueGlhb2ZlaUBodWF3ZWku Y29tPjsgWmVuZ3RhbyAoQikNCj48cHJpbWUuemVuZ0BoaXNpbGljb24uY29tPjsgUm9iZXJ0byBT YXNzdSA8cm9iZXJ0by5zYXNzdUBodWF3ZWkuY29tPjsNCj5rYW5na2FuZy5zaGVuQGZ1dHVyZXdl aS5jb207IHdhbmdodWlxaWFuZyA8d2FuZ2h1aXFpYW5nQGh1YXdlaS5jb20+Ow0KPkxpbnV4YXJt IDxsaW51eGFybUBodWF3ZWkuY29tPg0KPlN1YmplY3Q6IFJlOiBbUEFUQ0ggdjE0IDA3LzE0XSBj eGwvbWVtZmVhdHVyZTogQWRkIENYTCBtZW1vcnkgZGV2aWNlIHBhdHJvbA0KPnNjcnViIGNvbnRy b2wgZmVhdHVyZQ0KPg0KPg0KPg0KPk9uIDEwLzI1LzI0IDEwOjEzIEFNLCBzaGlqdS5qb3NlQGh1 YXdlaS5jb20gd3JvdGU6DQo+PiBGcm9tOiBTaGlqdSBKb3NlIDxzaGlqdS5qb3NlQGh1YXdlaS5j b20+DQo+Pg0KPj4gQ1hMIHNwZWMgMy4xIHNlY3Rpb24gOC4yLjkuOS4xMS4xIGRlc2NyaWJlcyB0 aGUgZGV2aWNlIHBhdHJvbCBzY3J1Yg0KPj4gY29udHJvbCBmZWF0dXJlLiBUaGUgZGV2aWNlIHBh dHJvbCBzY3J1YiBwcm9hY3RpdmVseSBsb2NhdGVzIGFuZCBtYWtlcw0KPj4gY29ycmVjdGlvbnMg dG8gZXJyb3JzIGluIHJlZ3VsYXIgY3ljbGUuDQo+Pg0KPj4gQWxsb3cgc3BlY2lmeWluZyB0aGUg bnVtYmVyIG9mIGhvdXJzIHdpdGhpbiB3aGljaCB0aGUgcGF0cm9sIHNjcnViDQo+PiBtdXN0IGJl IGNvbXBsZXRlZCwgc3ViamVjdCB0byBtaW5pbXVtIGFuZCBtYXhpbXVtIGxpbWl0cyByZXBvcnRl ZCBieSB0aGUNCj5kZXZpY2UuDQo+PiBBbHNvIGFsbG93IGRpc2FibGluZyBzY3J1YiBhbGxvd2lu ZyB0cmFkZS1vZmYgZXJyb3IgcmF0ZXMgYWdhaW5zdA0KPj4gcGVyZm9ybWFuY2UuDQo+Pg0KPj4g QWRkIHN1cHBvcnQgZm9yIHBhdHJvbCBzY3J1YiBjb250cm9sIG9uIENYTCBtZW1vcnkgZGV2aWNl cy4NCj4+IFJlZ2lzdGVyIHdpdGggdGhlIEVEQUMgZGV2aWNlIGRyaXZlciwgd2hpY2ggcmV0cmll dmVzIHRoZSBzY3J1Yg0KPj4gYXR0cmlidXRlIGRlc2NyaXB0b3JzIGZyb20gRURBQyBzY3J1YiBh bmQgZXhwb3NlcyB0aGUgc3lzZnMgc2NydWINCj4+IGNvbnRyb2wgYXR0cmlidXRlcyB0byB1c2Vy c3BhY2UuIEZvciBleGFtcGxlLCBzY3J1YiBjb250cm9sIGZvciB0aGUNCj4+IENYTCBtZW1vcnkg ZGV2aWNlICJjeGxfbWVtMCIgaXMgZXhwb3NlZCBpbg0KPi9zeXMvYnVzL2VkYWMvZGV2aWNlcy9j eGxfbWVtMC9zY3J1YlgvLg0KPj4NCj4+IEFkZGl0aW9uYWxseSwgYWRkIHN1cHBvcnQgZm9yIHJl Z2lvbi1iYXNlZCBDWEwgbWVtb3J5IHBhdHJvbCBzY3J1YiBjb250cm9sLg0KPj4gQ1hMIG1lbW9y eSByZWdpb25zIG1heSBiZSBpbnRlcmxlYXZlZCBhY3Jvc3Mgb25lIG9yIG1vcmUgQ1hMIG1lbW9y eQ0KPj4gZGV2aWNlcy4gRm9yIGV4YW1wbGUsIHJlZ2lvbi1iYXNlZCBzY3J1YiBjb250cm9sIGZv ciAiY3hsX3JlZ2lvbjEiIGlzDQo+PiBleHBvc2VkIGluIC9zeXMvYnVzL2VkYWMvZGV2aWNlcy9j eGxfcmVnaW9uMS9zY3J1YlgvLg0KPj4NCj4+IENvLWRldmVsb3BlZC1ieTogSm9uYXRoYW4gQ2Ft ZXJvbiA8Sm9uYXRoYW4uQ2FtZXJvbkBodWF3ZWkuY29tPg0KPj4gU2lnbmVkLW9mZi1ieTogSm9u YXRoYW4gQ2FtZXJvbiA8Sm9uYXRoYW4uQ2FtZXJvbkBodWF3ZWkuY29tPg0KPj4gU2lnbmVkLW9m Zi1ieTogU2hpanUgSm9zZSA8c2hpanUuam9zZUBodWF3ZWkuY29tPg0KPj4gLS0tDQo+PiAgRG9j dW1lbnRhdGlvbi9lZGFjL2VkYWMtc2NydWIucnN0IHwgIDc0ICsrKysrKw0KPj4gIGRyaXZlcnMv Y3hsL0tjb25maWcgICAgICAgICAgICAgICB8ICAxOCArKw0KPj4gIGRyaXZlcnMvY3hsL2NvcmUv TWFrZWZpbGUgICAgICAgICB8ICAgMSArDQo+PiAgZHJpdmVycy9jeGwvY29yZS9tZW1mZWF0dXJl LmMgICAgIHwgMzgxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4gIGRyaXZlcnMv Y3hsL2NvcmUvcmVnaW9uLmMgICAgICAgICB8ICAgNiArDQo+PiAgZHJpdmVycy9jeGwvY3hsbWVt LmggICAgICAgICAgICAgIHwgICA3ICsNCj4+ICBkcml2ZXJzL2N4bC9tZW0uYyAgICAgICAgICAg ICAgICAgfCAgIDQgKw0KPj4gIDcgZmlsZXMgY2hhbmdlZCwgNDkxIGluc2VydGlvbnMoKykNCj4+ ICBjcmVhdGUgbW9kZSAxMDA2NDQgRG9jdW1lbnRhdGlvbi9lZGFjL2VkYWMtc2NydWIucnN0ICBj cmVhdGUgbW9kZQ0KPj4gMTAwNjQ0IGRyaXZlcnMvY3hsL2NvcmUvbWVtZmVhdHVyZS5jDQo+Pg0K Pj4gZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZWRhYy9lZGFjLXNjcnViLnJzdA0KPj4gYi9E b2N1bWVudGF0aW9uL2VkYWMvZWRhYy1zY3J1Yi5yc3QNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjRhYWQ0OTc0YjIwOA0KPj4gLS0tIC9kZXYvbnVsbA0K Pj4gKysrIGIvRG9jdW1lbnRhdGlvbi9lZGFjL2VkYWMtc2NydWIucnN0DQo+PiBAQCAtMCwwICsx LDc0IEBADQo+PiArLi4gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjANCj4+ICsNClsu Li5dDQoNCj4+ICtzdGF0aWMgaW50IGN4bF9tZW1fcHNfZ2V0X2F0dHJzKHN0cnVjdCBjeGxfbWVt ZGV2X3N0YXRlICptZHMsDQo+PiArCQkJCXN0cnVjdCBjeGxfbWVtZGV2X3BzX3BhcmFtcyAqcGFy YW1zKSB7DQo+PiArCXNpemVfdCByZF9kYXRhX3NpemUgPSBzaXplb2Yoc3RydWN0IGN4bF9tZW1k ZXZfcHNfcmRfYXR0cnMpOw0KPj4gKwlzaXplX3QgZGF0YV9zaXplOw0KPj4gKwlzdHJ1Y3QgY3hs X21lbWRldl9wc19yZF9hdHRycyAqcmRfYXR0cnMgX19mcmVlKGtmcmVlKSA9DQo+PiArCQkJCQkJ a21hbGxvYyhyZF9kYXRhX3NpemUsDQo+R0ZQX0tFUk5FTCk7DQo+PiArCWlmICghcmRfYXR0cnMp DQo+PiArCQlyZXR1cm4gLUVOT01FTTsNCj4+ICsNCj4+ICsJZGF0YV9zaXplID0gY3hsX2dldF9m ZWF0dXJlKG1kcywgY3hsX3BhdHJvbF9zY3J1Yl91dWlkLA0KPj4gKwkJCQkgICAgQ1hMX0dFVF9G RUFUX1NFTF9DVVJSRU5UX1ZBTFVFLA0KPj4gKwkJCQkgICAgcmRfYXR0cnMsIHJkX2RhdGFfc2l6 ZSk7DQo+PiArCWlmICghZGF0YV9zaXplKQ0KPj4gKwkJcmV0dXJuIC1FSU87DQo+PiArDQo+PiAr CXBhcmFtcy0+c2NydWJfY3ljbGVfY2hhbmdlYWJsZSA9DQo+RklFTERfR0VUKENYTF9NRU1ERVZf UFNfU0NSVUJfQ1lDTEVfQ0hBTkdFX0NBUF9NQVNLLA0KPj4gKwkJCQkJCSAgIHJkX2F0dHJzLT5z Y3J1Yl9jeWNsZV9jYXApOw0KPj4gKwlwYXJhbXMtPmVuYWJsZSA9DQo+RklFTERfR0VUKENYTF9N RU1ERVZfUFNfRkxBR19FTkFCTEVEX01BU0ssDQo+PiArCQkJCSAgIHJkX2F0dHJzLT5zY3J1Yl9m bGFncyk7DQo+PiArCXBhcmFtcy0+c2NydWJfY3ljbGVfaHJzID0NCj5GSUVMRF9HRVQoQ1hMX01F TURFVl9QU19DVVJfU0NSVUJfQ1lDTEVfTUFTSywNCj4+ICsJCQkJCSAgICByZF9hdHRycy0+c2Ny dWJfY3ljbGVfaHJzKTsNCj4+ICsJcGFyYW1zLT5taW5fc2NydWJfY3ljbGVfaHJzID0NCj5GSUVM RF9HRVQoQ1hMX01FTURFVl9QU19NSU5fU0NSVUJfQ1lDTEVfTUFTSywNCj4+ICsJCQkJCQlyZF9h dHRycy0+c2NydWJfY3ljbGVfaHJzKTsNCj4+ICsNCj4+ICsJcmV0dXJuIDA7DQo+PiArfQ0KPj4g Kw0KPj4gK3N0YXRpYyBpbnQgY3hsX3BzX2dldF9hdHRycyhzdHJ1Y3QgZGV2aWNlICpkZXYsIHZv aWQgKmRydl9kYXRhLA0KPg0KPldvdWxkIGEgdW5pb24gYmUgYmV0dGVyIHRoYW4gYSB2b2lkICpk cnZfZGF0YSBmb3IgYWxsIHRoZSBwbGFjZXMgdGhpcyBpcyB1c2VkIGFzIGENCj5wYXJhbWV0ZXI/ IEhvdyBtYW55IHZhcmlhdGlvbnMgb2YgdGhpcyBhcmUgdGhlcmU/DQo+DQo+REoNCkhpIERhdmUs DQoNCkNhbiB5b3UgZ2l2ZSBtb3JlIGluZm8gb24gdGhpcyBnaXZlbiB0aGlzIGlzIGEgZ2VuZXJp YyBjYWxsYmFjayBmb3IgdGhlIHNjcnViIGNvbnRyb2wgYW5kIGVhY2gNCmltcGxlbWVudGF0aW9u IHdpbGwgaGF2ZSBpdHMgb3duIGNvbnRleHQgc3RydWN0IChmb3IgZWcuIHN0cnVjdCBjeGxfcGF0 cm9sX3NjcnViX2NvbnRleHQgaGVyZQ0KZm9yIENYTCBzY3J1YiBjb250cm9sKSwgd2hpY2ggaW4g dHVybiB3aWxsIGJlIHBhc3NlZCBpbiBhbmQgb3V0IGFzIG9wYXF1ZSBkYXRhLg0KDQpUaGFua3Ms DQpTaGlqdQ0KPg0KPj4gKwkJCSAgICBzdHJ1Y3QgY3hsX21lbWRldl9wc19wYXJhbXMgKnBhcmFt cykgew0KPj4gKwlzdHJ1Y3QgY3hsX3BhdHJvbF9zY3J1Yl9jb250ZXh0ICpjeGxfcHNfY3R4ID0g ZHJ2X2RhdGE7DQo+PiArCXN0cnVjdCBjeGxfbWVtZGV2ICpjeGxtZDsNCj4+ICsJc3RydWN0IGN4 bF9kZXZfc3RhdGUgKmN4bGRzOw0KPj4gKwlzdHJ1Y3QgY3hsX21lbWRldl9zdGF0ZSAqbWRzOw0K Pj4gKwl1MTYgbWluX3NjcnViX2N5Y2xlID0gMDsNCj4+ICsJaW50IGksIHJldDsNCj4+ICsNCj4+ ICsJaWYgKGN4bF9wc19jdHgtPmN4bHIpIHsNCj4+ICsJCXN0cnVjdCBjeGxfcmVnaW9uICpjeGxy ID0gY3hsX3BzX2N0eC0+Y3hscjsNCj4+ICsJCXN0cnVjdCBjeGxfcmVnaW9uX3BhcmFtcyAqcCA9 ICZjeGxyLT5wYXJhbXM7DQo+PiArDQo+PiArCQlmb3IgKGkgPSBwLT5pbnRlcmxlYXZlX3dheXMg LSAxOyBpID49IDA7IGktLSkgew0KPj4gKwkJCXN0cnVjdCBjeGxfZW5kcG9pbnRfZGVjb2RlciAq Y3hsZWQgPSBwLT50YXJnZXRzW2ldOw0KPj4gKw0KPj4gKwkJCWN4bG1kID0gY3hsZWRfdG9fbWVt ZGV2KGN4bGVkKTsNCj4+ICsJCQljeGxkcyA9IGN4bG1kLT5jeGxkczsNCj4+ICsJCQltZHMgPSB0 b19jeGxfbWVtZGV2X3N0YXRlKGN4bGRzKTsNCj4+ICsJCQlyZXQgPSBjeGxfbWVtX3BzX2dldF9h dHRycyhtZHMsIHBhcmFtcyk7DQo+PiArCQkJaWYgKHJldCkNCj4+ICsJCQkJcmV0dXJuIHJldDsN Cj4+ICsNCj4+ICsJCQlpZiAocGFyYW1zLT5taW5fc2NydWJfY3ljbGVfaHJzID4gbWluX3NjcnVi X2N5Y2xlKQ0KPj4gKwkJCQltaW5fc2NydWJfY3ljbGUgPSBwYXJhbXMtDQo+Pm1pbl9zY3J1Yl9j eWNsZV9ocnM7DQo+PiArCQl9DQo+PiArCQlwYXJhbXMtPm1pbl9zY3J1Yl9jeWNsZV9ocnMgPSBt aW5fc2NydWJfY3ljbGU7DQo+PiArCQlyZXR1cm4gMDsNCj4+ICsJfQ0KPj4gKwljeGxtZCA9IGN4 bF9wc19jdHgtPmN4bG1kOw0KPj4gKwljeGxkcyA9IGN4bG1kLT5jeGxkczsNCj4+ICsJbWRzID0g dG9fY3hsX21lbWRldl9zdGF0ZShjeGxkcyk7DQo+PiArDQo+PiArCXJldHVybiBjeGxfbWVtX3Bz X2dldF9hdHRycyhtZHMsIHBhcmFtcyk7IH0NCj4+ICsNClsuLi5dDQo+DQoNCg==