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 79D9AC2D0CD for ; Sat, 17 May 2025 06:09:42 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 493846B0085; Sat, 17 May 2025 02:09:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 442DA6B0083; Sat, 17 May 2025 02:09:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 31ABE6B0085; Sat, 17 May 2025 02:09:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 090F26B0082 for ; Sat, 17 May 2025 02:09:41 -0400 (EDT) Received: from smtpin25.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id A1DAA5F5FA for ; Sat, 17 May 2025 06:09:40 +0000 (UTC) X-FDA: 83451373320.25.20E410B Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.2]) by imf12.hostedemail.com (Postfix) with ESMTP id 7EBC140005 for ; Sat, 17 May 2025 06:09:37 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=fail ("body hash did not verify") header.d=163.com header.s=s110527 header.b="l ncDTQL"; spf=pass (imf12.hostedemail.com: domain of 00107082@163.com designates 117.135.210.2 as permitted sender) smtp.mailfrom=00107082@163.com; dmarc=pass (policy=none) header.from=163.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1747462178; 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=s3Co4VHNzjFADQ5Ma8lNVknrRNXYGJvaxsGanXVj6Jc=; b=eQFnOc9ct/XmFQcc5XcFK0uF+cZBRuygKGfe0TPGw4NtxlixdwFDoNj/8gTfnXVxdRgcJT Gv+JZEZ/Py1IwBzH5fuGrwmEGhamybtADr74O4awA8j5ilV7PvT0vvGYEg6YfIFOM1zR1D r/OPUeihyLvX1IfYc+RzuJyOxczmv18= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1747462178; a=rsa-sha256; cv=none; b=7iq4kS0AkFox16bDyiJicg88XwBtq6seBQm6LZux3+zUVZyS/9v41uyFE3u9gQ1KohzDIr KRXyLv697k59rGPbLWKwvTJGkiVbmwLixvb92MkS7XOjPiVsTFCav/6TZDHslSsbEbpIMh 1r6n/Vwa+/QCXuz5YSybktKAbUj6FVc= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=fail ("body hash did not verify") header.d=163.com header.s=s110527 header.b="l ncDTQL"; spf=pass (imf12.hostedemail.com: domain of 00107082@163.com designates 117.135.210.2 as permitted sender) smtp.mailfrom=00107082@163.com; dmarc=pass (policy=none) header.from=163.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:To:Subject:Content-Type:MIME-Version: Message-ID; bh=25zTGILMFgR/uXryMWzLuh5nb7nym34mEhtAx2SR4Uc=; b=l ncDTQL0V+1cz6UaHAwC+oZyN4+eGC5/sEsB7gmR9Sb/+QhSfJ8Hnu0zV/B5Plpq+ DgvFv9bVvq52NWOWEQFu7ol3BTMa8Q4c273lueJaS2EdHdj3aw73UAo8M58tHVmI r7KlH/B6JZRnBd6nKB8uSFLG68FaCg0YZsK1BtanGo= Received: from 00107082$163.com ( [111.35.191.17] ) by ajax-webmail-wmsvr-40-129 (Coremail) ; Sat, 17 May 2025 14:09:10 +0800 (CST) X-Originating-IP: [111.35.191.17] Date: Sat, 17 May 2025 14:09:10 +0800 (CST) From: "David Wang" <00107082@163.com> To: "Suren Baghdasaryan" Cc: akpm@linux-foundation.org, kent.overstreet@linux.dev, dennis@kernel.org, tj@kernel.org, cl@gentwo.org, pasha.tatashin@soleen.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re:[PATCH 1/1] alloc_tag: allocate percpu counters for module tags dynamically X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20240801(9da12a7b) Copyright (c) 2002-2025 www.mailtech.cn 163com In-Reply-To: <20250517000739.5930-1-surenb@google.com> References: <20250517000739.5930-1-surenb@google.com> X-NTES-SC: AL_Qu2fBfidvUku5iSaYOkXn0oTju85XMCzuv8j3YJeN500mCTd8SMrZ254A2HQ0fmAJxqmoQmpVDl/8cp1eLF7dZPPuzPCJIgkPwbNBXDTvLb0 Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=GBK MIME-Version: 1.0 Message-ID: <77f20e7.1635.196dcdc591c.Coremail.00107082@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID:gSgvCgD3P0oHKChodp8GAA--.50179W X-CM-SenderInfo: qqqrilqqysqiywtou0bp/xtbB0gFQqmgoIz4zPQAFs- X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-Stat-Signature: 8ss8etcktn4s4om941zx1x84nykfq3h6 X-Rspamd-Queue-Id: 7EBC140005 X-Rspam-User: X-Rspamd-Server: rspam02 X-HE-Tag: 1747462177-601660 X-HE-Meta: U2FsdGVkX1+XZQqf0CiYzFyBfSU3bXo3UQS+g4OnuW47SLfudZuKSeYm/TfO4y+1Pj+Y6SeS8jrR5jF8NDAvUOML71qf6TEWJg6uEmRvq+iM690F3hUsBMfBc0Q+SzFzdj5GQz32zoj8kJA7r+KOPqoryIbiHaAvFkhS1y4ZPiqhchWTod3iSHiM2x6O2TegCIBJQQa4IQIljCEHcSy+A1FYVs25xqM2zWQ3gAwwvnWnArFxOJ9+c/07YPOR3gUzdqIzXTc7R4gwRegmnN4mu7XoHOft4y6AalOS+/4/HF55xXVV6MSCeFHyrsLZ7uXs1WCDUTgblBaG7UjoN7QGVoqWGRHexOBvg3LjqkZ4pQ3xxtfKwG2+QhTtCf/Fyy21ag8H/t6je/k1LmOdnb4mkd2i3HDUow7D3Tg25cPyPEAg5IdwEDYKgfA/0BRkYWV1KigmoBGxkHJvtn8GsRPJgYozXvVf8nb0LWoG3UI6KvAwaHNj+cfxLnrCUk1nPD/yycM8XKSYUozObmL72Q7Ye+4OqVTu9Nbr7EABE4FuUPtyPDfSqm8hr8pYI5lDNSxSDPHTrpwuPRSjmWEW0hjR/AbXSSp7im2N6IDxAgu6x/CD4l3+SmnjZyiVgRYpM9hJDvA8YI5yCImq8/yq7yMX7RlxI7fd5QNspx8l2zkj+3S8KusFUwgidSZB1B8Ax6RvSpeA/NuMrJSpKEr/f5j9l1H9a04e3vtmIKSoGKwjm/rbWg3InBnKyzDwOqdO/tZyva1FyojI/NJeVf4oGBVWayS4zCFkc1/NMZctiCKFTnn2eaV+znI0LnS+WWInswNnq0xJAun7rtfY9ytGypM5swdhb12d9OC8civZGgVvC8W7QvlsECEoOgnjtx3JOVzXiB/ZELUUSJegpbgUWDDaexv/tdVgh10jPmec/zRQyqgMwewGpuJaYUHRcHltotChdQR01eRlhkhv7GjRF6y VzcWalkI 7vBdbQd17LvIynGaQxctQ+2Bwmo40BaK7KhG7uTCuO1A72xl0EzZwKc5TG6UdW/J2A4Lb18LMyYVEAW5leliOART4EJYj9U0roN5o3spZkdQ+GTmU4xXPYCZ0LOzkiR4KOUTEjLGSJzTOkxuUPXCTnVK3b3LYPqvp55dNkOD8lpasKzuFEGVqIcaR0IRKG3W0DNXk5zDnINTbknfKY25OEpXUtfPp6e/iHHs/QHkdRu9X87mCXhiLKL4vQ8PcMM+1ZbvoHA5QA0vfNgbSw2lZKZIW5Y9+fmwV7DEIOaT+xgkEsHd8FM2YazLUb79gARuo4eyoOloULTPm3StBkI++Rpg23Xvw8HyBQSrNHWxXI1bLClD5X6CLiF0v/sbfAqaF863rswfZ6VfQGKnJYi9EVpMW7r0fkcPgjejCaDGrXHI2leruD/fFin0ZB8ObZuRbv1ETNTkw56DEHWab6mQgYfGFid2gFiAH3DFUnxFmrPg/sPsoJ3ybZFuZU8lNEjw2Z2ccD6J6YXtSAqSyF9CSawzpuhnwmzeP3dQOCHZpbZL/v0Anx6mi0lgNdPQ5bE9Ci7oWLMGHOlHRslaA3jX32yxhYuHigXW4FzBR6duvAvczshkTQLyCRfBsD9E7tYIGu2QaomAy7MLCih0wHuctliJmgl3TRfPyFc4fLJuRywO+0cIVaXRv0T2H7A== 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: QXQgMjAyNS0wNS0xNyAwODowNzozOSwgIlN1cmVuIEJhZ2hkYXNhcnlhbiIgPHN1cmVuYkBnb29n bGUuY29tPiB3cm90ZToKPldoZW4gYSBtb2R1bGUgZ2V0cyB1bmxvYWRlZCBpdCBjaGVja3Mgd2hl dGhlciBhbnkgb2YgaXRzIHRhZ3MgYXJlIHN0aWxsCj5pbiB1c2UgYW5kIGlmIHNvLCB3ZSBrZWVw IHRoZSBtZW1vcnkgY29udGFpbmluZyBtb2R1bGUncyBhbGxvY2F0aW9uIHRhZ3MKPmFsaXZlIHVu dGlsIGFsbCB0YWdzIGFyZSB1bnVzZWQuIEhvd2V2ZXIgcGVyY3B1IGNvdW50ZXJzIHJlZmVyZW5j ZWQgYnkKPnRoZSB0YWdzIGFyZSBmcmVlZCBieSBmcmVlX21vZHVsZSgpLiBUaGlzIHdpbGwgbGVh ZCB0byBVQUYgaWYgdGhlIG1lbW9yeQo+YWxsb2NhdGVkIGJ5IGEgbW9kdWxlIGlzIGFjY2Vzc2Vk IGFmdGVyIG1vZHVsZSB3YXMgdW5sb2FkZWQuIFRvIGZpeCB0aGlzCj53ZSBhbGxvY2F0ZSBwZXJj cHUgY291bnRlcnMgZm9yIG1vZHVsZSBhbGxvY2F0aW9uIHRhZ3MgZHluYW1pY2FsbHkgYW5kCj53 ZSBrZWVwIGl0IGFsaXZlIGZvciB0YWdzIHdoaWNoIGFyZSBzdGlsbCBpbiB1c2UgYWZ0ZXIgbW9k dWxlIHVubG9hZGluZy4KPlRoaXMgYWxzbyByZW1vdmVzIHRoZSByZXF1aXJlbWVudCBvZiBhIGxh cmdlciBQRVJDUFVfTU9EVUxFX1JFU0VSVkUgd2hlbgo+bWVtb3J5IGFsbG9jYXRpb24gcHJvZmls aW5nIGlzIGVuYWJsZWQgYmVjYXVzZSBwZXJjcHUgbWVtb3J5IGZvciBjb3VudGVycwo+ZG9lcyBu b3QgbmVlZCB0byBiZSByZXNlcnZlZCBhbnltb3JlLgo+Cj5GaXhlczogMGRiNmY4ZDc4MjBhICgi YWxsb2NfdGFnOiBsb2FkIG1vZHVsZSB0YWdzIGludG8gc2VwYXJhdGUgY29udGlndW91cyBtZW1v cnkiKQo+UmVwb3J0ZWQtYnk6IERhdmlkIFdhbmcgPDAwMTA3MDgyQDE2My5jb20+Cj5DbG9zZXM6 IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDI1MDUxNjEzMTI0Ni42MjQ0LTEtMDAxMDcw ODJAMTYzLmNvbS8KPlNpZ25lZC1vZmYtYnk6IFN1cmVuIEJhZ2hkYXNhcnlhbiA8c3VyZW5iQGdv b2dsZS5jb20+Cj4tLS0KPiBpbmNsdWRlL2xpbnV4L2FsbG9jX3RhZy5oIHwgMTIgKysrKysrCj4g aW5jbHVkZS9saW51eC9jb2RldGFnLmggICB8ICA4ICsrLS0KPiBpbmNsdWRlL2xpbnV4L3BlcmNw dS5oICAgIHwgIDQgLS0KPiBsaWIvYWxsb2NfdGFnLmMgICAgICAgICAgIHwgODcgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCj4gbGliL2NvZGV0YWcuYyAgICAgICAgICAg ICB8ICA1ICsrLQo+IDUgZmlsZXMgY2hhbmdlZCwgODggaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRp b25zKC0pCj4KPmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2FsbG9jX3RhZy5oIGIvaW5jbHVk ZS9saW51eC9hbGxvY190YWcuaAo+aW5kZXggYTk0NmUwMjAzZTZkLi44Zjc5MzFlYjdkMTYgMTAw NjQ0Cj4tLS0gYS9pbmNsdWRlL2xpbnV4L2FsbG9jX3RhZy5oCj4rKysgYi9pbmNsdWRlL2xpbnV4 L2FsbG9jX3RhZy5oCj5AQCAtMTA0LDYgKzEwNCwxNiBAQCBERUNMQVJFX1BFUl9DUFUoc3RydWN0 IGFsbG9jX3RhZ19jb3VudGVycywgX3NoYXJlZF9hbGxvY190YWcpOwo+IAo+ICNlbHNlIC8qIEFS Q0hfTkVFRFNfV0VBS19QRVJfQ1BVICovCj4gCj4rI2lmZGVmIE1PRFVMRQo+Kwo+KyNkZWZpbmUg REVGSU5FX0FMTE9DX1RBRyhfYWxsb2NfdGFnKQkJCQkJCVwKPisJc3RhdGljIHN0cnVjdCBhbGxv Y190YWcgX2FsbG9jX3RhZyBfX3VzZWQgX19hbGlnbmVkKDgpCQkJXAo+KwlfX3NlY3Rpb24oQUxM T0NfVEFHX1NFQ1RJT05fTkFNRSkgPSB7CQkJCQlcCj4rCQkuY3QgPSBDT0RFX1RBR19JTklULAkJ CQkJCVwKPisJCS5jb3VudGVycyA9IE5VTEwgfTsKPisKPisjZWxzZSAgLyogTU9EVUxFICovCj4r Cj4gI2RlZmluZSBERUZJTkVfQUxMT0NfVEFHKF9hbGxvY190YWcpCQkJCQkJXAo+IAlzdGF0aWMg REVGSU5FX1BFUl9DUFUoc3RydWN0IGFsbG9jX3RhZ19jb3VudGVycywgX2FsbG9jX3RhZ19jbnRy KTsJXAo+IAlzdGF0aWMgc3RydWN0IGFsbG9jX3RhZyBfYWxsb2NfdGFnIF9fdXNlZCBfX2FsaWdu ZWQoOCkJCQlcCj5AQCAtMTExLDYgKzEyMSw4IEBAIERFQ0xBUkVfUEVSX0NQVShzdHJ1Y3QgYWxs b2NfdGFnX2NvdW50ZXJzLCBfc2hhcmVkX2FsbG9jX3RhZyk7Cj4gCQkuY3QgPSBDT0RFX1RBR19J TklULAkJCQkJCVwKPiAJCS5jb3VudGVycyA9ICZfYWxsb2NfdGFnX2NudHIgfTsKPiAKPisjZW5k aWYgLyogTU9EVUxFICovCj4rCj4gI2VuZGlmIC8qIEFSQ0hfTkVFRFNfV0VBS19QRVJfQ1BVICov Cj4gCj4gREVDTEFSRV9TVEFUSUNfS0VZX01BWUJFKENPTkZJR19NRU1fQUxMT0NfUFJPRklMSU5H X0VOQUJMRURfQllfREVGQVVMVCwKPmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2NvZGV0YWcu aCBiL2luY2x1ZGUvbGludXgvY29kZXRhZy5oCj5pbmRleCBkMTRkYmQyNmIzNzAuLjBlZTRjMjFj NmRiYyAxMDA2NDQKPi0tLSBhL2luY2x1ZGUvbGludXgvY29kZXRhZy5oCj4rKysgYi9pbmNsdWRl L2xpbnV4L2NvZGV0YWcuaAo+QEAgLTM2LDEwICszNiwxMCBAQCB1bmlvbiBjb2RldGFnX3JlZiB7 Cj4gc3RydWN0IGNvZGV0YWdfdHlwZV9kZXNjIHsKPiAJY29uc3QgY2hhciAqc2VjdGlvbjsKPiAJ c2l6ZV90IHRhZ19zaXplOwo+LQl2b2lkICgqbW9kdWxlX2xvYWQpKHN0cnVjdCBjb2RldGFnX3R5 cGUgKmN0dHlwZSwKPi0JCQkgICAgc3RydWN0IGNvZGV0YWdfbW9kdWxlICpjbW9kKTsKPi0Jdm9p ZCAoKm1vZHVsZV91bmxvYWQpKHN0cnVjdCBjb2RldGFnX3R5cGUgKmN0dHlwZSwKPi0JCQkgICAg ICBzdHJ1Y3QgY29kZXRhZ19tb2R1bGUgKmNtb2QpOwo+Kwl2b2lkICgqbW9kdWxlX2xvYWQpKHN0 cnVjdCBtb2R1bGUgKm1vZCwKPisJCQkgICAgc3RydWN0IGNvZGV0YWcgKnN0YXJ0LCBzdHJ1Y3Qg Y29kZXRhZyAqZW5kKTsKPisJdm9pZCAoKm1vZHVsZV91bmxvYWQpKHN0cnVjdCBtb2R1bGUgKm1v ZCwKPisJCQkgICAgICBzdHJ1Y3QgY29kZXRhZyAqc3RhcnQsIHN0cnVjdCBjb2RldGFnICplbmQp Owo+ICNpZmRlZiBDT05GSUdfTU9EVUxFUwo+IAl2b2lkICgqbW9kdWxlX3JlcGxhY2VkKShzdHJ1 Y3QgbW9kdWxlICptb2QsIHN0cnVjdCBtb2R1bGUgKm5ld19tb2QpOwo+IAlib29sICgqbmVlZHNf c2VjdGlvbl9tZW0pKHN0cnVjdCBtb2R1bGUgKm1vZCwgdW5zaWduZWQgbG9uZyBzaXplKTsKPmRp ZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3BlcmNwdS5oIGIvaW5jbHVkZS9saW51eC9wZXJjcHUu aAo+aW5kZXggNTJiNWVhNjYzYjlmLi44NWJmOGRkOWYwODcgMTAwNjQ0Cj4tLS0gYS9pbmNsdWRl L2xpbnV4L3BlcmNwdS5oCj4rKysgYi9pbmNsdWRlL2xpbnV4L3BlcmNwdS5oCj5AQCAtMTUsMTEg KzE1LDcgQEAKPiAKPiAvKiBlbm91Z2ggdG8gY292ZXIgYWxsIERFRklORV9QRVJfQ1BVcyBpbiBt b2R1bGVzICovCj4gI2lmZGVmIENPTkZJR19NT0RVTEVTCj4tI2lmZGVmIENPTkZJR19NRU1fQUxM T0NfUFJPRklMSU5HCj4tI2RlZmluZSBQRVJDUFVfTU9EVUxFX1JFU0VSVkUJCSg4IDw8IDEzKQo+ LSNlbHNlCj4gI2RlZmluZSBQRVJDUFVfTU9EVUxFX1JFU0VSVkUJCSg4IDw8IDEwKQo+LSNlbmRp Zgo+ICNlbHNlCj4gI2RlZmluZSBQRVJDUFVfTU9EVUxFX1JFU0VSVkUJCTAKPiAjZW5kaWYKPmRp ZmYgLS1naXQgYS9saWIvYWxsb2NfdGFnLmMgYi9saWIvYWxsb2NfdGFnLmMKPmluZGV4IDI1ZWNj MTMzNGI2Ny4uYzdmNjAyZmE3YjIzIDEwMDY0NAo+LS0tIGEvbGliL2FsbG9jX3RhZy5jCj4rKysg Yi9saWIvYWxsb2NfdGFnLmMKPkBAIC0zNTAsMTggKzM1MCwyOCBAQCBzdGF0aWMgYm9vbCBuZWVk c19zZWN0aW9uX21lbShzdHJ1Y3QgbW9kdWxlICptb2QsIHVuc2lnbmVkIGxvbmcgc2l6ZSkKPiAJ cmV0dXJuIHNpemUgPj0gc2l6ZW9mKHN0cnVjdCBhbGxvY190YWcpOwo+IH0KPiAKPi1zdGF0aWMg c3RydWN0IGFsbG9jX3RhZyAqZmluZF91c2VkX3RhZyhzdHJ1Y3QgYWxsb2NfdGFnICpmcm9tLCBz dHJ1Y3QgYWxsb2NfdGFnICp0bykKPitzdGF0aWMgYm9vbCBjbGVhbl91bnVzZWRfY291bnRlcnMo c3RydWN0IGFsbG9jX3RhZyAqc3RhcnRfdGFnLAo+KwkJCQkgIHN0cnVjdCBhbGxvY190YWcgKmVu ZF90YWcpCj4gewo+LQl3aGlsZSAoZnJvbSA8PSB0bykgewo+KwlzdHJ1Y3QgYWxsb2NfdGFnICp0 YWc7Cj4rCWJvb2wgcmV0ID0gdHJ1ZTsKPisKPisJZm9yICh0YWcgPSBzdGFydF90YWc7IHRhZyA8 PSBlbmRfdGFnOyB0YWcrKykgewo+IAkJc3RydWN0IGFsbG9jX3RhZ19jb3VudGVycyBjb3VudGVy Owo+IAo+LQkJY291bnRlciA9IGFsbG9jX3RhZ19yZWFkKGZyb20pOwo+LQkJaWYgKGNvdW50ZXIu Ynl0ZXMpCj4tCQkJcmV0dXJuIGZyb207Cj4tCQlmcm9tKys7Cj4rCQlpZiAoIXRhZy0+Y291bnRl cnMpCj4rCQkJY29udGludWU7Cj4rCj4rCQljb3VudGVyID0gYWxsb2NfdGFnX3JlYWQodGFnKTsK PisJCWlmICghY291bnRlci5ieXRlcykgewo+KwkJCWZyZWVfcGVyY3B1KHRhZy0+Y291bnRlcnMp Owo+KwkJCXRhZy0+Y291bnRlcnMgPSBOVUxMOwo+KwkJfSBlbHNlIHsKPisJCQlyZXQgPSBmYWxz ZTsKPisJCX0KPiAJfQo+IAo+LQlyZXR1cm4gTlVMTDsKPisJcmV0dXJuIHJldDsKPiB9Cj4gCj4g LyogQ2FsbGVkIHdpdGggbW9kX2FyZWFfbXQgbG9ja2VkICovCj5AQCAtMzcxLDEyICszODEsMTYg QEAgc3RhdGljIHZvaWQgY2xlYW5fdW51c2VkX21vZHVsZV9hcmVhc19sb2NrZWQodm9pZCkKPiAJ c3RydWN0IG1vZHVsZSAqdmFsOwo+IAo+IAltYXNfZm9yX2VhY2goJm1hcywgdmFsLCBtb2R1bGVf dGFncy5zaXplKSB7Cj4rCQlzdHJ1Y3QgYWxsb2NfdGFnICpzdGFydF90YWc7Cj4rCQlzdHJ1Y3Qg YWxsb2NfdGFnICplbmRfdGFnOwo+Kwo+IAkJaWYgKHZhbCAhPSAmdW5sb2FkZWRfbW9kKQo+IAkJ CWNvbnRpbnVlOwo+IAo+IAkJLyogUmVsZWFzZSBhcmVhIGlmIGFsbCB0YWdzIGFyZSB1bnVzZWQg Ki8KPi0JCWlmICghZmluZF91c2VkX3RhZygoc3RydWN0IGFsbG9jX3RhZyAqKShtb2R1bGVfdGFn cy5zdGFydF9hZGRyICsgbWFzLmluZGV4KSwKPi0JCQkJICAgKHN0cnVjdCBhbGxvY190YWcgKiko bW9kdWxlX3RhZ3Muc3RhcnRfYWRkciArIG1hcy5sYXN0KSkpCj4rCQlzdGFydF90YWcgPSAoc3Ry dWN0IGFsbG9jX3RhZyAqKShtb2R1bGVfdGFncy5zdGFydF9hZGRyICsgbWFzLmluZGV4KTsKPisJ CWVuZF90YWcgPSAoc3RydWN0IGFsbG9jX3RhZyAqKShtb2R1bGVfdGFncy5zdGFydF9hZGRyICsg bWFzLmxhc3QpOwo+KwkJaWYgKGNsZWFuX3VudXNlZF9jb3VudGVycyhzdGFydF90YWcsIGVuZF90 YWcpKQo+IAkJCW1hc19lcmFzZSgmbWFzKTsKPiAJfQo+IH0KPkBAIC01NjEsNyArNTc1LDggQEAg c3RhdGljIHZvaWQgKnJlc2VydmVfbW9kdWxlX3RhZ3Moc3RydWN0IG1vZHVsZSAqbW9kLCB1bnNp Z25lZCBsb25nIHNpemUsCj4gc3RhdGljIHZvaWQgcmVsZWFzZV9tb2R1bGVfdGFncyhzdHJ1Y3Qg bW9kdWxlICptb2QsIGJvb2wgdXNlZCkKPiB7Cj4gCU1BX1NUQVRFKG1hcywgJm1vZF9hcmVhX210 LCBtb2R1bGVfdGFncy5zaXplLCBtb2R1bGVfdGFncy5zaXplKTsKPi0Jc3RydWN0IGFsbG9jX3Rh ZyAqdGFnOwo+KwlzdHJ1Y3QgYWxsb2NfdGFnICpzdGFydF90YWc7Cj4rCXN0cnVjdCBhbGxvY190 YWcgKmVuZF90YWc7Cj4gCXN0cnVjdCBtb2R1bGUgKnZhbDsKPiAKPiAJbWFzX2xvY2soJm1hcyk7 Cj5AQCAtNTc1LDE1ICs1OTAsMjIgQEAgc3RhdGljIHZvaWQgcmVsZWFzZV9tb2R1bGVfdGFncyhz dHJ1Y3QgbW9kdWxlICptb2QsIGJvb2wgdXNlZCkKPiAJaWYgKCF1c2VkKQo+IAkJZ290byByZWxl YXNlX2FyZWE7Cj4gCj4tCS8qIEZpbmQgb3V0IGlmIHRoZSBhcmVhIGlzIHVzZWQgKi8KPi0JdGFn ID0gZmluZF91c2VkX3RhZygoc3RydWN0IGFsbG9jX3RhZyAqKShtb2R1bGVfdGFncy5zdGFydF9h ZGRyICsgbWFzLmluZGV4KSwKPi0JCQkgICAgKHN0cnVjdCBhbGxvY190YWcgKikobW9kdWxlX3Rh Z3Muc3RhcnRfYWRkciArIG1hcy5sYXN0KSk7Cj4tCWlmICh0YWcpIHsKPi0JCXN0cnVjdCBhbGxv Y190YWdfY291bnRlcnMgY291bnRlciA9IGFsbG9jX3RhZ19yZWFkKHRhZyk7Cj4rCXN0YXJ0X3Rh ZyA9IChzdHJ1Y3QgYWxsb2NfdGFnICopKG1vZHVsZV90YWdzLnN0YXJ0X2FkZHIgKyBtYXMuaW5k ZXgpOwo+KwllbmRfdGFnID0gKHN0cnVjdCBhbGxvY190YWcgKikobW9kdWxlX3RhZ3Muc3RhcnRf YWRkciArIG1hcy5sYXN0KTsKPisJaWYgKCFjbGVhbl91bnVzZWRfY291bnRlcnMoc3RhcnRfdGFn LCBlbmRfdGFnKSkgewo+KwkJc3RydWN0IGFsbG9jX3RhZyAqdGFnOwo+Kwo+KwkJZm9yICh0YWcg PSBzdGFydF90YWc7IHRhZyA8PSBlbmRfdGFnOyB0YWcrKykgewo+KwkJCXN0cnVjdCBhbGxvY190 YWdfY291bnRlcnMgY291bnRlcjsKPisKPisJCQlpZiAoIXRhZy0+Y291bnRlcnMpCj4rCQkJCWNv bnRpbnVlOwo+IAo+LQkJcHJfaW5mbygiJXM6JXUgbW9kdWxlICVzIGZ1bmM6JXMgaGFzICVsbHUg YWxsb2NhdGVkIGF0IG1vZHVsZSB1bmxvYWRcbiIsCj4tCQkJdGFnLT5jdC5maWxlbmFtZSwgdGFn LT5jdC5saW5lbm8sIHRhZy0+Y3QubW9kbmFtZSwKPi0JCQl0YWctPmN0LmZ1bmN0aW9uLCBjb3Vu dGVyLmJ5dGVzKTsKPisJCQljb3VudGVyID0gYWxsb2NfdGFnX3JlYWQodGFnKTsKPisJCQlwcl9p bmZvKCIlczoldSBtb2R1bGUgJXMgZnVuYzolcyBoYXMgJWxsdSBhbGxvY2F0ZWQgYXQgbW9kdWxl IHVubG9hZFxuIiwKPisJCQkJdGFnLT5jdC5maWxlbmFtZSwgdGFnLT5jdC5saW5lbm8sIHRhZy0+ Y3QubW9kbmFtZSwKPisJCQkJdGFnLT5jdC5mdW5jdGlvbiwgY291bnRlci5ieXRlcyk7Cj4rCQl9 Cj4gCX0gZWxzZSB7Cj4gCQl1c2VkID0gZmFsc2U7Cj4gCX0KPkBAIC01OTYsNiArNjE4LDM0IEBA IHN0YXRpYyB2b2lkIHJlbGVhc2VfbW9kdWxlX3RhZ3Moc3RydWN0IG1vZHVsZSAqbW9kLCBib29s IHVzZWQpCj4gCW1hc191bmxvY2soJm1hcyk7Cj4gfQo+IAo+K3N0YXRpYyB2b2lkIGxvYWRfbW9k dWxlKHN0cnVjdCBtb2R1bGUgKm1vZCwgc3RydWN0IGNvZGV0YWcgKnN0YXJ0LCBzdHJ1Y3QgY29k ZXRhZyAqc3RvcCkKPit7Cj4rCS8qIEFsbG9jYXRlIG1vZHVsZSBhbGxvY190YWcgcGVyY3B1IGNv dW50ZXJzICovCj4rCXN0cnVjdCBhbGxvY190YWcgKnN0YXJ0X3RhZzsKPisJc3RydWN0IGFsbG9j X3RhZyAqc3RvcF90YWc7Cj4rCXN0cnVjdCBhbGxvY190YWcgKnRhZzsKPisKPisJaWYgKCFtb2Qp Cj4rCQlyZXR1cm47Cj4rCj4rCXN0YXJ0X3RhZyA9IGN0X3RvX2FsbG9jX3RhZyhzdGFydCk7Cj4r CXN0b3BfdGFnID0gY3RfdG9fYWxsb2NfdGFnKHN0b3ApOwo+Kwlmb3IgKHRhZyA9IHN0YXJ0X3Rh ZzsgdGFnIDwgc3RvcF90YWc7IHRhZysrKSB7Cj4rCQlXQVJOX09OKHRhZy0+Y291bnRlcnMpOwo+ KwkJdGFnLT5jb3VudGVycyA9IGFsbG9jX3BlcmNwdShzdHJ1Y3QgYWxsb2NfdGFnX2NvdW50ZXJz KTsKPisJCWlmICghdGFnLT5jb3VudGVycykgewo+KwkJCXdoaWxlICgtLXRhZyA+PSBzdGFydF90 YWcpIHsKPisJCQkJZnJlZV9wZXJjcHUodGFnLT5jb3VudGVycyk7Cj4rCQkJCXRhZy0+Y291bnRl cnMgPSBOVUxMOwo+KwkJCX0KPisJCQlzaHV0ZG93bl9tZW1fcHJvZmlsaW5nKHRydWUpOwo+KwkJ CXByX2VycigiRmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgYWxsb2NhdGlvbiB0YWcgcGVy Y3B1IGNvdW50ZXJzIGluIHRoZSBtb2R1bGUgJXMuIE1lbW9yeSBhbGxvY2F0aW9uIHByb2ZpbGlu ZyBpcyBkaXNhYmxlZCFcbiIsCj4rCQkJICAgICAgIG1vZC0+bmFtZSk7Cj4rCQkJYnJlYWs7Cj4r CQl9Cj4rCX0KPit9Cj4rCj4gc3RhdGljIHZvaWQgcmVwbGFjZV9tb2R1bGUoc3RydWN0IG1vZHVs ZSAqbW9kLCBzdHJ1Y3QgbW9kdWxlICpuZXdfbW9kKQo+IHsKPiAJTUFfU1RBVEUobWFzLCAmbW9k X2FyZWFfbXQsIDAsIG1vZHVsZV90YWdzLnNpemUpOwo+QEAgLTc1Nyw2ICs4MDcsNyBAQCBzdGF0 aWMgaW50IF9faW5pdCBhbGxvY190YWdfaW5pdCh2b2lkKQo+IAkJLm5lZWRzX3NlY3Rpb25fbWVt CT0gbmVlZHNfc2VjdGlvbl9tZW0sCj4gCQkuYWxsb2Nfc2VjdGlvbl9tZW0JPSByZXNlcnZlX21v ZHVsZV90YWdzLAo+IAkJLmZyZWVfc2VjdGlvbl9tZW0JPSByZWxlYXNlX21vZHVsZV90YWdzLAo+ KwkJLm1vZHVsZV9sb2FkCQk9IGxvYWRfbW9kdWxlLAo+IAkJLm1vZHVsZV9yZXBsYWNlZAk9IHJl cGxhY2VfbW9kdWxlLAo+ICNlbmRpZgo+IAl9Owo+ZGlmZiAtLWdpdCBhL2xpYi9jb2RldGFnLmMg Yi9saWIvY29kZXRhZy5jCj5pbmRleCA0MmFhZGQ2YzE0NTQuLmRlMzMyZTk4ZDZmNSAxMDA2NDQK Pi0tLSBhL2xpYi9jb2RldGFnLmMKPisrKyBiL2xpYi9jb2RldGFnLmMKPkBAIC0xOTQsNyArMTk0 LDcgQEAgc3RhdGljIGludCBjb2RldGFnX21vZHVsZV9pbml0KHN0cnVjdCBjb2RldGFnX3R5cGUg KmN0dHlwZSwgc3RydWN0IG1vZHVsZSAqbW9kKQo+IAlpZiAoZXJyID49IDApIHsKPiAJCWN0dHlw ZS0+Y291bnQgKz0gcmFuZ2Vfc2l6ZShjdHR5cGUsICZyYW5nZSk7Cj4gCQlpZiAoY3R0eXBlLT5k ZXNjLm1vZHVsZV9sb2FkKQo+LQkJCWN0dHlwZS0+ZGVzYy5tb2R1bGVfbG9hZChjdHR5cGUsIGNt b2QpOwo+KwkJCWN0dHlwZS0+ZGVzYy5tb2R1bGVfbG9hZChtb2QsIHJhbmdlLnN0YXJ0LCByYW5n ZS5zdG9wKTsKPiAJfQo+IAl1cF93cml0ZSgmY3R0eXBlLT5tb2RfbG9jayk7Cj4gCj5AQCAtMzMz LDcgKzMzMyw4IEBAIHZvaWQgY29kZXRhZ191bmxvYWRfbW9kdWxlKHN0cnVjdCBtb2R1bGUgKm1v ZCkKPiAJCX0KPiAJCWlmIChmb3VuZCkgewo+IAkJCWlmIChjdHR5cGUtPmRlc2MubW9kdWxlX3Vu bG9hZCkKPi0JCQkJY3R0eXBlLT5kZXNjLm1vZHVsZV91bmxvYWQoY3R0eXBlLCBjbW9kKTsKPisJ CQkJY3R0eXBlLT5kZXNjLm1vZHVsZV91bmxvYWQoY21vZC0+bW9kLAo+KwkJCQkJY21vZC0+cmFu Z2Uuc3RhcnQsIGNtb2QtPnJhbmdlLnN0b3ApOwo+IAo+IAkJCWN0dHlwZS0+Y291bnQgLT0gcmFu Z2Vfc2l6ZShjdHR5cGUsICZjbW9kLT5yYW5nZSk7Cj4gCQkJaWRyX3JlbW92ZSgmY3R0eXBlLT5t b2RfaWRyLCBtb2RfaWQpOwo+Cj5iYXNlLWNvbW1pdDogNmU2OGEyMDVjMDdiM2MzMTFmMTlhNGM5 YzVkZTk1ZDE5MWQ1YTQ1OQo+LS0gCj4yLjQ5LjAuMTEwMS5nY2NhYTQ5ODUyMy1nb29nCgpUaGlz IHBhdGNoIGZpeGVzIHRoZSBwYWdlIGZhdWx0IGVycm9yLgoKVGVzdGVkLWJ5OiBEYXZpZCBXYW5n IDwwMDEwNzA4MkAxNjMuY29tPgoKCk15IHRlc3RzOgoxLiBlbnRlciByZWNvdmVyeSBtb2RlCjIu IGluc3RhbGwgbnZpZGlhIGRyaXZlciA1NzAuMTQ0LCBmYWlsZWQgd2l0aCBVbmtub3duIHN5bWJv bCBkcm1fY2xpZW50X3NldHVwCjMuIG1vZHByb2JlIGRybV9jbGllbnRfbGliCjQuIGluc3RhbGwg bnZpZGlhIGRyaXZlciA1NzAuMTQ0CjUuIGluc3RhbGwgbnZpZGlhIGRyaXZlciA1NTAuMTQ0LjAz CjYuIHJlYm9vdCBhbmQgcmVwZWF0IGZyb20gc3RlcCAxCgpJIG1hbmFnZWQgdG8gcnVuIDEwIHJv dW5kcyBvZiBhYm92ZSB0ZXN0LCBubyBhYm5vcm1hbCBkZXRlY3RlZCB3aXRoIHRoaXMgcGF0Y2gu CkFuZCB3aXRob3V0IHRoZSBwYXRjaCwgIGEgcGFnZSBmYXVsdCBlcnJvciB3b3VsZCBoYXBwZW4g aW4gc3RlcCA0IHdpdGggdmVyeSBoaWdoIHByb2JhYmlsaXR5LgoKClRoYW5rcwpEYXZpZAo=