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 65E24C77B7F for ; Tue, 24 Jun 2025 15:23:19 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 03EE68D0002; Tue, 24 Jun 2025 11:23:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id F0AA48D0001; Tue, 24 Jun 2025 11:23:18 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DF9A68D0002; Tue, 24 Jun 2025 11:23:18 -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 CC43D8D0001 for ; Tue, 24 Jun 2025 11:23:18 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id 5CB7080A68 for ; Tue, 24 Jun 2025 15:23:18 +0000 (UTC) X-FDA: 83590662876.18.592D327 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.2]) by imf14.hostedemail.com (Postfix) with ESMTP id 3BAA6100006 for ; Tue, 24 Jun 2025 15:23:14 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=fail ("body hash did not verify") header.d=163.com header.s=s110527 header.b="N 2MFJcs"; dmarc=pass (policy=none) header.from=163.com; spf=pass (imf14.hostedemail.com: domain of 00107082@163.com designates 117.135.210.2 as permitted sender) smtp.mailfrom=00107082@163.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750778596; a=rsa-sha256; cv=none; b=SbGtbJbIT7HJ8IMMss0CVVTlP/W0Ud5ej26JObs5/8wtSbCg2lN2dQlxMh06nihGy+m2WC +F6IU7tK25j1IbBHNYTpikkIl35aGg6hBsAqEzV89/4pm2bPtCDwt/ECAU3qtIFUKQIpEG 76Ljf8gcwdeGPnE/0Xc1UmdLc8OERsQ= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=fail ("body hash did not verify") header.d=163.com header.s=s110527 header.b="N 2MFJcs"; dmarc=pass (policy=none) header.from=163.com; spf=pass (imf14.hostedemail.com: domain of 00107082@163.com designates 117.135.210.2 as permitted sender) smtp.mailfrom=00107082@163.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750778596; 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=xjgV5UEV+1XPen5kKVrpZ5li7snheck32SORU1CyLcY=; b=3anVQWP3qrjguuX7gHflw7eXTK2n5QSG4Gd/Y9B4ViR4iAL7J/f1Q/zRdeW3J6+w+DMGhX hd+cPCbatysJTV/cXz9mJWVXwW6x1wndAmsucjbLl+qzWaP0sCn40o1HHvczH7GqTHRg7F uS/D95kIHs4CyTGKuwNcUPtNKguwPZ0= 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=+CsR8dwJMhn7sj3a0aCbVxQIGB1XTbsL0e45ApnUOmk=; b=N 2MFJcsScA/1J6yLHljSISXx3uaE93B8kTNz0HB653flTi3WZoTLdInJVxUB7yigE 8+gJJA368CMll2JHfGudj84Sc4SB1ndTnZFMPPMmQP53tdipRY9m1dkA15Yl5Gb9 RSg1Y2VTrPLXrMs6DZJPCiYLnzKsH52gHQ3ixALpdk= Received: from 00107082$163.com ( [111.35.191.166] ) by ajax-webmail-wmsvr-40-114 (Coremail) ; Tue, 24 Jun 2025 23:23:02 +0800 (CST) X-Originating-IP: [111.35.191.166] Date: Tue, 24 Jun 2025 23:23:02 +0800 (CST) From: "David Wang" <00107082@163.com> To: "Suren Baghdasaryan" Cc: "Harry Yoo" , akpm@linux-foundation.org, kent.overstreet@linux.dev, oliver.sang@intel.com, cachen@purestorage.com, linux-mm@kvack.org, oe-lkp@lists.linux.dev, stable@vger.kernel.org Subject: Re: [PATCH v3] lib/alloc_tag: do not acquire non-existent lock in alloc_tag_top_users() 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: References: <20250624072513.84219-1-harry.yoo@oracle.com> <7f2f180f.a643.197a21de68c.Coremail.00107082@163.com> <2dba37c6.b15a.197a23dcce2.Coremail.00107082@163.com> <3942323b.b31d.197a2572832.Coremail.00107082@163.com> X-NTES-SC: AL_Qu2eAvuct00j5CmeYekZnEYQheY4XMKyuPkg1YJXOp80oyTS5zk8f19gNmTP/Mm1GyOxkDi1UyFJ0OdWVJFYR4ROmO6VCdH3uQGvtyb/ff9V Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=UTF-8 MIME-Version: 1.0 Message-ID: <1f0e3cc3.b35e.197a28917b8.Coremail.00107082@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID:cigvCgD333fXwlpoSwAkAA--.15897W X-CM-SenderInfo: qqqrilqqysqiywtou0bp/xtbBkA92qmhaufxsHQADsG X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-Rspam-User: X-Rspamd-Queue-Id: 3BAA6100006 X-Rspamd-Server: rspam10 X-Stat-Signature: zupr53mmqikypkwc6i4rb18tj48xd4wn X-HE-Tag: 1750778594-162275 X-HE-Meta: U2FsdGVkX1+6VafCC8IWNSojmwTV+YYfj959VTm+ohzPxninJgWN559eD7JdiHb0aei6vJfoWuWm+GTDmHKsg9WZL4a0Yl3Qh3wTPHiErOtXgFFav2kWdEE/Ddwmdjiv3pR97XF3zh7LXw9OBjSzwiV7NwJmoouMxyAzfQbZw7hHpD4wR5zlgmFrWnHsLLBiQYSVGat+vZbh0ckKzf7L22IE3pvypnvT+E5b1lehVmzmkpxvv/+WDaB4SvdTr7w1/vc3dC1w21K0AYXloRsEyr5u1FW9KlmTTOkujC2NxmiZk7iHeyuZTiViitWDVbqsxytuTMeeQcO9QE7j5oJ5Hi0s/2HKfKaqOYeSn6BMi+/17x6oWaNSq4bLwz1mREoIfSejQJ0FWU4gZcJWSTOM3E7Jmfx3xr9f9MygxdZrXz9ykYabun2sDlCCg1toz34DaEiVomZCanKF5auyp65sMlFkrw8EKFzTjPW3py+f94eyMcyW+8lFb2IgLhKNS1b4gcT2tYyRxC4NHu2afnsgoGdsu+ABbT5/mZxsgKUFXMXZd8fituulDJqIIXSkTX0QhiqDCWC1fqqQHG6aXicZpXaO0HlYJX5nm2ga6BggVQrD2kfNNISXiQXBGRtznOKH0B+LgxqtJhxFjjuoUpXATRA4A1+K7AWJ93GBf5Yr+BLCLoWmHQDSE5WAp1R+wCWDjB0HRAYsgcI9GqDPatsT9JVoiwtEvXlx9OcUHJHL6FtqAMsJWdUvP7Q6q3INRARE7ur9GoluSkMcotx+bZF6x82sqhGtyw9bslbYaX++xrdar/hGdGtUonlEn9sWU8Y7W1e3aekmt6D2ZRLIbGLjxosqpIm3eVVsXfFlwRzNxyQ+JkzArImB++67NPKIoauL0j0A73tBluxt+sVX4tEmhM2x7fzwN7q3wXvyhPJ5KFWpRKcaSGQOS98LHB2JLCfdTYiVHgAIk5gVFfjsQ/G tMnu8abI pyx5wW89abjT+Dq7oyWR0lX4N3cgaxjstnnQOABVJKxPJM1bOQi6Qr1OXGrABqrmhsA+KysscC4ir0TAhItechq1EspFPnyA6yU+yu88/n6V079sNQkw9DQMMrcWclq8bLrokzx9aelfyntYbSjgmj5crRsQvysoCF1XJC3Vv6L6S+daAHYXuhkHzPL+NvfhvFjnovxLsj60D0ddVAKk5MZ+RL6hkIfhCih8c/WhE+/jaLLSXyb2qt/jj8p06d3kz0lXMOjcbozaB9zrgtSzTfGS+Q5ZI/2j0Xo1hhnQciW8BqAq3x0sjYUkOA+4EaCd1++j7Cey7D9WHv588Cs2TiQBwFcVtOQiEYxFzxR07v46hH0nr4zXqjHnKXuU9afx/465PW0cE0RSEd4lKeP4XgLMFnZ1rZm8XJLvCU5Q9oAgAJY06qSwCI6++Dsw9Qrbi67DIHj84pSQ9ZjEYGwVAf7kkVdjPWOR2OIptKOZBms1FPOpBH0jAMFKUu4Ceao61QHvwGImaCp9eQcnGjjPRpygck73RWZmi61iPL8EEArt8znoj9GRh29DJmCg+9zIPnrcNf5LGt0yEz5PW3tzP/5LPYHCXxLdBsjDEx0WmnUo8Fs5Ej305miyhnHzdkBkBgdR13m2cTxRye96EpI+y1PmPFFxgKy7DJKPgErdWNE+kMlXSYTu5n3ylZ382rRjX2l9AC3NmxR2Tmacn8mun6hwmalu6S0QIGE8luHwMf7T+wrpWbnA2Q+gNVaEx0aqUDj8DXoHz6DVuRKQSNrrEII1QZ02Iepqr+8ds 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: CkF0IDIwMjUtMDYtMjQgMjI6NTc6NDAsICJTdXJlbiBCYWdoZGFzYXJ5YW4iIDxzdXJlbmJAZ29v Z2xlLmNvbT4gd3JvdGU6Cj5PbiBUdWUsIEp1biAyNCwgMjAyNSBhdCA3OjI44oCvQU0gRGF2aWQg V2FuZyA8MDAxMDcwODJAMTYzLmNvbT4gd3JvdGU6Cj4+Cj4+Cj4+IEF0IDIwMjUtMDYtMjQgMjI6 MTM6NDksICJIYXJyeSBZb28iIDxoYXJyeS55b29Ab3JhY2xlLmNvbT4gd3JvdGU6Cj4+ID5PbiBU dWUsIEp1biAyNCwgMjAyNSBhdCAxMDowMDo0OFBNICswODAwLCBEYXZpZCBXYW5nIHdyb3RlOgo+ PiA+Pgo+PiA+PiBBdCAyMDI1LTA2LTI0IDIxOjUwOjAyLCAiSGFycnkgWW9vIiA8aGFycnkueW9v QG9yYWNsZS5jb20+IHdyb3RlOgo+PiA+PiA+T24gVHVlLCBKdW4gMjQsIDIwMjUgYXQgMDk6MjU6 NThQTSArMDgwMCwgRGF2aWQgV2FuZyB3cm90ZToKPj4gPj4gPj4KPj4gPj4gPj4gQXQgMjAyNS0w Ni0yNCAxNToyNToxMywgIkhhcnJ5IFlvbyIgPGhhcnJ5Lnlvb0BvcmFjbGUuY29tPiB3cm90ZToK Pj4gPj4gPj4gPmFsbG9jX3RhZ190b3BfdXNlcnMoKSBhdHRlbXB0cyB0byBsb2NrIGFsbG9jX3Rh Z19jdHR5cGUtPm1vZF9sb2NrCj4+ID4+ID4+ID5ldmVuIHdoZW4gdGhlIGFsbG9jX3RhZ19jdHR5 cGUgaXMgbm90IGFsbG9jYXRlZCBiZWNhdXNlOgo+PiA+PiA+PiA+Cj4+ID4+ID4+ID4gIDEpIGFs bG9jIHRhZ2dpbmcgaXMgZGlzYWJsZWQgYmVjYXVzZSBtZW0gcHJvZmlsaW5nIGlzIGRpc2FibGVk Cj4+ID4+ID4+ID4gICAgICghYWxsb2NfdGFnX2N0dHlwZSkKPj4gPj4gPj4gPiAgMikgYWxsb2Mg dGFnZ2luZyBpcyBlbmFibGVkLCBidXQgbm90IHlldCBpbml0aWFsaXplZCAoIWFsbG9jX3RhZ19j dHR5cGUpCj4+ID4+ID4+ID4gIDMpIGFsbG9jIHRhZ2dpbmcgaXMgZW5hYmxlZCwgYnV0IGZhaWxl ZCBpbml0aWFsaXphdGlvbgo+PiA+PiA+PiA+ICAgICAoIWFsbG9jX3RhZ19jdHR5cGUgb3IgSVNf RVJSKGFsbG9jX3RhZ19jdHR5cGUpKQo+PiA+PiA+PiA+Cj4+ID4+ID4+ID5JbiBhbGwgY2FzZXMs IGFsbG9jX3RhZ19jdHR5cGUgaXMgbm90IGFsbG9jYXRlZCwgYW5kIHRoZXJlZm9yZQo+PiA+PiA+ PiA+YWxsb2NfdGFnX3RvcF91c2VycygpIHNob3VsZCBub3QgYXR0ZW1wdCB0byBhY3F1aXJlIHRo ZSBzZW1hcGhvcmUuCj4+ID4+ID4+ID4KPj4gPj4gPj4gPlRoaXMgbGVhZHMgdG8gYSBjcmFzaCBv biBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlIGJ5IGF0dGVtcHRpbmcgdG8KPj4gPj4gPj4gPmFj cXVpcmUgYSBub24tZXhpc3RlbnQgc2VtYXBob3JlOgo+PiA+PiA+PiA+Cj4+ID4+ID4+ID4gIE9v cHM6IGdlbmVyYWwgcHJvdGVjdGlvbiBmYXVsdCwgcHJvYmFibHkgZm9yIG5vbi1jYW5vbmljYWwg YWRkcmVzcyAweGRmZmZmYzAwMDAwMDAwMWI6IDAwMDAgWyMzXSBTTVAgS0FTQU4gTk9QVEkKPj4g Pj4gPj4gPiAgS0FTQU46IG51bGwtcHRyLWRlcmVmIGluIHJhbmdlIFsweDAwMDAwMDAwMDAwMDAw ZDgtMHgwMDAwMDAwMDAwMDAwMGRmXQo+PiA+PiA+PiA+ICBDUFU6IDIgVUlEOiAwIFBJRDogMSBD b21tOiBzeXN0ZW1kIFRhaW50ZWQ6IEcgICAgICBEICAgICAgICAgICAgIDYuMTYuMC1yYzIgIzEg Vk9MVU5UQVJZCj4+ID4+ID4+ID4gIFRhaW50ZWQ6IFtEXT1ESUUKPj4gPj4gPj4gPiAgSGFyZHdh cmUgbmFtZTogUUVNVSBTdGFuZGFyZCBQQyAoaTQ0MEZYICsgUElJWCwgMTk5NiksIEJJT1MgMS4x Ni4yLWRlYmlhbi0xLjE2LjItMSAwNC8wMS8yMDE0Cj4+ID4+ID4+ID4gIFJJUDogMDAxMDpkb3du X3JlYWRfdHJ5bG9jaysweGFhLzB4M2IwCj4+ID4+ID4+ID4gIENvZGU6IGQwIDdjIDA4IDg0IGQy IDBmIDg1IGEwIDAyIDAwIDAwIDhiIDBkIGRmIDMxIGRkIDA0IDg1IGM5IDc1IDI5IDQ4IGI4IDAw IDAwIDAwIDAwIDAwIGZjIGZmIGRmIDQ4IDhkIDZiIDY4IDQ4IDg5IGVhIDQ4IGMxIGVhIDAzIDw4 MD4gM2MgMDIgMDAgMGYgODUgODggMDIgMDAgMDAgNDggM2IgNWIgNjggMGYgODUgNTMgMDEgMDAg MDAgNjUgZmYKPj4gPj4gPj4gPiAgUlNQOiAwMDAwOmZmZmY4ODgxMDAyY2U5YjggRUZMQUdTOiAw MDAxMDAxNgo+PiA+PiA+PiA+ICBSQVg6IGRmZmZmYzAwMDAwMDAwMDAgUkJYOiAwMDAwMDAwMDAw MDAwMDcwIFJDWDogMDAwMDAwMDAwMDAwMDAwMAo+PiA+PiA+PiA+ICBSRFg6IDAwMDAwMDAwMDAw MDAwMWIgUlNJOiAwMDAwMDAwMDAwMDAwMDBhIFJESTogMDAwMDAwMDAwMDAwMDA3MAo+PiA+PiA+ PiA+ICBSQlA6IDAwMDAwMDAwMDAwMDAwZDggUjA4OiAwMDAwMDAwMDAwMDAwMDAxIFIwOTogZmZm ZmVkMTA3ZGRlNDlkMQo+PiA+PiA+PiA+ICBSMTA6IGZmZmY4ODgzZWVmMjRlOGIgUjExOiBmZmZm ODg4MTAwMmNlYzIwIFIxMjogMWZmZmYxMTAyMDA1OWQzNwo+PiA+PiA+PiA+ICBSMTM6IDAwMDAw MDAwMDAzZmZmN2IgUjE0OiBmZmZmODg4MTAwMmNlYzIwIFIxNTogZGZmZmZjMDAwMDAwMDAwMAo+ PiA+PiA+PiA+ICBGUzogIDAwMDA3Zjk2M2YyMWQ5NDAoMDAwMCkgR1M6ZmZmZjg4ODQ1OGNhNjAw MCgwMDAwKSBrbmxHUzowMDAwMDAwMDAwMDAwMDAwCj4+ID4+ID4+ID4gIENTOiAgMDAxMCBEUzog MDAwMCBFUzogMDAwMCBDUjA6IDAwMDAwMDAwODAwNTAwMzMKPj4gPj4gPj4gPiAgQ1IyOiAwMDAw N2Y5NjNmNWVkZjcxIENSMzogMDAwMDAwMDEwNjcyYzAwMCBDUjQ6IDAwMDAwMDAwMDAzNTBlZjAK Pj4gPj4gPj4gPiAgQ2FsbCBUcmFjZToKPj4gPj4gPj4gPiAgIDxUQVNLPgo+PiA+PiA+PiA+ICAg Y29kZXRhZ190cnlsb2NrX21vZHVsZV9saXN0KzB4ZC8weDIwCj4+ID4+ID4+ID4gICBhbGxvY190 YWdfdG9wX3VzZXJzKzB4MzY5LzB4NGIwCj4+ID4+ID4+ID4gICBfX3Nob3dfbWVtKzB4MWNkLzB4 NmUwCj4+ID4+ID4+ID4gICB3YXJuX2FsbG9jKzB4MmIxLzB4MzkwCj4+ID4+ID4+ID4gICBfX2Fs bG9jX2Zyb3plbl9wYWdlc19ub3Byb2YrMHgxMmI5LzB4MjFhMAo+PiA+PiA+PiA+ICAgYWxsb2Nf cGFnZXNfbXBvbCsweDEzNS8weDNlMAo+PiA+PiA+PiA+ICAgYWxsb2Nfc2xhYl9wYWdlKzB4ODIv MHhlMAo+PiA+PiA+PiA+ICAgbmV3X3NsYWIrMHgyMTIvMHgyNDAKPj4gPj4gPj4gPiAgIF9fX3Ns YWJfYWxsb2MrMHg4MmEvMHhlMDAKPj4gPj4gPj4gPiAgIDwvVEFTSz4KPj4gPj4gPj4gPgo+PiA+ PiA+PiA+QXMgRGF2aWQgV2FuZyBwb2ludHMgb3V0LCB0aGlzIGlzc3VlIGJlY2FtZSBlYXNpZXIg dG8gdHJpZ2dlciBhZnRlciBjb21taXQKPj4gPj4gPj4gPjc4MDEzOGIxMjM4MSAoImFsbG9jX3Rh ZzogY2hlY2sgbWVtX3Byb2ZpbGluZ19zdXBwb3J0IGluIGFsbG9jX3RhZ19pbml0IikuCj4+ID4+ ID4+ID4KPj4gPj4gPj4gPkJlZm9yZSB0aGUgY29tbWl0LCB0aGUgaXNzdWUgb2NjdXJyZWQgb25s eSB3aGVuIGl0IGZhaWxlZCB0byBhbGxvY2F0ZQo+PiA+PiA+PiA+YW5kIGluaXRpYWxpemUgYWxs b2NfdGFnX2N0dHlwZSBvciBpZiBhIG1lbW9yeSBhbGxvY2F0aW9uIGZhaWxzIGJlZm9yZQo+PiA+ PiA+PiA+YWxsb2NfdGFnX2luaXQoKSBpcyBjYWxsZWQuIEFmdGVyIHRoZSBjb21taXQsIGl0IGNh biBiZSBlYXNpbHkgdHJpZ2dlcmVkCj4+ID4+ID4+ID53aGVuIG1lbW9yeSBwcm9maWxpbmcgaXMg Y29tcGlsZWQgYnV0IGRpc2FibGVkIGF0IGJvb3QuCj4+ID4+ID4+ID4KPj4gPj4gPj4gPlRvIHBy b3Blcmx5IGRldGVybWluZSB3aGV0aGVyIGFsbG9jX3RhZ19pbml0KCkgaGFzIGJlZW4gY2FsbGVk IGFuZAo+PiA+PiA+PiA+aXRzIGRhdGEgc3RydWN0dXJlcyBpbml0aWFsaXplZCwgdmVyaWZ5IHRo YXQgYWxsb2NfdGFnX2N0dHlwZSBpcyBhIHZhbGlkCj4+ID4+ID4+ID5wb2ludGVyIGJlZm9yZSBh Y3F1aXJpbmcgdGhlIHNlbWFwaG9yZS4gSWYgdGhlIHZhcmlhYmxlIGlzIE5VTEwgb3IgYW4gZXJy b3IKPj4gPj4gPj4gPnZhbHVlLCBpdCBoYXMgbm90IGJlZW4gcHJvcGVybHkgaW5pdGlhbGl6ZWQu IEluIHN1Y2ggYSBjYXNlLCBqdXN0IHNraXAKPj4gPj4gPj4gPmFuZCBkbyBub3QgYXR0ZW1wdCB0 byBhY3F1aXJlIHRoZSBzZW1hcGhvcmUuCj4+ID4+ID4+ID4KPj4gPj4gPj4gPlJlcG9ydGVkLWJ5 OiBrZXJuZWwgdGVzdCByb2JvdCA8b2xpdmVyLnNhbmdAaW50ZWwuY29tPgo+PiA+PiA+PiA+Q2xv c2VzOiBodHRwczovL3VybGRlZmVuc2UuY29tL3YzL19faHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcv b2UtbGtwLzIwMjUwNjE4MTM1MS5iYmE4NjdkZC1sa3BAaW50ZWwuY29tX187ISFBQ1dWNU45TTJS Vjk5aFEhTUFEdkdLdHZUdmxMWE54bHJKNEJkT1NuYnNKbHlyU3JvUFVHSjNKUUhzX0lGLWd4eHFm UTg5T1RaMjFhTjk2RGJtakc5cUgzV2kxTWxndGlTQSQKPj4gPj4gPj4gPkNsb3NlczogaHR0cHM6 Ly91cmxkZWZlbnNlLmNvbS92My9fX2h0dHBzOi8vbG9yZS5rZXJuZWwub3JnL29lLWxrcC8yMDI1 MDYxMzE3MTEuNWI0MTkzMWMtbGtwQGludGVsLmNvbV9fOyEhQUNXVjVOOU0yUlY5OWhRIU1BRHZH S3R2VHZsTFhOeGxySjRCZE9TbmJzSmx5clNyb1BVR0ozSlFIc19JRi1neHhxZlE4OU9UWjIxYU45 NkRibWpHOXFIM1dpMG8yT295bkEkCj4+ID4+ID4+ID5GaXhlczogNzgwMTM4YjEyMzgxICgiYWxs b2NfdGFnOiBjaGVjayBtZW1fcHJvZmlsaW5nX3N1cHBvcnQgaW4gYWxsb2NfdGFnX2luaXQiKQo+ PiA+PiA+PiA+Rml4ZXM6IDE0MzhkMzQ5ZDE2YiAoImxpYjogYWRkIG1lbW9yeSBhbGxvY2F0aW9u cyByZXBvcnQgaW4gc2hvd19tZW0oKSIpCj4+ID4+ID4+ID5DYzogc3RhYmxlQHZnZXIua2VybmVs Lm9yZwo+PiA+PiA+PiA+U2lnbmVkLW9mZi1ieTogSGFycnkgWW9vIDxoYXJyeS55b29Ab3JhY2xl LmNvbT4KPj4gPj4gPj4gPi0tLQo+PiA+PiA+PiA+Cj4+ID4+ID4+ID5AU3VyZW46IEkgZGlkIG5v dCBhZGQgYW5vdGhlciBwcl93YXJuKCkgYmVjYXVzZSBldmVyeSBlcnJvciBwYXRoIGluCj4+ID4+ ID4+ID5hbGxvY190YWdfaW5pdCgpIGFscmVhZHkgaGFzIHByX2VycigpLgo+PiA+PiA+PiA+Cj4+ ID4+ID4+ID52MiAtPiB2MzoKPj4gPj4gPj4gPi0gQWRkZWQgYW5vdGhlciBDbG9zZXM6IHRhZyAo RGF2aWQpCj4+ID4+ID4+ID4tIE1vdmVkIHRoZSBjb25kaXRpb24gaW50byBhIHN0YW5kYWxvbmUg aWYgYmxvY2sgZm9yIGJldHRlciByZWFkYWJpbGl0eQo+PiA+PiA+PiA+ICAoU3VyZW4pCj4+ID4+ ID4+ID4tIFR5cG8gZml4IChTdXJlbikKPj4gPj4gPj4gPgo+PiA+PiA+PiA+IGxpYi9hbGxvY190 YWcuYyB8IDMgKysrCj4+ID4+ID4+ID4gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQo+ PiA+PiA+PiA+Cj4+ID4+ID4+ID5kaWZmIC0tZ2l0IGEvbGliL2FsbG9jX3RhZy5jIGIvbGliL2Fs bG9jX3RhZy5jCj4+ID4+ID4+ID5pbmRleCA0MWNjZmIwMzViN2IuLmU5YjMzODQ4NzAwYSAxMDA2 NDQKPj4gPj4gPj4gPi0tLSBhL2xpYi9hbGxvY190YWcuYwo+PiA+PiA+PiA+KysrIGIvbGliL2Fs bG9jX3RhZy5jCj4+ID4+ID4+ID5AQCAtMTI3LDYgKzEyNyw5IEBAIHNpemVfdCBhbGxvY190YWdf dG9wX3VzZXJzKHN0cnVjdCBjb2RldGFnX2J5dGVzICp0YWdzLCBzaXplX3QgY291bnQsIGJvb2wg Y2FuX3NsCj4+ID4+ID4+ID4gICAgICAgICBzdHJ1Y3QgY29kZXRhZ19ieXRlcyBuOwo+PiA+PiA+ PiA+ICAgICAgICAgdW5zaWduZWQgaW50IGksIG5yID0gMDsKPj4gPj4gPj4gPgo+PiA+PiA+PiA+ KyAgICAgICAgaWYgKElTX0VSUl9PUl9OVUxMKGFsbG9jX3RhZ19jdHR5cGUpKQo+PiA+PiA+PiA+ KyAgICAgICAgICAgICAgICByZXR1cm4gMDsKPj4gPj4gPj4KPj4gPj4gPj4gV2hhdCBhYm91dCBt ZW1fcHJvZmlsaW5nX3N1cHBvcnQgc2V0IHRvIDAgYWZ0ZXIgYWxsb2NfdGFnX2luaXQsIGluIHRo aXMgY2FzZToKPj4gPj4gPj4gYWxsb2NfdGFnX2N0dHlwZSAhPSBOVUxMICYmIG1lbV9wcm9maWxp bmdfc3VwcG9ydD09MAo+PiA+PiA+Pgo+PiA+PiA+PiBJIGtpbmQgb2YgdGhpbmsgYWxsb2NfdGFn X3RvcF91c2VycyBzaG91bGQgcmV0dXJuIDAgaW4gdGhpcyBjYXNlLi4uLmFuZCAgYm90aCBtZW1f cHJvZmlsaW5nX3N1cHBvcnQgYW5kIGFsbG9jX3RhZ19jdHR5cGUgc2hvdWxkIGJlIGNoZWNrZWQu Li4uCj4+ID4+ID4KPj4gPj4gPkFmdGVyIGNvbW1pdCA3ODAxMzhiMTIzODEsIGFsbG9jX3RhZ19j dHR5cGUgaXMgbm90IGFsbG9jYXRlZCBpZgo+PiA+PiA+IW1lbV9wcm9maWxpbmdfc3VwcG9ydC4g KEFuZCB0aGF0J3MgIHdoeSB0aGlzIGJ1ZyBzaG93ZWQgdXApCj4+ID4+Cj4+ID4+IFRoZXJlIGlz IGEgc3lzY3RsKC9wcm9jL3N5cy92bS9tZW1fcHJvZmlsaW5nKSB3aGljaCBjYW4gb3ZlcnJpZGUg bWVtX3Byb2ZpbGluZ19zdXBwb3J0IGFuZCBzZXQgaXQgdG8gMCwgYWZ0ZXIgYWxsb2NfdGFnX2lu aXQgd2l0aCBtZW1fcHJvZmlsaW5nX3N1cHBvcnQ9MQo+Cj5XYWl0LCAvcHJvYy9zeXMvdm0vbWVt X3Byb2ZpbGluZyBpcyBjaGFuZ2luZyBtZW1fYWxsb2NfcHJvZmlsaW5nX2tleSwKPm5vdCBtZW1f cHJvZmlsaW5nX3N1cHBvcnQuIEFtIEkgbWlzc2luZyBzb21ldGhpbmc/CgpPaC4uLiBJIHdhcyB3 cm9uZyBhZ2FpbiwgIEkgd2FzIHJlYWRpbmcgYSBpbml0IGZ1bmMgc2V0dXBfZWFybHlfbWVtX3By b2ZpbGluZy4uLi4uLgoKPgo+PiA+Cj4+ID5Pay4gTWF5YmUgaXQgc2hvdWxkbid0IHJlcG9ydCBt ZW1vcnkgYWxsb2NhdGlvbiBpbmZvcm1hdGlvbiB0aGF0IGlzCj4+ID5jb2xsZWN0ZWQgYmVmb3Jl IG1lbSBwcm9maWxpbmcgd2FzIGRpc2FibGVkLiAoSSdtIG5vdCBzdXJlIHdoeSBpdCBkaXNhYmxp bmcKPj4gPmF0IHJ1bnRpbWUgaXMgYWxsb3dlZCwgdGhvdWdoKQo+PiA+Cj4+ID5UaGF0J3MgYSBn b29kIHRoaW5nIHRvIGhhdmUsIGJ1dCBJIHRoaW5rIHRoYXQncyBhIGJlaGF2aW9yYWwgY2hhbmdl IGluCj4+ID5tZW0gcHJvZmlsaW5nLCBpcnJlbGV2YW50IHRvIHRoaXMgYnVnIGFuZCBub3QgYSAt c3RhYmxlIHRoaW5nLgo+PiA+Cj4+ID5NYXliZSBhcyBhIGZvbGxvdy11cCBwYXRjaD8KPj4KPj4g T25seSBhIGxpdHRsZSBtb3JlIGNoYW5nZXMgbmVlZGVkLCBJIHdhcyBzdWdnZXN0aW5nOgo+Pgo+ PiBAQCAtMTM0LDYgKzEyMiwxNCBAQCBzaXplX3QgYWxsb2NfdGFnX3RvcF91c2VycyhzdHJ1Y3Qg Y29kZXRhZ19ieXRlcyAqdGFncywgc2l6ZV90IGNvdW50LCBib29sIGNhbl9zbAo+PiAgICAgICAg IHN0cnVjdCBjb2RldGFnX2J5dGVzIG47Cj4+ICAgICAgICAgdW5zaWduZWQgaW50IGksIG5yID0g MDsKPj4KPj4gKyAgICAgICBpZiAoIW1lbV9wcm9maWxpbmdfc3VwcG9ydCkKPj4gKyAgICAgICAg ICAgICAgIHJldHVybiAwOwo+Cj5EYXZpZCBpcyByaWdodCB0aGF0IHdpdGggL3Byb2Mvc3lzL3Zt L21lbV9wcm9maWxpbmcgbWVtb3J5IHByb2ZpbGluZwo+Y2FuIGJlIHR1cm5lZCBvZmYgYXQgcnVu dGltZSBidXQgdGhlIGFib3ZlIGNvbmRpdGlvbiBzaG91bGQgYmU6Cj4KPmlmICghbWVtX2FsbG9j X3Byb2ZpbGluZ19lbmFibGVkKCkpCj4gICAgICAgIHJldHVybiAwOwo+Cj4KPj4gKwo+PiArICAg ICAgIGlmIChJU19FUlJfT1JfTlVMTChhbGxvY190YWdfY3R0eXBlKSkgewo+PiArICAgICAgICAg ICAgICAgcHJfd2FybigiYWxsb2N0YWcgbW9kdWxlIGlzIG5vdCByZWFkeSB5ZXQuXG4iKTsKPgo+ SSBkb24ndCB0aGluayBzcGl0dGluZyBvdXQgdGhpcyB3YXJuaW5nIG9uIGV2ZXJ5IHNob3dfbWVt KCkgaXMgdXNlZnVsLgo+SWYgYWxsb2NfdGFnX2N0dHlwZSBpcyBpbnZhbGlkIGJlY2F1c2UgY29k ZXRhZ19yZWdpc3Rlcl90eXBlKCkgZmFpbGVkCj50aGVuIHdlIGFscmVhZHkgcHJpbnQgYW4gZXJy b3IgaGVyZToKPmh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y2LjE2LXJjMy9zb3Vy Y2UvbGliL2FsbG9jX3RhZy5jI0w4MjksCj5zbyB1c2VyIGhhcyB0aGUgbG9ncyB0byB0cmFjayB0 aGlzIGRvd24uCj5JZiBzaG93X21lbSgpIGlzIGNhbGxlZCBzbyBlYXJseSB0aGF0IGFsbG9jX3Rh Z19pbml0KCkgaGFzbid0IGJlZW4KPmNhbGxlZCB5ZXQgdGhlbiBtaXNzaW5nIGFsbG9jYXRpb24g dGFnIGluZm9ybWF0aW9uIHdvdWxkIG5vdCBiZQo+c3VycHJpc2luZyBJIHRoaW5rLCBjb25zaWRl cmluZyBpdCdzIGVhcmx5IGJvb3QuIEkgZG9uJ3QgdGhpbmsgaXQncwo+d29ydGggZGV0ZWN0aW5n IGFuZCByZXBvcnRpbmcgc3VjaCBhIHN0YXRlLgo+Cj4+ICsgICAgICAgICAgICAgICByZXR1cm4g MDsKPj4gKyAgICAgICB9Cj4+ICsKPj4gICAgICAgICBpZiAoY2FuX3NsZWVwKQo+Pgo+Pgo+Pgo+ PiBEYXZpZAo=