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]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id DB2C7CDE010 for ; Fri, 26 Jun 2026 04:44:24 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id CB2166B00E3; Fri, 26 Jun 2026 00:44:23 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C8A8C6B00E4; Fri, 26 Jun 2026 00:44:23 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id BC75F6B00E5; Fri, 26 Jun 2026 00:44:23 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 876E66B00E3 for ; Fri, 26 Jun 2026 00:44:23 -0400 (EDT) Received: from smtpin26.hostedemail.com (lb01a-stub [10.200.18.249]) by unirelay10.hostedemail.com (Postfix) with ESMTP id EB704C1A53 for ; Fri, 26 Jun 2026 04:44:22 +0000 (UTC) X-FDA: 84920822364.26.9F5559A Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf18.hostedemail.com (Postfix) with ESMTP id 3AED41C0003 for ; Fri, 26 Jun 2026 04:44:21 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20260515 header.b=LC0Whhqb; spf=pass (imf18.hostedemail.com: domain of harry@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=harry@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; a=rsa-sha256; d=hostedemail.com; s=arc-20220608; cv=none; t=1782449061; b=Q6yIH5uQUXMYxRElAmktDXMbAXel2SpQtkWCDk9Fggj1XyA2ayeO8DMu5vpZzdO3JxdjI4 NZkGcfO2hL5nJN5ywXMw3sBiuzjBwIWEssR9LTTktD3e9pAZWdfUpwlELC51FwcH8B2J2J T9WP3jLhdAGiplFqfJYKa2FC9pJXQzU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1782449061; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Cze1Qa+nUCNkuh98Ig4KQ8ORjyuPr/owezKtaxE/ZO4=; b=7qolmRFTWrYnp5iN4aAJ0z9ATNSm2D7BhodFoYUSE0ft1va7anstMm/zXI8OJ0zbfNDdYo 1VGoLzLEdV5MpDD8x+akSS22JdxS5HwkFQsSnOFOD3ZfBrDlMcJiDIEafok16fqA/rUOcn Ufd0gr6yKw2jOT7xxcJ14r82RrIAY1o= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20260515 header.b=LC0Whhqb; spf=pass (imf18.hostedemail.com: domain of harry@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=harry@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 6CF5043C24; Fri, 26 Jun 2026 04:44:20 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C525B1F000E9; Fri, 26 Jun 2026 04:44:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1782449060; bh=Cze1Qa+nUCNkuh98Ig4KQ8ORjyuPr/owezKtaxE/ZO4=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=LC0WhhqbdrDLIPT0IU57lhF1a1Jgdd3D6pnqyHHEwKIgTo547QF3ZwMODuLA6RAKG d20e09AECLe0sM8wijsIwtXk0CYNJyKDbgS+DGlYit/hPmiaOqjRcHSFKQ3kBaLn1Z w9No/6u/gYzd+LSSDOXt9hz8AxoPEeJFYlNr6Ov8tMUmTbeaqXe+xmY77HqFRDCejp 71yFj43ijpubQB1FQgK7lFm3GjdYvujYMnAMlu4RT4hNOfkXmWaEdOnIvJZuxrIr0h XyNsgYwzjsaFiG30759W5To9BLmPdnOuvd87cdPA0P11CbxQqmXuskWyy+rf4qxeik zmu/jBCDgI9mw== Message-ID: <46ac28bf-5be1-4600-b522-0a1aa76c28e6@kernel.org> Date: Fri, 26 Jun 2026 13:43:51 +0900 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3] mm: mglru: fix stale batch updates after memcg reparenting To: Qi Zheng , Johannes Weiner Cc: akpm@linux-foundation.org, david@kernel.org, kasong@tencent.com, shakeel.butt@linux.dev, baohua@kernel.org, axelrasmussen@google.com, yuanchu@google.com, weixugc@google.com, muchun.song@linux.dev, peiyang_he@smail.nju.edu.cn, mhocko@kernel.org, roman.gushchin@linux.dev, ljs@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Qi Zheng , stable@vger.kernel.org References: <20260625151554.55105-1-qi.zheng@linux.dev> <4c7b0c46-14f0-4a62-893e-e50714e09b74@linux.dev> Content-Language: en-US From: Harry Yoo In-Reply-To: <4c7b0c46-14f0-4a62-893e-e50714e09b74@linux.dev> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------fcwqKtIO63ZLewB9aZtXCNcM" X-Rspam-User: X-Stat-Signature: 56s1msczgcr5484qi99sfb5h5k846cq5 X-Rspamd-Queue-Id: 3AED41C0003 X-Rspamd-Server: rspam06 X-HE-Tag: 1782449061-844323 X-HE-Meta: U2FsdGVkX19UWgLs0fhWa+OYce+Ryt1ZGRAedVjVLSx9l2Gy8E8zUQyA19ld/jkdbt0QX6kXal9q5oMz78nC7Qld2wo9dJjGIwIzaNm+u0fFAYUlefib8rWaWH12CxF4sSyuNIbYItroDiR2L6IOCNzMdD7orNEBVNoPZgYXYXfyixMpPONbUdCvY8FbKr9iUXaS3E1kCwvVYc/x1uhWfl3MlmkaNq3EH4u1a1+xdOKTEViC6dlJ43lFX8LjzewWMfKFv1o3OpLos7jx4I6OkxwOXIfpTdhZdQb6nEpSkUJp2u4cTyJY3CuGUsP+9kox9kohp9oBAvA9nXE9xrQhNuy63ufyxjoeEZ8cEcsKN9+WW1ueQHB2kP3ETPCwiotJY59eKigV4oBQC/tbPFGD0Cm2BAznsXTveiPzGPI53E2xpQGImrmMdH9v2mBiFex1kt5xV5EsthQ3AH3fm1ZPgWBFGGstUOWxogWqpn8rCBDj0zKjmlIEpqFquJhFyFnokpt6LCo4VmXUXpgBlGR4CUoYfegVyb0fDe6MPwUWWPQy+ZVr6XWMpDEleDEoli2MdEdxv1POOFvZ0cjs1FMMEjt1loJlrRUKUEGAqAZ5bWRk/rwNoQCWg9MAabRAIUa4bjMQRb5pBL4tYd4tBr1t0XmM48ArN8rdXNDofhyBnYN1KmcoeWS01pBSr83q/SfWAACbZrTgbHGauy/hbU9KO64cspOZ8Kwd/RZIwlsQL6K7+IqvZgMjkOKAil6GX6rPIF6JuKAFIuVZhCBNa1xA32xVgRdBRfaSUxlvZroZRq080ouP77hZlwHUach1OSYyGDQT7lGpPQXhU473POyutA8jLToDNeHz1troZ7sncl/6/LmUcLirc2KndzrahFUIkRyMV+VhSu+lNOGKlZUXhm9NOXHvLpsepg92QA91HbFmK6P0lqAZOZcD+lfqQFGx4AzIvPjPqdMJH28fgxG GsVXw/I4 Nrs0hKp+d0vwNyiQrCmZgIfRgrdWxuqi8h0ZI/d7vjFBfqVCuTS18tYCcpkL9yRT30T6p19iqUhd3N06aoOBjjMVNKC5cDR9PAnGzPH/1sPkbOJcpxJdXU5SVHcfKlW1WZ330r4dz/bDPWd81ENvlD2Eq9fhRIahkVlqsvr9HEln4omoW2QOMlf4vmIPCr2tqGB19Aj9VLqvM+P7FbZnDFEY3RGHcWsP5n/xOS4xalLyXZXnafujm1YJQtOGdUWZqXIjPBa5XQ2OKnFvcVt3gw2JYuKC3hn5fLNdRDzljl5XFwxGDhi6TY/n/UkvR9Z3JV3SS+YtFaNbfZdYeXnyffkqHF83zbRchmBkpJ52T/XE9IfWNikxzoTfWtr2IhdOEsuwxOcC3PkawdNZbcovoPEj/DcoS7Pjo7kTakd8mwHJkJJsgMXtWd1/wTNRq7Wz2FQYKac4xRLHfhjGuriuBgywTOT9fu0JHO/zxL9nmM5ndS8GCFdHu3PsDo0f1dzt4KCSxYzpSusWTyiSRFbdfKZfHWt+A0xVIeuYI Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------fcwqKtIO63ZLewB9aZtXCNcM Content-Type: multipart/mixed; boundary="------------VRdUl5kGxsFl2YszOtn90VkD"; protected-headers="v1" From: Harry Yoo To: Qi Zheng , Johannes Weiner Cc: akpm@linux-foundation.org, david@kernel.org, kasong@tencent.com, shakeel.butt@linux.dev, baohua@kernel.org, axelrasmussen@google.com, yuanchu@google.com, weixugc@google.com, muchun.song@linux.dev, peiyang_he@smail.nju.edu.cn, mhocko@kernel.org, roman.gushchin@linux.dev, ljs@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, Qi Zheng , stable@vger.kernel.org Message-ID: <46ac28bf-5be1-4600-b522-0a1aa76c28e6@kernel.org> Subject: Re: [PATCH v3] mm: mglru: fix stale batch updates after memcg reparenting References: <20260625151554.55105-1-qi.zheng@linux.dev> <4c7b0c46-14f0-4a62-893e-e50714e09b74@linux.dev> In-Reply-To: <4c7b0c46-14f0-4a62-893e-e50714e09b74@linux.dev> --------------VRdUl5kGxsFl2YszOtn90VkD Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 DQoNCk9uIDYvMjYvMjYgMTE6MjcgQU0sIFFpIFpoZW5nIHdyb3RlOg0KPiBIaSBKb2hhbm5l cywNCj4gDQo+IE9uIDYvMjYvMjYgMjo0MSBBTSwgSm9oYW5uZXMgV2VpbmVyIHdyb3RlOg0K Pj4gT24gVGh1LCBKdW4gMjUsIDIwMjYgYXQgMTE6MTU6NTRQTSArMDgwMCwgUWkgWmhlbmcg d3JvdGU6DQo+Pj4gRnJvbTogUWkgWmhlbmcgPHpoZW5ncWkuYXJjaEBieXRlZGFuY2UuY29t Pg0KPj4+DQo+Pj4gVGhlIG1nbHJ1IHBhZ2UgdGFibGUgd2Fsa2VyIGJhdGNoZXMgcGVyLWdl bmVyYXRpb24gc2l6ZSBkZWx0YXMgaW4NCj4+PiB3YWxrLT5ucl9wYWdlcyB3aGlsZSB3YWxr aW5nIHBhZ2UgdGFibGVzIHdpdGhvdXQgaG9sZGluZyB0aGUgbHJ1dmVjDQo+Pj4gbG9jay4N Cj4+PiBUaGUgcmVzZXRfYmF0Y2hfc2l6ZSgpIGxhdGVyIGZvbGRzIHRob3NlIGRlbHRhcyBp bnRvIHdhbGstPmxydXZlYyB1bmRlcg0KPj4+IHRoZSBscnV2ZWMgbG9jay4NCj4+Pg0KPj4+ IFRoZSBwYWdlIHRhYmxlIHdhbGtlciBjYW4gcnVuIGNvbmN1cnJlbnRseSB3aXRoIHRoZSBt ZW1jZyByZXBhcmVudGluZw0KPj4+IHBhdGgNCj4+PiBhcyBmb2xsb3dzOg0KPj4+DQo+Pj4g Q1BVMMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgQ1BVMQ0KPj4+ID09PT3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgID09PT0NCj4+Pg0KPj4+IHdhbGtfbW0NCj4+PiAtLT4gd2Fsa19w YWdlX3JhbmdlDQo+Pj4gwqDCoMKgwqAgLS0+IHVwZGF0ZV9iYXRjaF9zaXplDQo+Pj4gwqDC oMKgwqDCoMKgwqDCoCAtLT4gd2Fsay0+bnJfcGFnZXMgKz0gZGVsdGENCj4+Pg0KPj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBtZW1fY2dyb3VwX2Nzc19vZmZsaW5lDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIC0tPiBtZW1jZ19yZXBh cmVudF9vYmpjZ3MNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAtLT4gbG9jayBscnV2ZWMNCj4+PiDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGxydV9nZW5fcmVwYXJlbnRfbWVtY2cNCj4+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIC0tPiByZXBhcmVudCBjaGlsZCBmb2xpb3MgdG8NCj4+PiBw YXJlbnQNCj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVubG9jayBscnV2ZWMNCj4+Pg0K Pj4+IMKgwqDCoMKgIGxvY2sgbHJ1dmVjDQo+Pj4gwqDCoMKgwqAgcmVzZXRfYmF0Y2hfc2l6 ZQ0KPj4+IMKgwqDCoMKgIC0tPiBjaGlsZCBscnVnZW4tPm5yX3BhZ2VzICs9IGRlbHRhDQo+ Pj4NCj4+PiBUaGlzIHdpbGwgdHJpZ2dlciB0aGUgZm9sbG93aW5nIHdhcm5pbmcgaW4gbHJ1 X2dlbl9leGl0X21lbWNnKCk6DQo+Pj4NCj4+PiDCoMKgwqDCoFZNX1dBUk5fT05fT05DRSht ZW1jaHJfaW52KGxydXZlYy0+bHJ1Z2VuLm5yX3BhZ2VzLCAwLA0KPj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzaXplb2YobHJ1dmVjLT5scnVnZW4ubnJfcGFn ZXMpKSk7DQo+Pj4NCj4+PiBBbmQgdGhlIHVzZXItdmlzaWJsZSBpbXBhY3Qgb2YgdW5kZXJl c3RpbWF0ZWQgbnJfcGFnZXMgaW4gTUdMUlUgd2FzDQo+Pj4gcHJlbWF0dXJlIE9PTXMgYmVj YXVzZSBNR0xSVSBkb2VzIG5vdCB0cnkgdG8gcmVjbGFpbSBtZW1vcnkgd2hlbg0KPj4+IG5y X3BhZ2VzDQo+Pj4gcmVhY2hlcyB6ZXJvLCBidXQgdGhlcmUgYXJlIHN0aWxsIG1vcmUgcGFn ZXMuDQo+Pj4NCj4+PiBUbyBmaXggaXQsIG1ha2UgcmVzZXRfYmF0Y2hfc2l6ZSgpIGNoZWNr IENTU19EWUlORyB1bmRlciBSQ1UgYmVmb3JlDQo+Pj4gZmx1c2hpbmcgdGhlIHBlbmRpbmcg YmF0Y2guIEEgbm9uLWR5aW5nIG1lbWNnIGtlZXBzIHRoZSBvcmlnaW5hbCBscnV2ZWMNCj4+ PiBzdGFibGUgYWdhaW5zdCBSQ1UtZGVsYXllZCBvZmZsaW5pbmc7IGEgZHlpbmcgbWVtY2cg cmVkaXJlY3RzIHRoZSBkZWx0YXMNCj4+PiB0byB0aGUgZmlyc3Qgbm9uLWR5aW5nIGFuY2Vz dG9yLg0KPj4+DQo+Pj4gUmVwb3J0ZWQtYnk6IFBlaXlhbmcgSGUgPHBlaXlhbmdfaGVAc21h aWwubmp1LmVkdS5jbj4NCj4+PiBDbG9zZXM6IGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2Fs bC81QTlFOTI5RDgyNzE3MTAxKzEyZmNmNjQzLQ0KPj4+IGVmYjgtNGI5YS1hNTNhLTFlMjhj Yzg5NGYwYkBzbWFpbC5uanUuZWR1LmNuDQo+Pj4gRml4ZXM6IGYzMDQ2NTI2MDllYSAoIm1t OiB2bXNjYW46IHByZXBhcmUgZm9yIHJlcGFyZW50aW5nIE1HTFJVIGZvbGlvcyIpDQo+Pj4g Q2M6IDxzdGFibGVAdmdlci5rZXJuZWwub3JnPg0KPj4+IFNpZ25lZC1vZmYtYnk6IFFpIFpo ZW5nIDx6aGVuZ3FpLmFyY2hAYnl0ZWRhbmNlLmNvbT4NCj4+PiAtLS0NCj4+PiBDaGFuZ2Vz IGluIHYzOg0KPj4+IMKgIC0gcmUtaW1wbGVtZW50IGxvY2tfYmF0Y2hfbHJ1dmVjKCkgYnkg Y2hlY2tpbmcgQ1NTX0RZSU5HIHVuZGVyIHRoZQ0KPj4+IFJDVSBsb2NrDQo+Pj4gwqDCoMKg IChzdWdnZXN0ZWQgYnkgSGFycnkpDQo+Pj4gwqAgLSB1cGRhdGUgdGhlIGNvbW1pdCBtZXNz YWdlIChzdWdnZXN0ZWQgYnkgSGFycnkpDQo+Pj4gwqAgLSB0ZW1wb3JhcmlseSBkcm9wIHRo ZSBwcmV2aW91cyBSZXZpZXdlZC1ieSB0YWdzDQo+Pj4gwqDCoMKgIChzaW5jZSB0aGUgc3lu YyBtZXRob2QgaGFzIGNoYW5nZWQpDQo+Pj4gwqAgLSByZWJhc2Ugb250byB0aGUgbmV4dC0y MDI2MDYyNA0KPj4+DQo+Pj4gQ2hhbmdlcyBpbiB2MjoNCj4+PiDCoCAtIHVwZGF0ZSB0aGUg Y29tbWl0IG1lc3NhZ2UgKHBvaW50ZWQgYnkgQmFycnkpDQo+Pj4gwqAgLSBjb2xsZWN0IFJl dmlld2VkLWJ5DQo+Pj4NCj4+PiDCoCBtbS92bXNjYW4uYyB8IDQ1ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQ0KPj4+IMKgIDEgZmlsZSBjaGFuZ2Vk LCAzOCBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQ0KPj4+DQo+Pj4gZGlmZiAtLWdp dCBhL21tL3Ztc2Nhbi5jIGIvbW0vdm1zY2FuLmMNCj4+PiBpbmRleCAzNWMzYmIxNWFlOTYu LjFlYzhjMjNjNzJiOSAxMDA2NDQNCj4+PiAtLS0gYS9tbS92bXNjYW4uYw0KPj4+ICsrKyBi L21tL3Ztc2Nhbi5jDQo+Pj4gQEAgLTMyNjIsMTAgKzMyNjIsNDQgQEAgc3RhdGljIHZvaWQg dXBkYXRlX2JhdGNoX3NpemUoc3RydWN0DQo+Pj4gbHJ1X2dlbl9tbV93YWxrICp3YWxrLCBz dHJ1Y3QgZm9saW8gKmZvbGlvLA0KPj4+IMKgwqDCoMKgwqAgd2Fsay0+bnJfcGFnZXNbbmV3 X2dlbl1bdHlwZV1bem9uZV0gKz0gZGVsdGE7DQo+Pj4gwqAgfQ0KPj4+IMKgICsjaWZkZWYg Q09ORklHX01FTUNHDQo+Pj4gK3N0YXRpYyBzdHJ1Y3QgbHJ1dmVjICpsb2NrX2JhdGNoX2xy dXZlYyhzdHJ1Y3QgbHJ1dmVjICpscnV2ZWMpDQo+Pj4gK3sNCj4+PiArwqDCoMKgIHN0cnVj dCBwZ2xpc3RfZGF0YSAqcGdkYXQgPSBscnV2ZWNfcGdkYXQobHJ1dmVjKTsNCj4+PiArwqDC oMKgIHN0cnVjdCBtZW1fY2dyb3VwICptZW1jZyA9IGxydXZlY19tZW1jZyhscnV2ZWMpOw0K Pj4+ICsNCj4+PiArwqDCoMKgIHJjdV9yZWFkX2xvY2soKTsNCj4+DQo+PiBXaGVyZSBpcyB0 aGlzIHVubG9ja2VkPw0KPiANCj4gVGhlIGxydXZlY191bmxvY2tfaXJxKCkgaW4gcmVzZXRf YmF0Y2hfc2l6ZSgpIHdpbGwgaGFuZGxlIHRoZSB1bmxvY2tpbmcuDQo+IA0KPj4NCj4+PiAr wqDCoMKgIC8qDQo+Pj4gK8KgwqDCoMKgICogVGhlIG1lbWNnIGNhbiBiZSBOVUxMIHdoZW4g dGhlIG1lbW9yeSBjb250cm9sbGVyIGlzIGRpc2FibGVkLg0KPj4+ICvCoMKgwqDCoCAqIE90 aGVyd2lzZSwgdGhlIGNhbGxlciBrZWVwcyB0aGUgbWVtY2cgb3duaW5nIEBscnV2ZWMgYWxp dmUuDQo+Pj4gK8KgwqDCoMKgICovDQo+Pj4gK8KgwqDCoCBpZiAoIW1lbWNnIHx8ICFjc3Nf aXNfZHlpbmcoJm1lbWNnLT5jc3MpKQ0KPj4+ICvCoMKgwqDCoMKgwqDCoCBnb3RvIGxvY2s7 DQo+Pj4gKw0KPj4+ICvCoMKgwqAgZG8gew0KPj4+ICvCoMKgwqDCoMKgwqDCoCBtZW1jZyA9 IHBhcmVudF9tZW1fY2dyb3VwKG1lbWNnKTsNCj4+PiArwqDCoMKgIH0gd2hpbGUgKG1lbWNn ICYmIGNzc19pc19keWluZygmbWVtY2ctPmNzcykpOw0KPj4+ICvCoMKgwqAgbHJ1dmVjID0g bWVtX2Nncm91cF9scnV2ZWMobWVtY2csIHBnZGF0KTsNCj4+DQo+PiDCoMKgwqDCoHdoaWxl ICh1bmxpa2VseShtZW1jZyAmJiBjc3NfaXNfZHlpbmcoJm1lbWNnLT5jc3MpKSkgew0KPj4g wqDCoMKgwqDCoMKgwqAgbWVtY2cgPSBwYXJlbnRfbWVtX2Nncm91cChtZW1jZyk7DQo+PiDC oMKgwqDCoMKgwqDCoCBscnV2ZWMgPSBtZW1fY2dyb3VwX2xydXZlYyhtZW1jZywgcGdkYXQp Ow0KPiANCj4gVGhlcmUgaXMgbm8gbmVlZCB0byBhY3F1aXJlIHRoZSBscnV2ZWMgYmVmb3Jl IGZpbmRpbmcgdGhlIGZpcnN0DQo+IG5vbi1keWluZyBtZW1jZy4NCg0Kc3RydWN0IHBnbGlz dF9kYXRhICpwZ2RhdCA9IGxydXZlY19wZ2RhdChscnV2ZWMpOw0Kc3RydWN0IG1lbV9jZ3Jv dXAgKm1lbWNnID0gbHJ1dmVjX21lbWNnKGxydXZlYyk7DQoNCnJjdV9yZWFkX2xvY2soKQ0K DQp3aGlsZSAodW5saWtlbHkobWVtY2dfaXNfZHlpbmcobWVtY2cpKSkNCiAgICAgICAgbWVt Y2cgPSBwYXJlbnRfbWVtX2Nncm91cChtZW1jZyk7DQoNCmxydXZlYyA9IG1lbV9jZ3JvdXBf bHJ1dmVjKG1lbWNnLCBwZ2RhdCk7DQpzcGluX2xvY2tfaXJxKCZscnV2ZWMtPmxydV9sb2Nr KTsNCg0KcmV0dXJuIGxydXZlYzsNCg0Kc2hvdWxkIHdvcms/DQoNCmlmIHRoZSBtZW1vcnkg Y29udHJvbGxlciBpcyBkaXNhYmxlZCwgaXQncyBlcXVpdmFsZW50IHRvOg0KDQpyY3VfcmVh ZF9sb2NrKCk7DQpzcGluX2xvY2tfaXJxKCZscnV2ZWMtPmxydV9sb2NrKTsNCnJldHVybiBs cnV2ZWM7DQoNCi0tIA0KQ2hlZXJzLA0KSGFycnkgLyBIeWVvbmdnb24NCg0K --------------VRdUl5kGxsFl2YszOtn90VkD-- --------------fcwqKtIO63ZLewB9aZtXCNcM Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQQQ1ub6gR5ogjaKRmOGXBN6rc5S1gUCaj4DhwAKCRCGXBN6rc5S 1g0jAP4gPmEfwbi90g27GCghV+IzxczoQOCOWa20F/P8O/GaGQEAz9q0GcAIPYvQ X1vtqvldrANXaQpzeDsROAQOZoUadAo= =taly -----END PGP SIGNATURE----- --------------fcwqKtIO63ZLewB9aZtXCNcM--