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 82E96EB64DE for ; Tue, 10 Sep 2024 13:55:30 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 121368D0074; Tue, 10 Sep 2024 09:55:30 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0AB068D0002; Tue, 10 Sep 2024 09:55:30 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E8C9B8D0074; Tue, 10 Sep 2024 09:55:29 -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 C643A8D0002 for ; Tue, 10 Sep 2024 09:55:29 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 50B91403C2 for ; Tue, 10 Sep 2024 13:55:29 +0000 (UTC) X-FDA: 82548975978.18.9BC6861 Received: from m16.mail.163.com (m16.mail.163.com [220.197.31.4]) by imf16.hostedemail.com (Postfix) with ESMTP id A8728180007 for ; Tue, 10 Sep 2024 13:55:26 +0000 (UTC) Authentication-Results: imf16.hostedemail.com; dkim=fail ("body hash did not verify") header.d=163.com header.s=s110527 header.b="h jDOTX7"; spf=pass (imf16.hostedemail.com: domain of ice_yangxiao@163.com designates 220.197.31.4 as permitted sender) smtp.mailfrom=ice_yangxiao@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=1725976475; 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=xI7cKZx8MBXhxkF7OX+jCUS59VURSuwCVTcWL1Xz49A=; b=cfbMO0uPXjQZmtnzYsnwYWC9OKEKCMjGJTbBWhgnYLBAYti13DApKHSA/4DH8/t4kgwBCx +1E0FV4ety2a3DYj2nHkSepFqpXCsMtwtsy6i/dxpJY98423yzcmO/FXYp1XtzMNlIETrR 7KbjcmfCxehwnkDyAMbOzkJcYv7IdeY= ARC-Authentication-Results: i=1; imf16.hostedemail.com; dkim=fail ("body hash did not verify") header.d=163.com header.s=s110527 header.b="h jDOTX7"; spf=pass (imf16.hostedemail.com: domain of ice_yangxiao@163.com designates 220.197.31.4 as permitted sender) smtp.mailfrom=ice_yangxiao@163.com; dmarc=pass (policy=none) header.from=163.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725976475; a=rsa-sha256; cv=none; b=mmFZVuhfU50iQG1YEk+xZfGi0ZCHE5TECAxYipvsJytCsBBVm4OA4jRSH/HUvECxjGeFDc aVwu4F0cM9pvUx8asUyzhaBZcvO23ccH1HakfN4NO8DEHVvZr+BfRQ2gGJpyfInpVjrN9c L+LaMoxMgMXy8VKyQAgPu6ModmPSQ68= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=Date:From:Subject:Content-Type:MIME-Version: Message-ID; bh=tLpTmQvi+pmQjh48Haw5x/HtD5amUr6yISoncjmrCUc=; b=h jDOTX7T4tunoiCZRdQXGhttyHn9Z9V8Ye0YwAwATq8WeOVoQkNtdTlSdyuaRgpt+ vH31Z/v4h+hGpH1PGvi0nowHjLTRn5hW17LxheOeL74dEjPVKnJP+c2our4nTz+4 GGRN+KNZ656sJNlXBYIrKjjnfmEMiR/TQI96m525Zk= Received: from ice_yangxiao$163.com ( [160.86.227.247] ) by ajax-webmail-wmsvr-40-119 (Coremail) ; Tue, 10 Sep 2024 21:55:14 +0800 (CST) X-Originating-IP: [160.86.227.247] Date: Tue, 10 Sep 2024 21:55:14 +0800 (CST) From: =?GBK?B?0e7P/g==?= To: "Dan Carpenter" Cc: oe-kbuild@lists.linux.dev, Liam.Howlett@oracle.com, linux-mm@kvack.org, lkp@intel.com, oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org, ltp@lists.linux.it, oliver.sang@intel.com Subject: Re:Re: [PATCH] mm/vma: Return the exact errno for __split_vma() and mas_store_gfp() X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20240801(9da12a7b) Copyright (c) 2002-2024 www.mailtech.cn 163com In-Reply-To: References: X-NTES-SC: AL_Qu2ZB/WcuU0q4iafYekfmkwaj+w9XcqwuPsm24BUOpp+jD7p+RARe29FD3HG4MyGECeIqh6Rbxpg0/pTUZd1fY0s3w+fe4ExCX6C7QqjKG2nfw== Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=GBK MIME-Version: 1.0 Message-ID: <590f5f4.b737.191dc379076.Coremail.ice_yangxiao@163.com> X-Coremail-Locale: zh_CN X-CM-TRANSID:_____wD3f6fDT+BmJaB0AA--.5296W X-CM-SenderInfo: 5lfhs5xdqj5xldr6il2tof0z/1tbiqRVWXmVOCyXYHwAEsy X-Coremail-Antispam: 1U5529EdanIXcx71UUUUU7vcSsGvfC2KfnxnUU== X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: A8728180007 X-Stat-Signature: bw76guzp41n317tqhdakfd9upxsf4kak X-HE-Tag: 1725976526-805093 X-HE-Meta: U2FsdGVkX1/TqJ+Rggcr3+rkCzDKx6U8yNYD4cRAHcXen7Lsj/PY88RHhSHQ8N/zO3qXyZ9oZ+++lFrGrv5OWGa96faKO6JJDS5lJdN5AHbQmVglh6OliDiA8soQOHkbYouV/fa5o2vb4/NzFvqedyl66CAi9Pr1W/VgIwLzpsefXg4D+fJ5VkW0DBIQg4R/ZJEnzJev7yxwALH8ZoF7ufx3M282GlYMspOycOb3tK8Yx0TK/s4y0f1VxUG/qnLRZfWys7wAQscjwSv90iBaqIAOR166mTJVdzRVOM3BpbaHyzuKmCExI9TB+xqZp85dF4d7CI7UkBhdKMAa6ceDhXLoCNTcMAp34zGZ91q6/rqrjzsCNruWcy/2yHNnyDxkUzy11VX3E37wSc5YC2qspx5qChGWdNebpq1+gdlGkmiDiin1l8w6VMJJCDtO3j7J2h48ymUfqRWip/lTKaZmuD5zxyPpG/MkhbBRI4i90x3iGEY+upB5HwUAaPzVUjNTng/MJItLUK8nf4bqANNWeME2JEO7WYZw6KddEKKilX6JMbSR0xvAUSSRbbZ/XkAUrvUP+cn4Jo+MSW+e25/R8Ky8LyjyhtAg2KapoW3rZx3uizTxNG5GOSiVMHpUKVaWLyV+hxCtw8T3u2F50ZFMJPZmJi7h/gxMV7op2hxxuN9NxjagU9u1V2M7Z6ofbqbl38554/YlgB8Ylk1g6hVJPieKtImcKE8jE1CW1MGvy0oN5te7+fGJ+7jBEW+q/UVdfhm4PtOQPQjw5JZg9VDx2SJMGYR3t5Yhhzj6dsnxX+40OUmiuIpo3u6wDW/Ozn+4egIC3sCX7n2Ur2PVHjNkqUbYBQU8brn2O1dKKhHB1WSClzWlkGkeW1Z1EKGHyNXsfCOI0IbHvhTf9R882olR9CSTutxOeAI8ji9gOmeNECP6z6XR6f4NUtH0Q8R1Qc86C08eOhv9epKZ+nra10x CoeR23M4 zn+srmYtEYeQo3l42UXh+OfAE7GabWAaX8JUzRyLo8NRK+GfyV0B1Cz1G04r2cKQO51MUoilrmfHjiC7Nf9yiRAzBdmwmGQCqnzXgu7OPklad88sJVf5gI3omTbcKg7CBD+mpAjcBArbxk0k0os3PqmOl8v0vmGfK0dfhCWm7jew01cjul6eZYy0sq+sYJG65X5Xsv1gbDjnyKywWCzeXzYUvzcV2r8l+YytDzNGpgqyNMMMsa61Cl5Ng7CP4YeM2dYMLI1Rt4t1/DFhY08UoZWt9cON3S+u+ThUQhBP4LvttzxbP3GJAM/Cm7xlL5xTQRZ+L5hGTfxbthuALPgi4GGC7ePwDcQM/DNNHExq2VtRy3QGTycAmzBIPZjtJTxAyGYekndK0g/34yAD9LjsqMfEFUf7nRPjhzV7Ti5iQnLnJDhjlDeP6ffg4nDMVrSA53Irh+oedr54rYReoeaTloKSLDv53vSQAme0G3fEFYNyj31kCGEwwaZxROWvt6D6eivuwxAK8x832X5OIqBsChzTg0g69ZdiNCtpHrF/3kQ4mJ/VhaI1Bi2umhd6KZVhjxHLIB4BwkqMbH+ErwmCmI/PtBWwIuklS6c/3wRiQhwPCCX9fV8FjCNpc5W1ugieCir1pk01nk8ZVjDTXSZBbUj0nZPqYIteDm93I2u36dcGt2EOl/urjnKmdn8nbUUHb1+yT9NGiXMrSMJuwVsVmiIdkEx3Iey2ZeVqe++yEV2bf7mCpuHazrkT/YxFbsPgqiV7iFYLh5hzSlAZ/Z0Qvz7236lwP+mcF3UCtaFAvMv99hY9x6DoqciZBCd+vzpJQyUEIyd0j0HbtiIcqIUmY6ikBUGBxa6UQ33pyMoubLD+FGx3qjbCnFVvPR/Qg1E8g4pHP 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: CgpBdCAyMDI0LTA5LTEwIDIxOjM3OjQ0LCAiRGFuIENhcnBlbnRlciIgPGRhbi5jYXJwZW50ZXJA bGluYXJvLm9yZz4gd3JvdGU6Cj5IaSBYaWFvLAo+Cj5rZXJuZWwgdGVzdCByb2JvdCBub3RpY2Vk IHRoZSBmb2xsb3dpbmcgYnVpbGQgd2FybmluZ3M6Cj4KPnVybDogICAgaHR0cHM6Ly9naXRodWIu Y29tL2ludGVsLWxhYi1sa3AvbGludXgvY29tbWl0cy9YaWFvLVlhbmcvbW0tdm1hLVJldHVybi10 aGUtZXhhY3QtZXJybm8tZm9yLV9fc3BsaXRfdm1hLWFuZC1tYXNfc3RvcmVfZ2ZwLzIwMjQwOTA5 LTEzMDMyNQo+YmFzZTogICBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2Vy bmVsL2dpdC9ha3BtL21tLmdpdCBtbS1ldmVyeXRoaW5nCj5wYXRjaCBsaW5rOiAgICBodHRwczov L2xvcmUua2VybmVsLm9yZy9yLzIwMjQwOTA5MDUwMjI2LjIwNTMtMS1pY2VfeWFuZ3hpYW8lNDAx NjMuY29tCj5wYXRjaCBzdWJqZWN0OiBbUEFUQ0hdIG1tL3ZtYTogUmV0dXJuIHRoZSBleGFjdCBl cnJubyBmb3IgX19zcGxpdF92bWEoKSBhbmQgbWFzX3N0b3JlX2dmcCgpCj5jb25maWc6IHg4Nl82 NC1yYW5kY29uZmlnLTE2MS0yMDI0MDkxMCAoaHR0cHM6Ly9kb3dubG9hZC4wMS5vcmcvMGRheS1j aS9hcmNoaXZlLzIwMjQwOTEwLzIwMjQwOTEwMjAyNi5MT2g4SjFMaC1sa3BAaW50ZWwuY29tL2Nv bmZpZykKPmNvbXBpbGVyOiBjbGFuZyB2ZXJzaW9uIDE4LjEuNSAoaHR0cHM6Ly9naXRodWIuY29t L2xsdm0vbGx2bS1wcm9qZWN0IDYxN2ExNWE5ZWFjOTYwODhhZTVlOTEzNDI0OGQ4MjM2ZTM0Yjkx YjEpCj4KPklmIHlvdSBmaXggdGhlIGlzc3VlIGluIGEgc2VwYXJhdGUgcGF0Y2gvY29tbWl0IChp LmUuIG5vdCBqdXN0IGEgbmV3IHZlcnNpb24gb2YKPnRoZSBzYW1lIHBhdGNoL2NvbW1pdCksIGtp bmRseSBhZGQgZm9sbG93aW5nIHRhZ3MKPnwgUmVwb3J0ZWQtYnk6IGtlcm5lbCB0ZXN0IHJvYm90 IDxsa3BAaW50ZWwuY29tPgo+fCBSZXBvcnRlZC1ieTogRGFuIENhcnBlbnRlciA8ZGFuLmNhcnBl bnRlckBsaW5hcm8ub3JnPgo+fCBDbG9zZXM6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL3IvMjAy NDA5MTAyMDI2LkxPaDhKMUxoLWxrcEBpbnRlbC5jb20vCj4KPnNtYXRjaCB3YXJuaW5nczoKPm1t L3ZtYS5jOjEyNjMgdm1zX2dhdGhlcl9tdW5tYXBfdm1hcygpIHdhcm46IG1pc3NpbmcgZXJyb3Ig Y29kZSAnZXJyb3InCj4KPnZpbSArL2Vycm9yICsxMjYzIG1tL3ZtYS5jCj4KPjQ5YjFiOGQ2ZjY4 MzEwIExvcmVuem8gU3RvYWtlcyAyMDI0LTA3LTI5ICAxMTY2ICAvKgo+ZGJhMTQ4NDA5MDVmOWUg TGlhbSBSLiBIb3dsZXR0IDIwMjQtMDgtMzAgIDExNjcgICAqIHZtc19nYXRoZXJfbXVubWFwX3Zt YXMoKSAtIFB1dCBhbGwgVk1BcyB3aXRoaW4gYSByYW5nZSBpbnRvIGEgbWFwbGUgdHJlZQo+Njg5 OGM5MDM5YmM4ZTMgTGlhbSBSLiBIb3dsZXR0IDIwMjQtMDgtMzAgIDExNjggICAqIGZvciByZW1v dmFsIGF0IGEgbGF0ZXIgZGF0ZS4gIEhhbmRsZXMgc3BsaXR0aW5nIGZpcnN0IGFuZCBsYXN0IGlm IG5lY2Vzc2FyeQo+Njg5OGM5MDM5YmM4ZTMgTGlhbSBSLiBIb3dsZXR0IDIwMjQtMDgtMzAgIDEx NjkgICAqIGFuZCBtYXJraW5nIHRoZSB2bWFzIGFzIGlzb2xhdGVkLgo+Njg5OGM5MDM5YmM4ZTMg TGlhbSBSLiBIb3dsZXR0IDIwMjQtMDgtMzAgIDExNzAgICAqCj5kYmExNDg0MDkwNWY5ZSBMaWFt IFIuIEhvd2xldHQgMjAyNC0wOC0zMCAgMTE3MSAgICogQHZtczogVGhlIHZtYSBtdW5tYXAgc3Ry dWN0Cj42ODk4YzkwMzliYzhlMyBMaWFtIFIuIEhvd2xldHQgMjAyNC0wOC0zMCAgMTE3MiAgICog QG1hc19kZXRhY2g6IFRoZSBtYXBsZSBzdGF0ZSB0cmFja2luZyB0aGUgZGV0YWNoZWQgdHJlZQo+ NDliMWI4ZDZmNjgzMTAgTG9yZW56byBTdG9ha2VzIDIwMjQtMDctMjkgIDExNzMgICAqCj42ODk4 YzkwMzliYzhlMyBMaWFtIFIuIEhvd2xldHQgMjAyNC0wOC0zMCAgMTE3NCAgICogUmV0dXJuOiAw IG9uIHN1Y2Nlc3MsIC1FUEVSTSBvbiBtc2VhbCB2bWFzLCAtRU5PTUVNIG90aGVyd2lzZQo+Cgo+ VGhpcyBjb21tZW50IG5lZWRzIHRvIGJlIHVwZGF0ZWQuCgoKSGkgRGFuLAoKClRoYW5rcyBmb3Ig eW91ciByZXBseS4KSXQgaGFzIGJlZW4gdXBkYXRlZCBvbiBteSB2MiBwYXRjaFsxXS4KClsxXTog aHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvYWxsL3RpeGluZXZmbHJjaWVrNGJuand6eHY2ZHdxeW9r ZmhyaHRtdTZxbmRjN2hzMnFvaXpkQGlxZzJ0cGpqdHd5dC9ULyAKCgo+Cj40OWIxYjhkNmY2ODMx MCBMb3JlbnpvIFN0b2FrZXMgMjAyNC0wNy0yOSAgMTE3NSAgICovCj45MDE0YjIzMGQ4OGQ3ZiBM aWFtIFIuIEhvd2xldHQgMjAyNC0wOC0zMCAgMTE3NiAgaW50IHZtc19nYXRoZXJfbXVubWFwX3Zt YXMoc3RydWN0IHZtYV9tdW5tYXBfc3RydWN0ICp2bXMsCj5kYmExNDg0MDkwNWY5ZSBMaWFtIFIu IEhvd2xldHQgMjAyNC0wOC0zMCAgMTE3NyAgCQlzdHJ1Y3QgbWFfc3RhdGUgKm1hc19kZXRhY2gp Cj40OWIxYjhkNmY2ODMxMCBMb3JlbnpvIFN0b2FrZXMgMjAyNC0wNy0yOSAgMTE3OCAgewo+MDFj ZjIxZTllMTE5NTcgTGlhbSBSLiBIb3dsZXR0IDIwMjQtMDgtMzAgIDExNzkgIAlzdHJ1Y3Qgdm1f YXJlYV9zdHJ1Y3QgKm5leHQgPSBOVUxMOwo+NDliMWI4ZDZmNjgzMTAgTG9yZW56byBTdG9ha2Vz IDIwMjQtMDctMjkgIDExODAgIAlpbnQgZXJyb3IgPSAtRU5PTUVNOwo+NDliMWI4ZDZmNjgzMTAg TG9yZW56byBTdG9ha2VzIDIwMjQtMDctMjkgIDExODEgIAo+NDliMWI4ZDZmNjgzMTAgTG9yZW56 byBTdG9ha2VzIDIwMjQtMDctMjkgIDExODIgIAkvKgo+NDliMWI4ZDZmNjgzMTAgTG9yZW56byBT dG9ha2VzIDIwMjQtMDctMjkgIDExODMgIAkgKiBJZiB3ZSBuZWVkIHRvIHNwbGl0IGFueSB2bWEs IGRvIGl0IG5vdyB0byBzYXZlIHBhaW4gbGF0ZXIuCj4yMDgzMWNkNmY4MTRlYSBMaWFtIFIuIEhv d2xldHQgMjAyNC0wOC0zMCAgMTE4NCAgCSAqIERvZXMgaXQgc3BsaXQgdGhlIGZpcnN0IG9uZT8K PjQ5YjFiOGQ2ZjY4MzEwIExvcmVuem8gU3RvYWtlcyAyMDI0LTA3LTI5ICAxMTg1ICAJICovCj5k YmExNDg0MDkwNWY5ZSBMaWFtIFIuIEhvd2xldHQgMjAyNC0wOC0zMCAgMTE4NiAgCWlmICh2bXMt PnN0YXJ0ID4gdm1zLT52bWEtPnZtX3N0YXJ0KSB7Cj40OWIxYjhkNmY2ODMxMCBMb3JlbnpvIFN0 b2FrZXMgMjAyNC0wNy0yOSAgMTE4NyAgCj40OWIxYjhkNmY2ODMxMCBMb3JlbnpvIFN0b2FrZXMg MjAyNC0wNy0yOSAgMTE4OCAgCQkvKgo+NDliMWI4ZDZmNjgzMTAgTG9yZW56byBTdG9ha2VzIDIw MjQtMDctMjkgIDExODkgIAkJICogTWFrZSBzdXJlIHRoYXQgbWFwX2NvdW50IG9uIHJldHVybiBm cm9tIG11bm1hcCgpIHdpbGwKPjQ5YjFiOGQ2ZjY4MzEwIExvcmVuem8gU3RvYWtlcyAyMDI0LTA3 LTI5ICAxMTkwICAJCSAqIG5vdCBleGNlZWQgaXRzIGxpbWl0OyBidXQgbGV0IG1hcF9jb3VudCBn byBqdXN0IGFib3ZlCj40OWIxYjhkNmY2ODMxMCBMb3JlbnpvIFN0b2FrZXMgMjAyNC0wNy0yOSAg MTE5MSAgCQkgKiBpdHMgbGltaXQgdGVtcG9yYXJpbHksIHRvIGhlbHAgZnJlZSByZXNvdXJjZXMg YXMgZXhwZWN0ZWQuCj40OWIxYjhkNmY2ODMxMCBMb3JlbnpvIFN0b2FrZXMgMjAyNC0wNy0yOSAg MTE5MiAgCQkgKi8KPmRiYTE0ODQwOTA1ZjllIExpYW0gUi4gSG93bGV0dCAyMDI0LTA4LTMwICAx MTkzICAJCWlmICh2bXMtPmVuZCA8IHZtcy0+dm1hLT52bV9lbmQgJiYKPjYzZmM2NmY1YjZiMThm IExpYW0gUi4gSG93bGV0dCAyMDI0LTA4LTMwICAxMTk0ICAJCSAgICB2bXMtPnZtYS0+dm1fbW0t Pm1hcF9jb3VudCA+PSBzeXNjdGxfbWF4X21hcF9jb3VudCkKPjQ5YjFiOGQ2ZjY4MzEwIExvcmVu em8gU3RvYWtlcyAyMDI0LTA3LTI5ICAxMTk1ICAJCQlnb3RvIG1hcF9jb3VudF9leGNlZWRlZDsK PjQ5YjFiOGQ2ZjY4MzEwIExvcmVuem8gU3RvYWtlcyAyMDI0LTA3LTI5ICAxMTk2ICAKPmRmMmE3 ZGY5YTlhYTMyIFBlZHJvIEZhbGNhdG8gICAyMDI0LTA4LTE3ICAxMTk3ICAJCS8qIERvbid0IGJv dGhlciBzcGxpdHRpbmcgdGhlIFZNQSBpZiB3ZSBjYW4ndCB1bm1hcCBpdCBhbnl3YXkgKi8KPmRi YTE0ODQwOTA1ZjllIExpYW0gUi4gSG93bGV0dCAyMDI0LTA4LTMwICAxMTk4ICAJCWlmICghY2Fu X21vZGlmeV92bWEodm1zLT52bWEpKSB7Cj5kZjJhN2RmOWE5YWEzMiBQZWRybyBGYWxjYXRvICAg MjAyNC0wOC0xNyAgMTE5OSAgCQkJZXJyb3IgPSAtRVBFUk07Cj5kZjJhN2RmOWE5YWEzMiBQZWRy byBGYWxjYXRvICAgMjAyNC0wOC0xNyAgMTIwMCAgCQkJZ290byBzdGFydF9zcGxpdF9mYWlsZWQ7 Cj5kZjJhN2RmOWE5YWEzMiBQZWRybyBGYWxjYXRvICAgMjAyNC0wOC0xNyAgMTIwMSAgCQl9Cj5k ZjJhN2RmOWE5YWEzMiBQZWRybyBGYWxjYXRvICAgMjAyNC0wOC0xNyAgMTIwMiAgCj4wMTM1NDVl MWI5YmNhMCBYaWFvIFlhbmcgICAgICAgMjAyNC0wOS0wOSAgMTIwMyAgCQllcnJvciA9IF9fc3Bs aXRfdm1hKHZtcy0+dm1pLCB2bXMtPnZtYSwgdm1zLT5zdGFydCwgMSk7Cj4wMTM1NDVlMWI5YmNh MCBYaWFvIFlhbmcgICAgICAgMjAyNC0wOS0wOSAgMTIwNCAgCQlpZiAoZXJyb3IpCj40OWIxYjhk NmY2ODMxMCBMb3JlbnpvIFN0b2FrZXMgMjAyNC0wNy0yOSAgMTIwNSAgCQkJZ290byBzdGFydF9z cGxpdF9mYWlsZWQ7Cj40OWIxYjhkNmY2ODMxMCBMb3JlbnpvIFN0b2FrZXMgMjAyNC0wNy0yOSAg MTIwNiAgCX0KPjE3ZjFhZTliNDBjNmIwIExpYW0gUi4gSG93bGV0dCAyMDI0LTA4LTMwICAxMjA3 ICAJdm1zLT5wcmV2ID0gdm1hX3ByZXYodm1zLT52bWkpOwo+OWMzZWJlZGE4ZmI1YTggTGlhbSBS LiBIb3dsZXR0IDIwMjQtMDgtMzAgIDEyMDggIAlpZiAodm1zLT5wcmV2KQo+OWMzZWJlZGE4ZmI1 YTggTGlhbSBSLiBIb3dsZXR0IDIwMjQtMDgtMzAgIDEyMDkgIAkJdm1zLT51bm1hcF9zdGFydCA9 IHZtcy0+cHJldi0+dm1fZW5kOwo+NDliMWI4ZDZmNjgzMTAgTG9yZW56byBTdG9ha2VzIDIwMjQt MDctMjkgIDEyMTAgIAo+NDliMWI4ZDZmNjgzMTAgTG9yZW56byBTdG9ha2VzIDIwMjQtMDctMjkg IDEyMTEgIAkvKgo+NDliMWI4ZDZmNjgzMTAgTG9yZW56byBTdG9ha2VzIDIwMjQtMDctMjkgIDEy MTIgIAkgKiBEZXRhY2ggYSByYW5nZSBvZiBWTUFzIGZyb20gdGhlIG1tLiBVc2luZyBuZXh0IGFz IGEgdGVtcCB2YXJpYWJsZSBhcwo+NDliMWI4ZDZmNjgzMTAgTG9yZW56byBTdG9ha2VzIDIwMjQt MDctMjkgIDEyMTMgIAkgKiBpdCBpcyBhbHdheXMgb3ZlcndyaXR0ZW4uCj40OWIxYjhkNmY2ODMx MCBMb3JlbnpvIFN0b2FrZXMgMjAyNC0wNy0yOSAgMTIxNCAgCSAqLwo+MTdmMWFlOWI0MGM2YjAg TGlhbSBSLiBIb3dsZXR0IDIwMjQtMDgtMzAgIDEyMTUgIAlmb3JfZWFjaF92bWFfcmFuZ2UoKih2 bXMtPnZtaSksIG5leHQsIHZtcy0+ZW5kKSB7Cj4xN2YxYWU5YjQwYzZiMCBMaWFtIFIuIEhvd2xl dHQgMjAyNC0wOC0zMCAgMTIxNiAgCQlsb25nIG5ycGFnZXM7Cj4xN2YxYWU5YjQwYzZiMCBMaWFt IFIuIEhvd2xldHQgMjAyNC0wOC0zMCAgMTIxNyAgCj5kZjJhN2RmOWE5YWEzMiBQZWRybyBGYWxj YXRvICAgMjAyNC0wOC0xNyAgMTIxOCAgCQlpZiAoIWNhbl9tb2RpZnlfdm1hKG5leHQpKSB7Cj5k ZjJhN2RmOWE5YWEzMiBQZWRybyBGYWxjYXRvICAgMjAyNC0wOC0xNyAgMTIxOSAgCQkJZXJyb3Ig PSAtRVBFUk07Cj5kZjJhN2RmOWE5YWEzMiBQZWRybyBGYWxjYXRvICAgMjAyNC0wOC0xNyAgMTIy MCAgCQkJZ290byBtb2RpZnlfdm1hX2ZhaWxlZDsKPmRmMmE3ZGY5YTlhYTMyIFBlZHJvIEZhbGNh dG8gICAyMDI0LTA4LTE3ICAxMjIxICAJCX0KPjQ5YjFiOGQ2ZjY4MzEwIExvcmVuem8gU3RvYWtl cyAyMDI0LTA3LTI5ICAxMjIyICAJCS8qIERvZXMgaXQgc3BsaXQgdGhlIGVuZD8gKi8KPmRiYTE0 ODQwOTA1ZjllIExpYW0gUi4gSG93bGV0dCAyMDI0LTA4LTMwICAxMjIzICAJCWlmIChuZXh0LT52 bV9lbmQgPiB2bXMtPmVuZCkgewo+MDEzNTQ1ZTFiOWJjYTAgWGlhbyBZYW5nICAgICAgIDIwMjQt MDktMDkgIDEyMjQgIAkJCWVycm9yID0gX19zcGxpdF92bWEodm1zLT52bWksIG5leHQsIHZtcy0+ ZW5kLCAwKTsKPjAxMzU0NWUxYjliY2EwIFhpYW8gWWFuZyAgICAgICAyMDI0LTA5LTA5ICAxMjI1 ICAJCQlpZiAoZXJyb3IpCj40OWIxYjhkNmY2ODMxMCBMb3JlbnpvIFN0b2FrZXMgMjAyNC0wNy0y OSAgMTIyNiAgCQkJCWdvdG8gZW5kX3NwbGl0X2ZhaWxlZDsKPjQ5YjFiOGQ2ZjY4MzEwIExvcmVu em8gU3RvYWtlcyAyMDI0LTA3LTI5ICAxMjI3ICAJCX0KPjQ5YjFiOGQ2ZjY4MzEwIExvcmVuem8g U3RvYWtlcyAyMDI0LTA3LTI5ICAxMjI4ICAJCXZtYV9zdGFydF93cml0ZShuZXh0KTsKPmRiYTE0 ODQwOTA1ZjllIExpYW0gUi4gSG93bGV0dCAyMDI0LTA4LTMwICAxMjI5ICAJCW1hc19zZXQobWFz X2RldGFjaCwgdm1zLT52bWFfY291bnQrKyk7Cj4wMTM1NDVlMWI5YmNhMCBYaWFvIFlhbmcgICAg ICAgMjAyNC0wOS0wOSAgMTIzMCAgCQllcnJvciA9IG1hc19zdG9yZV9nZnAobWFzX2RldGFjaCwg bmV4dCwgR0ZQX0tFUk5FTCk7Cj4wMTM1NDVlMWI5YmNhMCBYaWFvIFlhbmcgICAgICAgMjAyNC0w OS0wOSAgMTIzMSAgCQlpZiAoZXJyb3IpCj40OWIxYjhkNmY2ODMxMCBMb3JlbnpvIFN0b2FrZXMg MjAyNC0wNy0yOSAgMTIzMiAgCQkJZ290byBtdW5tYXBfZ2F0aGVyX2ZhaWxlZDsKPjY4OThjOTAz OWJjOGUzIExpYW0gUi4gSG93bGV0dCAyMDI0LTA4LTMwICAxMjMzICAKPjQ5YjFiOGQ2ZjY4MzEw IExvcmVuem8gU3RvYWtlcyAyMDI0LTA3LTI5ICAxMjM0ICAJCXZtYV9tYXJrX2RldGFjaGVkKG5l eHQsIHRydWUpOwo+MTdmMWFlOWI0MGM2YjAgTGlhbSBSLiBIb3dsZXR0IDIwMjQtMDgtMzAgIDEy MzUgIAkJbnJwYWdlcyA9IHZtYV9wYWdlcyhuZXh0KTsKPjE3ZjFhZTliNDBjNmIwIExpYW0gUi4g SG93bGV0dCAyMDI0LTA4LTMwICAxMjM2ICAKPjE3ZjFhZTliNDBjNmIwIExpYW0gUi4gSG93bGV0 dCAyMDI0LTA4LTMwICAxMjM3ICAJCXZtcy0+bnJfcGFnZXMgKz0gbnJwYWdlczsKPjQ5YjFiOGQ2 ZjY4MzEwIExvcmVuem8gU3RvYWtlcyAyMDI0LTA3LTI5ICAxMjM4ICAJCWlmIChuZXh0LT52bV9m bGFncyAmIFZNX0xPQ0tFRCkKPjE3ZjFhZTliNDBjNmIwIExpYW0gUi4gSG93bGV0dCAyMDI0LTA4 LTMwICAxMjM5ICAJCQl2bXMtPmxvY2tlZF92bSArPSBucnBhZ2VzOwo+MTdmMWFlOWI0MGM2YjAg TGlhbSBSLiBIb3dsZXR0IDIwMjQtMDgtMzAgIDEyNDAgIAo+MTdmMWFlOWI0MGM2YjAgTGlhbSBS LiBIb3dsZXR0IDIwMjQtMDgtMzAgIDEyNDEgIAkJaWYgKG5leHQtPnZtX2ZsYWdzICYgVk1fQUND T1VOVCkKPjE3ZjFhZTliNDBjNmIwIExpYW0gUi4gSG93bGV0dCAyMDI0LTA4LTMwICAxMjQyICAJ CQl2bXMtPm5yX2FjY291bnRlZCArPSBucnBhZ2VzOwo+MTdmMWFlOWI0MGM2YjAgTGlhbSBSLiBI b3dsZXR0IDIwMjQtMDgtMzAgIDEyNDMgIAo+MTdmMWFlOWI0MGM2YjAgTGlhbSBSLiBIb3dsZXR0 IDIwMjQtMDgtMzAgIDEyNDQgIAkJaWYgKGlzX2V4ZWNfbWFwcGluZyhuZXh0LT52bV9mbGFncykp Cj4xN2YxYWU5YjQwYzZiMCBMaWFtIFIuIEhvd2xldHQgMjAyNC0wOC0zMCAgMTI0NSAgCQkJdm1z LT5leGVjX3ZtICs9IG5ycGFnZXM7Cj4xN2YxYWU5YjQwYzZiMCBMaWFtIFIuIEhvd2xldHQgMjAy NC0wOC0zMCAgMTI0NiAgCQllbHNlIGlmIChpc19zdGFja19tYXBwaW5nKG5leHQtPnZtX2ZsYWdz KSkKPjE3ZjFhZTliNDBjNmIwIExpYW0gUi4gSG93bGV0dCAyMDI0LTA4LTMwICAxMjQ3ICAJCQl2 bXMtPnN0YWNrX3ZtICs9IG5ycGFnZXM7Cj4xN2YxYWU5YjQwYzZiMCBMaWFtIFIuIEhvd2xldHQg MjAyNC0wOC0zMCAgMTI0OCAgCQllbHNlIGlmIChpc19kYXRhX21hcHBpbmcobmV4dC0+dm1fZmxh Z3MpKQo+MTdmMWFlOWI0MGM2YjAgTGlhbSBSLiBIb3dsZXR0IDIwMjQtMDgtMzAgIDEyNDkgIAkJ CXZtcy0+ZGF0YV92bSArPSBucnBhZ2VzOwo+NDliMWI4ZDZmNjgzMTAgTG9yZW56byBTdG9ha2Vz IDIwMjQtMDctMjkgIDEyNTAgIAo+ZGJhMTQ4NDA5MDVmOWUgTGlhbSBSLiBIb3dsZXR0IDIwMjQt MDgtMzAgIDEyNTEgIAkJaWYgKHVubGlrZWx5KHZtcy0+dWYpKSB7Cj40OWIxYjhkNmY2ODMxMCBM b3JlbnpvIFN0b2FrZXMgMjAyNC0wNy0yOSAgMTI1MiAgCQkJLyoKPjQ5YjFiOGQ2ZjY4MzEwIExv cmVuem8gU3RvYWtlcyAyMDI0LTA3LTI5ICAxMjUzICAJCQkgKiBJZiB1c2VyZmF1bHRmZF91bm1h cF9wcmVwIHJldHVybnMgYW4gZXJyb3IgdGhlIHZtYXMKPjQ5YjFiOGQ2ZjY4MzEwIExvcmVuem8g U3RvYWtlcyAyMDI0LTA3LTI5ICAxMjU0ICAJCQkgKiB3aWxsIHJlbWFpbiBzcGxpdCwgYnV0IHVz ZXJsYW5kIHdpbGwgZ2V0IGEKPjQ5YjFiOGQ2ZjY4MzEwIExvcmVuem8gU3RvYWtlcyAyMDI0LTA3 LTI5ICAxMjU1ICAJCQkgKiBoaWdobHkgdW5leHBlY3RlZCBlcnJvciBhbnl3YXkuIFRoaXMgaXMg bm8KPjQ5YjFiOGQ2ZjY4MzEwIExvcmVuem8gU3RvYWtlcyAyMDI0LTA3LTI5ICAxMjU2ICAJCQkg KiBkaWZmZXJlbnQgdGhhbiB0aGUgY2FzZSB3aGVyZSB0aGUgZmlyc3Qgb2YgdGhlIHR3bwo+NDli MWI4ZDZmNjgzMTAgTG9yZW56byBTdG9ha2VzIDIwMjQtMDctMjkgIDEyNTcgIAkJCSAqIF9fc3Bs aXRfdm1hIGZhaWxzLCBidXQgd2UgZG9uJ3QgdW5kbyB0aGUgZmlyc3QKPjQ5YjFiOGQ2ZjY4MzEw IExvcmVuem8gU3RvYWtlcyAyMDI0LTA3LTI5ICAxMjU4ICAJCQkgKiBzcGxpdCwgZGVzcGl0ZSB3 ZSBjb3VsZC4gVGhpcyBpcyB1bmxpa2VseSBlbm91Z2gKPjQ5YjFiOGQ2ZjY4MzEwIExvcmVuem8g U3RvYWtlcyAyMDI0LTA3LTI5ICAxMjU5ICAJCQkgKiBmYWlsdXJlIHRoYXQgaXQncyBub3Qgd29y dGggb3B0aW1pemluZyBpdCBmb3IuCj40OWIxYjhkNmY2ODMxMCBMb3JlbnpvIFN0b2FrZXMgMjAy NC0wNy0yOSAgMTI2MCAgCQkJICovCj5kYmExNDg0MDkwNWY5ZSBMaWFtIFIuIEhvd2xldHQgMjAy NC0wOC0zMCAgMTI2MSAgCQkJaWYgKHVzZXJmYXVsdGZkX3VubWFwX3ByZXAobmV4dCwgdm1zLT5z dGFydCwgdm1zLT5lbmQsCj5kYmExNDg0MDkwNWY5ZSBMaWFtIFIuIEhvd2xldHQgMjAyNC0wOC0z MCAgMTI2MiAgCQkJCQkJICAgdm1zLT51ZikpCj40OWIxYjhkNmY2ODMxMCBMb3JlbnpvIFN0b2Fr ZXMgMjAyNC0wNy0yOSBAMTI2MyAgCQkJCWdvdG8gdXNlcmZhdWx0ZmRfZXJyb3I7Cj4KPk5lZWRz IGFuICJlcnJvciA9IC1FTk9NRU07IiBoZXJlLiAgSSBoYXZlbid0IHJldmlld2VkIHRoaXMgZnVu Y3Rpb24gb3V0c2lkZSBvZgoKPndoYXQgdGhlIHplcm8gZGF5IGJvdCBwdXRzIGludG8gdGhpcyBl bWFpbC4KCgpBc3NpZ25pbmcgZXJyb3IgaGVyZSBhbHNvIGhhcyBiZWVuIGRvbmUgb24gbXkgdjIg cGF0Y2guIENvdWxkIHlvdSB0cnkgdGhlIHYyIHBhdGNoPwoKCkJlc3QgUmVnYXJkcywKWGlhbyBZ YW5nCgo+Cj40OWIxYjhkNmY2ODMxMCBMb3JlbnpvIFN0b2FrZXMgMjAyNC0wNy0yOSAgMTI2NCAg CQl9Cj40OWIxYjhkNmY2ODMxMCBMb3JlbnpvIFN0b2FrZXMgMjAyNC0wNy0yOSAgMTI2NSAgI2lm ZGVmIENPTkZJR19ERUJVR19WTV9NQVBMRV9UUkVFCj5kYmExNDg0MDkwNWY5ZSBMaWFtIFIuIEhv d2xldHQgMjAyNC0wOC0zMCAgMTI2NiAgCQlCVUdfT04obmV4dC0+dm1fc3RhcnQgPCB2bXMtPnN0 YXJ0KTsKPmRiYTE0ODQwOTA1ZjllIExpYW0gUi4gSG93bGV0dCAyMDI0LTA4LTMwICAxMjY3ICAJ CUJVR19PTihuZXh0LT52bV9zdGFydCA+IHZtcy0+ZW5kKTsKPjQ5YjFiOGQ2ZjY4MzEwIExvcmVu em8gU3RvYWtlcyAyMDI0LTA3LTI5ICAxMjY4ICAjZW5kaWYKPjE3ZjFhZTliNDBjNmIwIExpYW0g Ui4gSG93bGV0dCAyMDI0LTA4LTMwICAxMjY5ICAJfQo+MTdmMWFlOWI0MGM2YjAgTGlhbSBSLiBI b3dsZXR0IDIwMjQtMDgtMzAgIDEyNzAgIAo+MTdmMWFlOWI0MGM2YjAgTGlhbSBSLiBIb3dsZXR0 IDIwMjQtMDgtMzAgIDEyNzEgIAl2bXMtPm5leHQgPSB2bWFfbmV4dCh2bXMtPnZtaSk7Cj45YzNl YmVkYThmYjVhOCBMaWFtIFIuIEhvd2xldHQgMjAyNC0wOC0zMCAgMTI3MiAgCWlmICh2bXMtPm5l eHQpCj45YzNlYmVkYThmYjVhOCBMaWFtIFIuIEhvd2xldHQgMjAyNC0wOC0zMCAgMTI3MyAgCQl2 bXMtPnVubWFwX2VuZCA9IHZtcy0+bmV4dC0+dm1fc3RhcnQ7Cj40OWIxYjhkNmY2ODMxMCBMb3Jl bnpvIFN0b2FrZXMgMjAyNC0wNy0yOSAgMTI3NCAgCj4KPi0tIAo+MC1EQVkgQ0kgS2VybmVsIFRl c3QgU2VydmljZQo+aHR0cHM6Ly9naXRodWIuY29tL2ludGVsL2xrcC10ZXN0cy93aWtpCg==