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 122BCC77B7F for ; Tue, 24 Jun 2025 11:28:35 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 600836B00A8; Tue, 24 Jun 2025 07:28:35 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5D8536B00A9; Tue, 24 Jun 2025 07:28:35 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 5150C6B00AA; Tue, 24 Jun 2025 07:28:35 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 403646B00A8 for ; Tue, 24 Jun 2025 07:28:35 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 6C145103AE5 for ; Tue, 24 Jun 2025 11:28:34 +0000 (UTC) X-FDA: 83590071348.08.31F5730 Received: from m16.mail.163.com (m16.mail.163.com [117.135.210.3]) by imf20.hostedemail.com (Postfix) with ESMTP id 7E0DC1C0009 for ; Tue, 24 Jun 2025 11:28:31 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=fail ("body hash did not verify") header.d=163.com header.s=s110527 header.b="e XjORiG"; spf=pass (imf20.hostedemail.com: domain of 00107082@163.com designates 117.135.210.3 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=1750764512; 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=6D3kjNofb+f7w+IQHGPQnVbvLFgy9DbmvR2zxBthjkU=; b=crtQ7P0cXy/nN6jQsSB/rZM8ZY7Z5VM/pfBH3kJGnueb7lUsLvNuD38A/BuwiC1gv/TAa4 rCq1Cq43EiC26bE2Fao0mSJBfIaiFwqOOtZh6UwFzK+oIOKIBy9YE3TRf7cCaEY9G+gYDN H+gYBiF1glNJS3qc4qaBrYS/qS0rSkk= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750764512; a=rsa-sha256; cv=none; b=tFSPZALxo1hVOx0M6GF7A6eUoLSgY39iezouNdTP3BUmvF1G3wNbH00lU32gVQWgCziK0+ bKyW4yON2rcWjUgRxkDmUreyTeUS6LAe7EpMzgU4lSSxUQB2lNAPND2vGq/t02WM9WZbcx HtZi23L1D8DEr7saH521lvNzfpo56bE= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=fail ("body hash did not verify") header.d=163.com header.s=s110527 header.b="e XjORiG"; spf=pass (imf20.hostedemail.com: domain of 00107082@163.com designates 117.135.210.3 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=agaPycld8r7LXK25BoaE7ykOlUaZsD04YAWHhmtH3tw=; b=e XjORiGwN+xWQK0DnTLe/wQ9r2D1pmpKv+kmDp7gNeJkKvMHDYsf9PKhWgceH7JBC Yqkt/wsaprfpwREmeIdRaD6h3pk9aQqzHyiw9hCK1hE/+dbfhZkGH3y5kDMkiksl mET04NF+0VetFjei0LBEM/Oqgqv/p0ShP3hllT7olc= Received: from 00107082$163.com ( [111.35.191.166] ) by ajax-webmail-wmsvr-40-130 (Coremail) ; Tue, 24 Jun 2025 19:28:18 +0800 (CST) X-Originating-IP: [111.35.191.166] Date: Tue, 24 Jun 2025 19:28:18 +0800 (CST) From: "David Wang" <00107082@163.com> To: "Harry Yoo" Cc: akpm@linux-foundation.org, surenb@google.com, 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()y 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> <4f12c217.7a79.197a1070f55.Coremail.00107082@163.com> <23eb5af1.9692.197a145e5c2.Coremail.00107082@163.com> X-NTES-SC: AL_Qu2eAvudu0wi7iKcYOkZnEYQheY4XMKyuPkg1YJXOp80mCXT3g8YZ25cIlzV9PmlDSSmoQmRfDFE8ed/V5lTW6KisgWgY6mVm7liByrpKYJN Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=GBK MIME-Version: 1.0 Message-ID: X-Coremail-Locale: zh_CN X-CM-TRANSID:gigvCgD3P43Ti1po1tkjAA--.8884W X-CM-SenderInfo: qqqrilqqysqiywtou0bp/xtbBkBB2qmhagDF+fQACse X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: 7E0DC1C0009 X-Stat-Signature: c9pk51xh73j7q975qa5iyb4kcqt8hmmp X-Rspam-User: X-HE-Tag: 1750764511-748799 X-HE-Meta: U2FsdGVkX1+SkZ0q6j1HJ8vMJ5ZCK3GVAPCnIwSXIrV38q5StyjThqb6oao1EvWAjhw4yGvWSK0FnFpBt+sKFOQxIp6hp8AkYCtSrKEJ5KfJV9/tAFxUxBY7/fc6tfSgFQUiAjpO70h4o27Nq4X//uzOT2TS6Pq5zdKCA7OpV7qKQS0XrFmTRsnTHcknOAAehmFHuvVhbCNLwd34goH6pQ93LE+9phQmPlrZqwksBLZ4t6juMTVjOD0D+Jx7+tkEqcR8vZ7v7PLTttVP2/AKAVHETAQvRfKg5hPBaTjjjYA5V4HK5jnMtIURncHGa4WVbl0Oi110OBw3tvxDxc6pZwb6TPLZuiFdIs5hKUMiLBVb9BCI4mo7OBVvApjRlwP2ezzXBfQ36Ic5YsA4JrnxNkVN6UJ+feWb0LP3RgIf+M2yeS0YyEsESF3nofgdjzawy65cHynkdP5Gp4UwScmhvkIHTh/AyU97wfBGwvIMb7j/aylTwZ0KQRuRomgfBDsdcodpZjnFV3YtVKBsW+wTObt6CWnymQQiFpfRxjZk9Vv28it5kPuOdhODGY3zN40eVoYSV5mKCYWUt6tJrzJBPaeaNJANxdj5DY80lyfuOPgffyy+kBNDM11h8MH81RRcl1G1eafQlU3a1c5sGRdQtUHaJ4OgSLXZrF/tqIF4Va69qSfLv5ceh3hhRDdJm0Z+QUUjiDJZqdIlN1cjOMwbafqC8TDWtSt/GibCcJxOjvzlOowWtON9bOgDhlriQrT4gmephVMoksSi1Bdn6NYkDiTX8SyzMdPXWr3GX0jXHUlguG5diwpbO5NIzb0zTO9I5o21zoMeksSZk5f0bVJZlI3HI6Tp/qyuG6z9ltBW52LO778Yy+q8jeqCjQW2/XJOiJUrdNkl74rMbd2GS1m51iRaUXlt4KkRrTOx14qBJm6tANX1AuV+3jhu6HpX/2WtH1i1N0FI9XzHx84fWcb bzie9Da8 1CReDu97PVnammOvn45n0kANNza1pri+IG//py+KvSTC8D7mcjHDbw4S6fmaxwTGMpLrWlbQMP62yLZ6TsfVb9EMI8FmsOWlNjEOT14RU9Rf9my84FPEkctMoZrdYriMScE/Y5tyh9D4mxIY/FRBmJbzOJ/2q/TpAGKk4U/zHvRKol9JmQhtyzMg7AvNbABejtwvrSTLQzTmWm2IMJ5tCL1GpLKwZ+Wsf3toB8Q5YtmAnx8BalDpIyPTXcOjM+gtG2Ds76spWC4EyGe/1HQfuoVPaJzEGFSnbxaixrzCc2bg71lyd3vz22DNSORT8T1jz2aYkiJutImqEaXUodOR0SuQ1PPbD2Oy8rOfZGVLRZ24uT01GwnzXZXsaTrg9uKcB3B3rWpgi1BS4f68ZTaJ/H3tgVZN5oNEOSlqk3FNwC9I+RYCAR3ai5JHHS1VssmXOwpmdaJRekvaveiOCUjUvUEIQhkLzz4QOJ5tQ8eA6oqg7t8nCQarXHnBLiWpbF3ur3m5kNq2CbC0z0vrsTEX4KPm1gLWWbyq1oSfuRJKn02Ggd/G+2Ybc6tbWOM1jG1U4kVMlwvxqX8wo1ltJRBr8Zy58P71iGViT2Wo9PhpHZOf30Ri3n7hywr9HGVcWJ2r+o+pAsaXJkz5QY4JwF0D0PvpMFw== 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: CkF0IDIwMjUtMDYtMjQgMTg6NTk6NTIsICJIYXJyeSBZb28iIDxoYXJyeS55b29Ab3JhY2xlLmNv bT4gd3JvdGU6Cj5PbiBUdWUsIEp1biAyNCwgMjAyNSBhdCAwNTozMDowMlBNICswODAwLCBEYXZp ZCBXYW5nIHdyb3RlOgo+PiAKPj4gQXQgMjAyNS0wNi0yNCAxNzowOTo1NCwgIkhhcnJ5IFlvbyIg PGhhcnJ5Lnlvb0BvcmFjbGUuY29tPiB3cm90ZToKPj4gPk9uIFR1ZSwgSnVuIDI0LCAyMDI1IGF0 IDA0OjIxOjIzUE0gKzA4MDAsIERhdmlkIFdhbmcgd3JvdGU6Cj4+ID4+IEF0IDIwMjUtMDYtMjQg MTU6MjU6MTMsICJIYXJyeSBZb28iIDxoYXJyeS55b29Ab3JhY2xlLmNvbT4gd3JvdGU6Cj4+ID4+ ID5hbGxvY190YWdfdG9wX3VzZXJzKCkgYXR0ZW1wdHMgdG8gbG9jayBhbGxvY190YWdfY3R0eXBl LT5tb2RfbG9jawo+PiA+PiA+ZXZlbiB3aGVuIHRoZSBhbGxvY190YWdfY3R0eXBlIGlzIG5vdCBh bGxvY2F0ZWQgYmVjYXVzZToKPj4gPj4gPgo+PiA+PiA+ICAxKSBhbGxvYyB0YWdnaW5nIGlzIGRp c2FibGVkIGJlY2F1c2UgbWVtIHByb2ZpbGluZyBpcyBkaXNhYmxlZAo+PiA+PiA+ICAgICAoIWFs bG9jX3RhZ19jdHR5cGUpCj4+ID4+ID4gIDIpIGFsbG9jIHRhZ2dpbmcgaXMgZW5hYmxlZCwgYnV0 IG5vdCB5ZXQgaW5pdGlhbGl6ZWQgKCFhbGxvY190YWdfY3R0eXBlKQo+PiA+PiA+ICAzKSBhbGxv YyB0YWdnaW5nIGlzIGVuYWJsZWQsIGJ1dCBmYWlsZWQgaW5pdGlhbGl6YXRpb24KPj4gPj4gPiAg ICAgKCFhbGxvY190YWdfY3R0eXBlIG9yIElTX0VSUihhbGxvY190YWdfY3R0eXBlKSkKPj4gPj4g Pgo+PiA+PiA+SW4gYWxsIGNhc2VzLCBhbGxvY190YWdfY3R0eXBlIGlzIG5vdCBhbGxvY2F0ZWQs IGFuZCB0aGVyZWZvcmUKPj4gPj4gPmFsbG9jX3RhZ190b3BfdXNlcnMoKSBzaG91bGQgbm90IGF0 dGVtcHQgdG8gYWNxdWlyZSB0aGUgc2VtYXBob3JlLgo+PiA+PiA+Cj4+ID4+ID5UaGlzIGxlYWRz IHRvIGEgY3Jhc2ggb24gbWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZSBieSBhdHRlbXB0aW5nIHRv Cj4+ID4+ID5hY3F1aXJlIGEgbm9uLWV4aXN0ZW50IHNlbWFwaG9yZToKPj4gPj4gPgo+PiA+PiA+ ICBPb3BzOiBnZW5lcmFsIHByb3RlY3Rpb24gZmF1bHQsIHByb2JhYmx5IGZvciBub24tY2Fub25p Y2FsIGFkZHJlc3MgMHhkZmZmZmMwMDAwMDAwMDFiOiAwMDAwIFsjM10gU01QIEtBU0FOIE5PUFRJ Cj4+ID4+ID4gIEtBU0FOOiBudWxsLXB0ci1kZXJlZiBpbiByYW5nZSBbMHgwMDAwMDAwMDAwMDAw MGQ4LTB4MDAwMDAwMDAwMDAwMDBkZl0KPj4gPj4gPiAgQ1BVOiAyIFVJRDogMCBQSUQ6IDEgQ29t bTogc3lzdGVtZCBUYWludGVkOiBHICAgICAgRCAgICAgICAgICAgICA2LjE2LjAtcmMyICMxIFZP TFVOVEFSWQo+PiA+PiA+ICBUYWludGVkOiBbRF09RElFCj4+ID4+ID4gIEhhcmR3YXJlIG5hbWU6 IFFFTVUgU3RhbmRhcmQgUEMgKGk0NDBGWCArIFBJSVgsIDE5OTYpLCBCSU9TIDEuMTYuMi1kZWJp YW4tMS4xNi4yLTEgMDQvMDEvMjAxNAo+PiA+PiA+ICBSSVA6IDAwMTA6ZG93bl9yZWFkX3RyeWxv Y2srMHhhYS8weDNiMAo+PiA+PiA+ICBDb2RlOiBkMCA3YyAwOCA4NCBkMiAwZiA4NSBhMCAwMiAw MCAwMCA4YiAwZCBkZiAzMSBkZCAwNCA4NSBjOSA3NSAyOSA0OCBiOCAwMCAwMCAwMCAwMCAwMCBm YyBmZiBkZiA0OCA4ZCA2YiA2OCA0OCA4OSBlYSA0OCBjMSBlYSAwMyA8ODA+IDNjIDAyIDAwIDBm IDg1IDg4IDAyIDAwIDAwIDQ4IDNiIDViIDY4IDBmIDg1IDUzIDAxIDAwIDAwIDY1IGZmCj4+ID4+ ID4gIFJTUDogMDAwMDpmZmZmODg4MTAwMmNlOWI4IEVGTEFHUzogMDAwMTAwMTYKPj4gPj4gPiAg UkFYOiBkZmZmZmMwMDAwMDAwMDAwIFJCWDogMDAwMDAwMDAwMDAwMDA3MCBSQ1g6IDAwMDAwMDAw MDAwMDAwMDAKPj4gPj4gPiAgUkRYOiAwMDAwMDAwMDAwMDAwMDFiIFJTSTogMDAwMDAwMDAwMDAw MDAwYSBSREk6IDAwMDAwMDAwMDAwMDAwNzAKPj4gPj4gPiAgUkJQOiAwMDAwMDAwMDAwMDAwMGQ4 IFIwODogMDAwMDAwMDAwMDAwMDAwMSBSMDk6IGZmZmZlZDEwN2RkZTQ5ZDEKPj4gPj4gPiAgUjEw OiBmZmZmODg4M2VlZjI0ZThiIFIxMTogZmZmZjg4ODEwMDJjZWMyMCBSMTI6IDFmZmZmMTEwMjAw NTlkMzcKPj4gPj4gPiAgUjEzOiAwMDAwMDAwMDAwM2ZmZjdiIFIxNDogZmZmZjg4ODEwMDJjZWMy MCBSMTU6IGRmZmZmYzAwMDAwMDAwMDAKPj4gPj4gPiAgRlM6ICAwMDAwN2Y5NjNmMjFkOTQwKDAw MDApIEdTOmZmZmY4ODg0NThjYTYwMDAoMDAwMCkga25sR1M6MDAwMDAwMDAwMDAwMDAwMAo+PiA+ PiA+ICBDUzogIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCj4+ ID4+ID4gIENSMjogMDAwMDdmOTYzZjVlZGY3MSBDUjM6IDAwMDAwMDAxMDY3MmMwMDAgQ1I0OiAw MDAwMDAwMDAwMzUwZWYwCj4+ID4+ID4gIENhbGwgVHJhY2U6Cj4+ID4+ID4gICA8VEFTSz4KPj4g Pj4gPiAgIGNvZGV0YWdfdHJ5bG9ja19tb2R1bGVfbGlzdCsweGQvMHgyMAo+PiA+PiA+ICAgYWxs b2NfdGFnX3RvcF91c2VycysweDM2OS8weDRiMAo+PiA+PiA+ICAgX19zaG93X21lbSsweDFjZC8w eDZlMAo+PiA+PiA+ICAgd2Fybl9hbGxvYysweDJiMS8weDM5MAo+PiA+PiA+ICAgX19hbGxvY19m cm96ZW5fcGFnZXNfbm9wcm9mKzB4MTJiOS8weDIxYTAKPj4gPj4gPiAgIGFsbG9jX3BhZ2VzX21w b2wrMHgxMzUvMHgzZTAKPj4gPj4gPiAgIGFsbG9jX3NsYWJfcGFnZSsweDgyLzB4ZTAKPj4gPj4g PiAgIG5ld19zbGFiKzB4MjEyLzB4MjQwCj4+ID4+ID4gICBfX19zbGFiX2FsbG9jKzB4ODJhLzB4 ZTAwCj4+ID4+ID4gICA8L1RBU0s+Cj4+ID4+ID4KPj4gPj4gPkFzIERhdmlkIFdhbmcgcG9pbnRz IG91dCwgdGhpcyBpc3N1ZSBiZWNhbWUgZWFzaWVyIHRvIHRyaWdnZXIgYWZ0ZXIgY29tbWl0Cj4+ ID4+ID43ODAxMzhiMTIzODEgKCJhbGxvY190YWc6IGNoZWNrIG1lbV9wcm9maWxpbmdfc3VwcG9y dCBpbiBhbGxvY190YWdfaW5pdCIpLgo+PiA+PiA+Cj4+ID4+ID5CZWZvcmUgdGhlIGNvbW1pdCwg dGhlIGlzc3VlIG9jY3VycmVkIG9ubHkgd2hlbiBpdCBmYWlsZWQgdG8gYWxsb2NhdGUKPj4gPj4g PmFuZCBpbml0aWFsaXplIGFsbG9jX3RhZ19jdHR5cGUgb3IgaWYgYSBtZW1vcnkgYWxsb2NhdGlv biBmYWlscyBiZWZvcmUKPj4gPj4gPmFsbG9jX3RhZ19pbml0KCkgaXMgY2FsbGVkLiBBZnRlciB0 aGUgY29tbWl0LCBpdCBjYW4gYmUgZWFzaWx5IHRyaWdnZXJlZAo+PiA+PiA+d2hlbiBtZW1vcnkg cHJvZmlsaW5nIGlzIGNvbXBpbGVkIGJ1dCBkaXNhYmxlZCBhdCBib290Lgo+PiA+PiA+Cj4+ID4+ ID5UbyBwcm9wZXJseSBkZXRlcm1pbmUgd2hldGhlciBhbGxvY190YWdfaW5pdCgpIGhhcyBiZWVu IGNhbGxlZCBhbmQKPj4gPj4gPml0cyBkYXRhIHN0cnVjdHVyZXMgaW5pdGlhbGl6ZWQsIHZlcmlm eSB0aGF0IGFsbG9jX3RhZ19jdHR5cGUgaXMgYSB2YWxpZAo+PiA+PiA+cG9pbnRlciBiZWZvcmUg YWNxdWlyaW5nIHRoZSBzZW1hcGhvcmUuIElmIHRoZSB2YXJpYWJsZSBpcyBOVUxMIG9yIGFuIGVy cm9yCj4+ID4+ID52YWx1ZSwgaXQgaGFzIG5vdCBiZWVuIHByb3Blcmx5IGluaXRpYWxpemVkLiBJ biBzdWNoIGEgY2FzZSwganVzdCBza2lwCj4+ID4+ID5hbmQgZG8gbm90IGF0dGVtcHQgdG8gYWNx dWlyZSB0aGUgc2VtYXBob3JlLgo+PiA+PiA+Cj4+ID4+ID5SZXBvcnRlZC1ieToga2VybmVsIHRl c3Qgcm9ib3QgPG9saXZlci5zYW5nQGludGVsLmNvbT4KPj4gPj4gPkNsb3NlczogaHR0cHM6Ly91 cmxkZWZlbnNlLmNvbS92My9fX2h0dHBzOi8vbG9yZS5rZXJuZWwub3JnL29lLWxrcC8yMDI1MDYx ODEzNTEuYmJhODY3ZGQtbGtwQGludGVsLmNvbV9fOyEhQUNXVjVOOU0yUlY5OWhRIVB4Sk5LcDRC ajZoMFhJV3BSWGNtRmVJejUxak9SdFJSQW8xajIzWm5SZ3ZUbTBFME1wNWw2VXJMTkNraUh3dzZB VldPU2ZiRERkQndLZ0o5X1EkIAo+PiA+PiA+Q2xvc2VzOiBodHRwczovL3VybGRlZmVuc2UuY29t L3YzL19faHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvb2UtbGtwLzIwMjUwNjEzMTcxMS41YjQxOTMx Yy1sa3BAaW50ZWwuY29tX187ISFBQ1dWNU45TTJSVjk5aFEhUHhKTktwNEJqNmgwWElXcFJYY21G ZUl6NTFqT1J0UlJBbzFqMjNablJndlRtMEUwTXA1bDZVckxOQ2tpSHd3NkFWV09TZmJERGRDLTdP aVVzZyQgCj4+ID4+ID5GaXhlczogNzgwMTM4YjEyMzgxICgiYWxsb2NfdGFnOiBjaGVjayBtZW1f cHJvZmlsaW5nX3N1cHBvcnQgaW4gYWxsb2NfdGFnX2luaXQiKQo+PiA+PiA+Rml4ZXM6IDE0Mzhk MzQ5ZDE2YiAoImxpYjogYWRkIG1lbW9yeSBhbGxvY2F0aW9ucyByZXBvcnQgaW4gc2hvd19tZW0o KSIpCj4+ID4+ID5DYzogc3RhYmxlQHZnZXIua2VybmVsLm9yZwo+PiA+PiA+U2lnbmVkLW9mZi1i eTogSGFycnkgWW9vIDxoYXJyeS55b29Ab3JhY2xlLmNvbT4KPj4gPj4gPi0tLQo+PiA+PiA+Cj4+ ID4+ID5AU3VyZW46IEkgZGlkIG5vdCBhZGQgYW5vdGhlciBwcl93YXJuKCkgYmVjYXVzZSBldmVy eSBlcnJvciBwYXRoIGluCj4+ID4+ID5hbGxvY190YWdfaW5pdCgpIGFscmVhZHkgaGFzIHByX2Vy cigpLgo+PiA+PiA+Cj4+ID4+ID52MiAtPiB2MzoKPj4gPj4gPi0gQWRkZWQgYW5vdGhlciBDbG9z ZXM6IHRhZyAoRGF2aWQpCj4+ID4+ID4tIE1vdmVkIHRoZSBjb25kaXRpb24gaW50byBhIHN0YW5k YWxvbmUgaWYgYmxvY2sgZm9yIGJldHRlciByZWFkYWJpbGl0eQo+PiA+PiA+ICAoU3VyZW4pCj4+ ID4+ID4tIFR5cG8gZml4IChTdXJlbikKPj4gPj4gPgo+PiA+PiA+IGxpYi9hbGxvY190YWcuYyB8 IDMgKysrCj4+ID4+ID4gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQo+PiA+PiA+Cj4+ ID4+ID5kaWZmIC0tZ2l0IGEvbGliL2FsbG9jX3RhZy5jIGIvbGliL2FsbG9jX3RhZy5jCj4+ID4+ ID5pbmRleCA0MWNjZmIwMzViN2IuLmU5YjMzODQ4NzAwYSAxMDA2NDQKPj4gPj4gPi0tLSBhL2xp Yi9hbGxvY190YWcuYwo+PiA+PiA+KysrIGIvbGliL2FsbG9jX3RhZy5jCj4+ID4+ID5AQCAtMTI3 LDYgKzEyNyw5IEBAIHNpemVfdCBhbGxvY190YWdfdG9wX3VzZXJzKHN0cnVjdCBjb2RldGFnX2J5 dGVzICp0YWdzLCBzaXplX3QgY291bnQsIGJvb2wgY2FuX3NsCj4+ID4+ID4gCXN0cnVjdCBjb2Rl dGFnX2J5dGVzIG47Cj4+ID4+ID4gCXVuc2lnbmVkIGludCBpLCBuciA9IDA7Cj4+ID4+ID4gCj4+ ID4+ID4rCWlmIChJU19FUlJfT1JfTlVMTChhbGxvY190YWdfY3R0eXBlKSkKPj4gPj4gCj4+ID4+ IFNob3VsZCBhIHdhcm5pbmcgIGFkZGVkIGhlcmU/IGluZGljYXRpbmcgIGNvZGV0YWcgbW9kdWxl IG5vdCByZWFkeSB5ZXQgYW5kIHRoZSBtZW1vcnkgZmFpbHVyZSBoYXBwZW5lZCBkdXJpbmcgYm9v dDoKPj4gPj4gIGlmIChtZW1fcHJvZmlsaW5nX3N1cHBvcnQpIHByX3dhcm4oIi4uLgo+PiA+Cj4+ ID5JIHRoaW5rIHlvdSdyZSBzYXlpbmcgd2UgbmVlZCB0byBwcmludCBhIHdhcm5pbmcgd2hlbiBh bGxvYyB0YWdnaW5nCj4+ID5jYW4ndCBwcm92aWRlICJ0b3AgdXNlcnMiLgo+PiAKPj4gSSBqdXN0 IG1lYW50IHByaW50aW5nIGEgd2FybmluZyB3aGVuIHNob3dfbWVtIGlzIG5lZWRlZCBiZWZvcmUg Y29kZXRhZyBtb2R1bGUgaW5pdGlhbGl6ZWQsIAo+PiBhcyByZXBvcnRlZCBpbiBodHRwczovL3Vy bGRlZmVuc2UuY29tL3YzL19faHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvb2UtbGtwLzIwMjUwNjE4 MTM1MS5iYmE4NjdkZC1sa3BAaW50ZWwuY29tL19fOyEhQUNXVjVOOU0yUlY5OWhRIUoyd2FUVXJv OG93YVlscEFaSjZmbnJIWnZjR01iWTZxQU81UXZ2SUdaelV2LXJ5V2pDamhPLW1hVE9vbGZwUHZQ U3I2Q3BxT2drUmFsQ3dKb3ckIAo+PiB3aGVyZSBtZW1fcHJvZmlsaW5nX3N1cHBvcnQgaXMgMSwg YnV0IGFsbG9jX3RhZ19jdHR5cGUgaXMgc3RpbGwgTlVMTC4KPj4gVGhpcyBjYW4gdGVsbCB3ZSBk byBoYXZlIGEgbWVtb3J5IGZhaWx1cmUgZHVyaW5nIGJvb3QgYmVmb3JlIGNvZGV0YWdfaW5pdCwg ZXZlbiB3aXRoIG1lbW9yeSBwcm9maWxpbmcgYWN0aXZhdGVkLgo+Cj5Pay4gWW91IGRpZG4ndCBt ZWFuIHRoYXQuCj4KPkJ1dCBzdGlsbCBJIHRoaW5rIGl0J3MgYmV0dGVyIHRvIGhhbmRsZSBhbGwg Y2FzZXMgYW5kIHByaW50IGRpc3RpbmN0Cj53YXJuaW5ncywgcmF0aGVyIHRoYW4gaGFuZGxpbmcg b25seSB0aGUgc3BlY2lmaWMgY2FzZSB3aGVyZSBtZW1vcnkgcHJvZmlsaW5nCj5pcyBlbmFibGVk IGJ1dCBub3QgeWV0IGluaXRpYWxpemVkLgo+Cj5Vc2VycyB3aWxsIHdhbnQgdG8ga25vdyB3aHkg YWxsb2NhdGlvbiBpbmZvcm1hdGlvbiBpcyBub3QgYXZhaWxhYmxlLAo+YW5kIHRoZXJlIGNhbiBi ZSBtdWx0aXBsZSByZWFzb25zIGluY2x1ZGluZyB0aGUgb25lIHlvdSBtZW50aW9uZWQuCj4KPldo YXQgZG8geW91IHRoaW5rPwoKSSBhbSBub3Qgc3VyZS4uLi4gCkkgdGhpbmsgbW9zdCBjYXNlcyB5 b3UgbWVudGlvbmVkIGlzIGp1c3QgYSBwcl9pbmZvLCAgdGhvc2UgYXJlIGV4cGVjdGVkIGJlaGF2 aW9yIG9yIGRlc2lnbmVkIHRoYXQgd2F5LgpCdXQgd2hlbiAgbWVtX3Byb2ZpbGluZ19zdXBwb3J0 PT0xICYmIGFsbG9jX3RhZ19jdHR5cGU9PU5VTEwsIHRoaXMgaXMgYW4gdW5leHBlY3RlZCBiZWhh dmlvciwgd2hpY2ggaXMgYSBwcl93YXJuLgoKCgo+Cj4+ID5BbmQgdGhlcmUgY2FuIGJlIHRocmVl IGRpZmZlcmVudCByZWFzb25zIHdoeSBpdCBjYW4ndCBwcm92aWRlIHRoZW06Cj4+ID4KPj4gPjEp IGFsbG9jX3RhZ19jdHR5cGUgaXMgbm90IHJlYWR5IHlldCBvciBtZW0gcHJvZmlsaW5nIGlzIGRp c2FibGVkLgo+PiA+MikgdGhlIGNvbnRleHQgY2FuJ3Qgc2xlZXAgYW5kIHRyeWxvY2sgZmFpbGVk Lgo+PiAKPj4gVGhpcyBjYXNlIGlzIG5vdCBqdXN0IGFib3V0IHdhcm5pbmcsIGl0IGlzIGEgYnVn IGlmIHBvc3NpYmxlLgo+Cj5XaHkgZG8geW91IHRoaW5rIGl0IGlzIGEgYnVnPyBJZiB0cnlsb2Nr IGZhaWxzLCBhbGxvY190YWdfdG9wX3VzZXJzKCkKPnJldHVybnMgMCBhbmQgZG8gbm90aGluZy4K Ck9oLCBJIHdhcyB3cm9uZywgSSB0aG91Z2h0IHRoaXMgaXMgYWJvdXQgZmFpbHVyZSB0byBhY3F1 aXJlIGEgbG9jay4gKG5vdCB0cnlsb2NrLikKCgoKPgo+PiA+MykgYWxsb2MgdGFncyBkbyBub3Qg ZXhpc3QuCj4+ID4KPj4gCj4+ID4tLSAKPj4gPkNoZWVycywKPj4gPkhhcnJ5IC8gSHllb25nZ29u Cj4KPi0tIAo+Q2hlZXJzLAo+SGFycnkgLyBIeWVvbmdnb24K