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 X-Spam-Level: X-Spam-Status: No, score=-6.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id EA66AC32771 for ; Tue, 7 Jan 2020 02:44:17 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 900D8206E6 for ; Tue, 7 Jan 2020 02:44:17 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UbglbN0X" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 900D8206E6 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 2023A8E0012; Mon, 6 Jan 2020 21:44:17 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 1B3558E0001; Mon, 6 Jan 2020 21:44:17 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0A0EB8E0012; Mon, 6 Jan 2020 21:44:17 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0212.hostedemail.com [216.40.44.212]) by kanga.kvack.org (Postfix) with ESMTP id E4CD58E0001 for ; Mon, 6 Jan 2020 21:44:16 -0500 (EST) Received: from smtpin05.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with SMTP id 8D8AB52CE for ; Tue, 7 Jan 2020 02:44:16 +0000 (UTC) X-FDA: 76349294112.05.rate18_820777f41625 X-HE-Tag: rate18_820777f41625 X-Filterd-Recvd-Size: 13024 Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by imf26.hostedemail.com (Postfix) with ESMTP for ; Tue, 7 Jan 2020 02:44:15 +0000 (UTC) Received: by mail-wm1-f67.google.com with SMTP id t14so17698634wmi.5 for ; Mon, 06 Jan 2020 18:44:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:references:mime-version:message-id :content-transfer-encoding; bh=BjW8Oqqq35avkPl5anWLNjGilp8vjOfhEBhdAvIOeDw=; b=UbglbN0XOpT1HD/a3dhoHSoU0NxY0wNFZFW5oK5OgJ87PjLXPGKFk/Mow+aTckw+N1 bo8ortd8ITbanZMzY6O1EjFqnEzW0L0EX4mqCei1JYPes0Ab5woyv5O3I5lCwaw8CQdD ncaIDKonWI5HgufGyx3AIEikrb6d4BPQnjnsLtgBDSa+QBdUvUjasrAbYGdnB2f91b8C PHxZxwQxu2fonquhVspOOngVyGA0lez8c0fKOZtVpyihIyW4am7RRh3vlw66wQuKOq9a nrGHio2d0ckXjrzk7EHZXns8FVxqHsU6l5KyH1G+3gIquk8raBAhN9RKZ4iN5gnIAvaj IOVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:references:mime-version :message-id:content-transfer-encoding; bh=BjW8Oqqq35avkPl5anWLNjGilp8vjOfhEBhdAvIOeDw=; b=Gv+DoiteIdmeWC1AbAMswLV6s3/LiARwzUM67bo7d3ikcrTi11KVX0gvOHg4dzQEGE b6ZQ8rG1ZFALHJdW6HUFBLv56NaW8xo3HVS0lMYHcgs/mmtIE6pK/2ShJ6Eyw8NF+iXR J2c2noBT69sVwRopsn/uhcaTXpmcsgDn+Uq2mhZgN6zKptYif1QZFnThsufNVArBA3KE /+dtsc2B+7szRvRUNeD2h0JOnyr80QBtJTQ+wwFLqzPuCkl2CYQWc9276T/JWPxdNW6C uW3mDb9FKjnxWYlbtnRKuCQPSusHhhg1ycF2XNtbl9ya6MITc9+HDsTTL2UPLBZFHF/5 bSWQ== X-Gm-Message-State: APjAAAW5iXU04K3FwyGBcw5ADPqMQ92uh6x6AWy9Aop329h6ZcP20T3I bB5KI6ozhJHbXLUpUB+h13Q= X-Google-Smtp-Source: APXvYqzsmDirVf8g++Qsw4q30+5dpCUYY2saNrNpVq6OODpRemRblk/Kz2b0vYLod5W6Vy+IjNOO9g== X-Received: by 2002:a7b:cc82:: with SMTP id p2mr38499103wma.159.1578365054426; Mon, 06 Jan 2020 18:44:14 -0800 (PST) Received: from N-20L6PF1KTYA2 ([131.228.2.21]) by smtp.gmail.com with ESMTPSA id n10sm73556468wrt.14.2020.01.06.18.44.11 (version=TLS1_2 cipher=AES128-GCM-SHA256 bits=128/128); Mon, 06 Jan 2020 18:44:13 -0800 (PST) Date: Tue, 7 Jan 2020 10:44:11 +0800 From: "lixinhai.lxh@gmail.com" To: "Konstantin Khlebnikov" , khlebnikov Cc: "linux-mm@kvack.org" , akpm , "linux-kernel@vger.kernel.org" , richardw.yang , kirill.shutemov Subject: Re: [PATCH] mm/rmap: fix reusing mergeable anon_vma as parent when fork References: <157830736034.8148.7070851958306750616.stgit@buzz>, X-Priority: 3 X-GUID: C3FC363E-ED10-4249-994C-823464DD1D15 X-Has-Attach: no X-Mailer: Foxmail 7.2.13.365[cn] Mime-Version: 1.0 Message-ID: <2020010710441027026650@gmail.com> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 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: T24gMjAyMC0wMS0wN8KgYXQgMDQ6MzXCoEtvbnN0YW50aW4gS2hsZWJuaWtvdsKgd3JvdGU6Cj5P biBNb24sIEphbiA2LCAyMDIwIGF0IDE6NDIgUE0gS29uc3RhbnRpbiBLaGxlYm5pa292Cj48a2hs ZWJuaWtvdkB5YW5kZXgtdGVhbS5ydT4gd3JvdGU6Cj4+Cj4+IFRoaXMgZml4ZXMgY291cGxlIG1p c2NvbmNlcHRpb25zIGluIGNvbW1pdCA0ZTRhOWViOTIxMzMgKCJtbS9ybWFwLmM6IHJldXNlCj4+ IG1lcmdlYWJsZSBhbm9uX3ZtYSBhcyBwYXJlbnQgd2hlbiBmb3JrIikuCj4+Cj4+IEZpcnN0IHBy b2JsZW0gY2F1c2VkIGJ5IGluaXRpYWxpemF0aW9uIG9yZGVyIGluIGR1cF9tbWFwKCk6IHZtYS0+ dm1fcHJldgo+PiBpcyBzZXQgYWZ0ZXIgY2FsbGluZyBhbm9uX3ZtYV9mb3JrKCkuIFRodXMgaW4g YW5vbl92bWFfZm9yaygpIGl0IHBvaW50cyB0bwo+PiBwcmV2aW91cyBWTUEgaW4gcGFyZW50IG1t LiBUaGlzIGlzIGZpeGVkIGJ5IHJlYXJyYW5nZW1lbnQgaW4gZHVwX21tYXAoKS4KPj4KPj4gSWYg aW4gcGFyZW50IFZNQXM6IFNSQzEgU1JDMiAuLiBTUkNuIHNoYXJlIGFub24tdm1hIEFOT04wLCB0 aGVuIGFmdGVyIGZvcmsKPj4gYmVmb3JlIGFsbCBwYXRjaGVzIGluIGNoaWxkIHByb2Nlc3MgcmVs YXRlZCBWTUFzOiBEU1QxIERTVDIgLi4gRFNUbiB3aWxsCj4+IHVzZSBkaWZmZXJlbnQgYW5vbi12 bWFzOiBBTk9OMSBBTk9OMiAuLiBBTk9Obi4gQmVmb3JlIHRoaXMgcGF0Y2ggb25seSBEU1QxCj4+ IHdpbGwgZm9yayBuZXcgQU5PTjEgYW5kIGZvbGxvd2luZyBEU1QyIC4uIERTVG4gd2lsbCBzaGFy ZSBwYXJlbnQncyBBTk9OMC4KPj4gV2l0aCB0aGlzIHBhdGNoIERTVDEgd2lsbCBjcmVhdGUgbmV3 IEFOT04xIGFuZCBEU1QyIC4uIERTVG4gd2lsbCBzaGFyZSBpdC4KPj4KPj4gQWxzbyB0aGlzIHBh dGNoIG1vdmVzIHNoYXJpbmcgbG9naWMgb3V0IG9mIGFub25fdm1hX2Nsb25lKCkgaW50byBtb3Jl Cj4+IHNwZWNpZmljIGFub25fdm1hX2ZvcmsoKSBiZWNhdXNlIHRoaXMgc3VwcG9zZWQgdG8gd29y ayBvbmx5IGF0IGZvcmsoKS4KPj4gRnVuY3Rpb24gYW5vbl92bWFfY2xvbmUoKSBpcyBtb3JlIGdl bmVyaWMgaXMgYWxzbyB1c2VkIGF0IHNwbGl0dGluZyBWTUFzLgo+Pgo+PiBTZWNvbmQgcHJvYmxl bSBpcyBoaWRkZW4gYmVoaW5kIGZpcnN0IG9uZTogYXNzdW1wdGlvbiAiUGFyZW50IGhhcyB2bV9w cmV2LAo+PiB3aGljaCBpbXBsaWVzIHdlIGhhdmUgdm1fcHJldiIgaXMgd3JvbmcgaWYgZmlyc3Qg Vk1BIGluIHBhcmVudCBtbSBoYXMgc2V0Cj4+IGZsYWcgVk1fRE9OVENPUFkuIEx1Y2tpbHkgcHJl di0+YW5vbl92bWEgZG9lc24ndCBkZXJlZmVyZW5jZSBOVUxMIHBvaW50ZXIKPj4gYmVjYXVzZSBp biBjdXJyZW50IGNvZGUgJ3ByZXYnIGFjdHVhbGx5IGlzIHNhbWUgYXMgJ3BwcmV2Jy4gVG8gYXZv aWQgdGhhdAo+PiB0aGlzIHBhdGNoIGp1c3QgY2hlY2tzIHBvaW50ZXIgYW5kIGNvbXBhcmVzIHZt X3N0YXJ0IHRvIHZlcmlmeSByZWxhdGlvbgo+PiBiZXR3ZWVuIHByZXZpb3VzIFZNQXMgaW4gcGFy ZW50IGFuZCBjaGlsZC4KPj4KPj4gU2lnbmVkLW9mZi1ieTogS29uc3RhbnRpbiBLaGxlYm5pa292 IDxraGxlYm5pa292QHlhbmRleC10ZWFtLnJ1Pgo+PiBGaXhlczogNGU0YTllYjkyMTMzICgibW0v cm1hcC5jOiByZXVzZSBtZXJnZWFibGUgYW5vbl92bWEgYXMgcGFyZW50IHdoZW4gZm9yayIpCj4K Pk9vcHMsIEkndmUgZm9yZ290IHRvIG1lbnRpb24gdGhhdCBMaSBYaW5oYWkgPGxpeGluaGFpLmx4 aEBnbWFpbC5jb20+Cj5mb3VuZCBhbmQgcmVwb3J0ZWQgdGhpcyBzdXNwaWNpb3VzIGNvZGUuIFNv cnJ5Lgo+Cj5SZXBvcnRlZC1ieTogTGkgWGluaGFpIDxsaXhpbmhhaS5seGhAZ21haWwuY29tPgo+ TGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtbW0vQ0FMWUdOaU56eitkeEhYMGc1 LWdOeXBVUWMzQj04X1NjcDUzLU5UT2g9eldzZFV1SEF3QG1haWwuZ21haWwuY29tL1QvI3QKPgoK Q2FuIHdlIGNoYW5nZSB0aGUgaW50ZXJmYWNlwqAKaW50IGFub25fdm1hX2Zvcmsoc3RydWN0IHZt X2FyZWFfc3RydWN0ICp2bWEsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqcHZtYSksCnRvCmludCBh bm9uX3ZtYV9mb3JrKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBzdHJ1Y3Qgdm1fYXJlYV9z dHJ1Y3QgKnB2bWEsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqcGN2bWEpLAphbmQgJ3Bjdm1hJyBt ZWFucyBwcmV2aW91cyBjaGlsZCB2bWEuCnNvIGhpZ2hsaWdodCB0aGUgdXNlIG9mIHRoYXQgdm1h LCBhbmQgdGhlIGN1cnJlbnQgY29kZSBzZXF1ZW5jZSBmb3IgbGlua2luZyAndG1wJyB2bWEKaW4g ZHVwX21tYXAoKSBpcyBub3QgY2hhbmdlZChpbiBjYXNlIHNvbWUgY29kZSB3b3VsZCBoYXZlIGRl cGVuZGVuY3kgb24gdGhhdApsaW5raW5nIHNlcXVlbmNlKQoKQW5vdGhlciBpc3N1ZSBpcyBmb3Ig bGlua2luZyB0aGUgYXZjIGZvciB0aGUgcmV1c2VkIGFub25fdm1hLiBhbm9uX3ZtYV9jbG9uZSgp CnVzZSB0aGUgaXRlcmF0aW9uCmxpc3RfZm9yX2VhY2hfZW50cnlfcmV2ZXJzZShwYXZjLCAmc3Jj LT5hbm9uX3ZtYV9jaGFpbiwgc2FtZV92bWEpLAp0byBsaW5rIGF2YyBmb3IgY2hpbGQgdm1hLCBh bmQgaXQgaXMgdW5hYmxlIHRvIHJlYWNoIHRoZSByZXN1ZWQgYW5vbl92bWEgYmVjYXVzZQp0aGF0 IGlzIGZyb20gdGhlIHByZXZpb3VzIHZtYSBub3QgZnJvbSBwYXJlbnQgdm1hLiBTbywgaW4gYW5v bl92bWFfZm9yaygpLCAKd2UgbmVlZCB0byBzZXR1cCB0aGXCoGF2YyBsaW5rIGZvciB2bWEtPmFu b24uCgo+PiAtLS0KPj7CoCBrZXJuZWwvZm9yay5jIHzCoMKgwqAgNCArKy0tCj4+wqAgbW0vcm1h cC5jwqDCoMKgwqAgfMKgwqAgMjUgKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQo+PsKgIDIgZmls ZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYg LS1naXQgYS9rZXJuZWwvZm9yay5jIGIva2VybmVsL2ZvcmsuYwo+PiBpbmRleCAyNTA4YTRmMjM4 YTMuLjA0ZWU1ZTI0M2Y2NSAxMDA2NDQKPj4gLS0tIGEva2VybmVsL2ZvcmsuYwo+PiArKysgYi9r ZXJuZWwvZm9yay5jCj4+IEBAIC01NDgsNiArNTQ4LDggQEAgc3RhdGljIF9fbGF0ZW50X2VudHJv cHkgaW50IGR1cF9tbWFwKHN0cnVjdCBtbV9zdHJ1Y3QgKm1tLAo+PsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIGlmIChyZXR2YWwpCj4+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gZmFpbF9ub21lbV9wb2xpY3k7Cj4+wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdG1wLT52bV9tbSA9IG1tOwo+PiArwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB0bXAtPnZtX3ByZXYgPSBwcmV2O8KgwqDCoCAvKiBhbm9uX3ZtYV9m b3JrIHVzZSB0aGlzICovCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRtcC0+dm1f bmV4dCA9IE5VTEw7Cj4+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dmFsID0g ZHVwX3VzZXJmYXVsdGZkKHRtcCwgJnVmKTsKPj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBpZiAocmV0dmFsKQo+PsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBnb3RvIGZhaWxfbm9tZW1fYW5vbl92bWFfZm9yazsKPj4gQEAgLTU1OSw3ICs1 NjEsNiBAQCBzdGF0aWMgX19sYXRlbnRfZW50cm9weSBpbnQgZHVwX21tYXAoc3RydWN0IG1tX3N0 cnVjdCAqbW0sCj4+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfSBlbHNlIGlmIChh bm9uX3ZtYV9mb3JrKHRtcCwgbXBudCkpCj4+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIGdvdG8gZmFpbF9ub21lbV9hbm9uX3ZtYV9mb3JrOwo+PsKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRtcC0+dm1fZmxhZ3MgJj0gfihWTV9MT0NLRUQg fCBWTV9MT0NLT05GQVVMVCk7Cj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRtcC0+ dm1fbmV4dCA9IHRtcC0+dm1fcHJldiA9IE5VTEw7Cj4+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgZmlsZSA9IHRtcC0+dm1fZmlsZTsKPj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBpZiAoZmlsZSkgewo+PsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZV9pbm9kZShmaWxlKTsKPj4g QEAgLTU5Miw3ICs1OTMsNiBAQCBzdGF0aWMgX19sYXRlbnRfZW50cm9weSBpbnQgZHVwX21tYXAo c3RydWN0IG1tX3N0cnVjdCAqbW0sCj4+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAqLwo+PsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICpwcHJldiA9IHRtcDsKPj7C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcHJldiA9ICZ0bXAtPnZtX25leHQ7Cj4+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRtcC0+dm1fcHJldiA9IHByZXY7Cj4+wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJldiA9IHRtcDsKPj4KPj7CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX3ZtYV9saW5rX3JiKG1tLCB0bXAsIHJiX2xpbmssIHJi X3BhcmVudCk7Cj4+IGRpZmYgLS1naXQgYS9tbS9ybWFwLmMgYi9tbS9ybWFwLmMKPj4gaW5kZXgg YjNlMzgxOTE5ODM1Li43N2IzYWEzOGQ1YzIgMTAwNjQ0Cj4+IC0tLSBhL21tL3JtYXAuYwo+PiAr KysgYi9tbS9ybWFwLmMKPj4gQEAgLTI2OSwxOSArMjY5LDYgQEAgaW50IGFub25fdm1hX2Nsb25l KHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqZHN0LCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnNyYykK Pj7CoCB7Cj4+wqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgYW5vbl92bWFfY2hhaW4gKmF2YywgKnBh dmM7Cj4+wqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgYW5vbl92bWEgKnJvb3QgPSBOVUxMOwo+PiAt wqDCoMKgwqDCoMKgIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqcHJldiA9IGRzdC0+dm1fcHJldiwg KnBwcmV2ID0gc3JjLT52bV9wcmV2Owo+PiAtCj4+IC3CoMKgwqDCoMKgwqAgLyoKPj4gLcKgwqDC oMKgwqDCoMKgICogSWYgcGFyZW50IHNoYXJlIGFub25fdm1hIHdpdGggaXRzIHZtX3ByZXYsIGtl ZXAgdGhpcyBzaGFyaW5nIGluIGluCj4+IC3CoMKgwqDCoMKgwqDCoCAqIGNoaWxkLgo+PiAtwqDC oMKgwqDCoMKgwqAgKgo+PiAtwqDCoMKgwqDCoMKgwqAgKiAxLiBQYXJlbnQgaGFzIHZtX3ByZXYs IHdoaWNoIGltcGxpZXMgd2UgaGF2ZSB2bV9wcmV2Lgo+PiAtwqDCoMKgwqDCoMKgwqAgKiAyLiBQ YXJlbnQgYW5kIGl0cyB2bV9wcmV2IGhhdmUgdGhlIHNhbWUgYW5vbl92bWEuCj4+IC3CoMKgwqDC oMKgwqDCoCAqLwo+PiAtwqDCoMKgwqDCoMKgIGlmICghZHN0LT5hbm9uX3ZtYSAmJiBzcmMtPmFu b25fdm1hICYmCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoCBwcHJldiAmJiBwcHJldi0+YW5vbl92 bWEgPT0gc3JjLT5hbm9uX3ZtYSkKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZHN0 LT5hbm9uX3ZtYSA9IHByZXYtPmFub25fdm1hOwo+PiAtCj4+Cj4+wqDCoMKgwqDCoMKgwqDCoCBs aXN0X2Zvcl9lYWNoX2VudHJ5X3JldmVyc2UocGF2YywgJnNyYy0+YW5vbl92bWFfY2hhaW4sIHNh bWVfdm1hKSB7Cj4+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RydWN0IGFub25f dm1hICphbm9uX3ZtYTsKPj4gQEAgLTMzNCw2ICszMjEsNyBAQCBpbnQgYW5vbl92bWFfY2xvbmUo c3RydWN0IHZtX2FyZWFfc3RydWN0ICpkc3QsIHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqc3JjKQo+ PsKgwqAgKi8KPj7CoCBpbnQgYW5vbl92bWFfZm9yayhzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZt YSwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICpwdm1hKQo+PsKgIHsKPj4gK8KgwqDCoMKgwqDCoCBz dHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnByZXYgPSB2bWEtPnZtX3ByZXYsICpwcHJldiA9IHB2bWEt PnZtX3ByZXY7Cj4+wqDCoMKgwqDCoMKgwqDCoCBzdHJ1Y3QgYW5vbl92bWFfY2hhaW4gKmF2YzsK Pj7CoMKgwqDCoMKgwqDCoMKgIHN0cnVjdCBhbm9uX3ZtYSAqYW5vbl92bWE7Cj4+wqDCoMKgwqDC oMKgwqDCoCBpbnQgZXJyb3I7Cj4+IEBAIC0zNDUsNiArMzMzLDE3IEBAIGludCBhbm9uX3ZtYV9m b3JrKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnB2 bWEpCj4+wqDCoMKgwqDCoMKgwqDCoCAvKiBEcm9wIGluaGVyaXRlZCBhbm9uX3ZtYSwgd2UnbGwg cmV1c2UgZXhpc3Rpbmcgb3IgYWxsb2NhdGUgbmV3LiAqLwo+PsKgwqDCoMKgwqDCoMKgwqAgdm1h LT5hbm9uX3ZtYSA9IE5VTEw7Cj4+Cj4+ICvCoMKgwqDCoMKgwqAgLyoKPj4gK8KgwqDCoMKgwqDC oMKgICogSWYgcGFyZW50IHNoYXJlcyBhbm9uX3ZtYSB3aXRoIGl0cyB2bV9wcmV2LCBrZWVwIHRo aXMgc2hhcmluZy4KPj4gK8KgwqDCoMKgwqDCoMKgICoKPj4gK8KgwqDCoMKgwqDCoMKgICogUHJl dmlvdXMgVk1BIGNvdWxkIGJlIG1pc3Npbmcgb3Igbm90IG1hdGNoIHByZXZpdW9zIGluIHBhcmVu dAo+PiArwqDCoMKgwqDCoMKgwqAgKiBpZiBWTV9ET05UQ09QWSBpcyBzZXQ6IGNvbXBhcmUgdm1f c3RhcnQgdG8gYXZvaWQgdGhpcyBjYXNlLgo+PiArwqDCoMKgwqDCoMKgwqAgKi8KPj4gK8KgwqDC oMKgwqDCoCBpZiAocHZtYS0+YW5vbl92bWEgJiYgcHByZXYgJiYgcHJldiAmJgo+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqAgcHByZXYtPmFub25fdm1hID09IHB2bWEtPmFub25fdm1hICYmCj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoCBwcHJldi0+dm1fc3RhcnQgPT0gcHJldi0+dm1fc3RhcnQpCj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHZtYS0+YW5vbl92bWEgPSBwcmV2LT5hbm9u X3ZtYTsKPj4gKwo+PsKgwqDCoMKgwqDCoMKgwqAgLyoKPj7CoMKgwqDCoMKgwqDCoMKgwqAgKiBG aXJzdCwgYXR0YWNoIHRoZSBuZXcgVk1BIHRvIHRoZSBwYXJlbnQgVk1BJ3MgYW5vbl92bWFzLAo+ PsKgwqDCoMKgwqDCoMKgwqDCoCAqIHNvIHJtYXAgY2FuIGZpbmQgbm9uLUNPV2VkIHBhZ2VzIGlu IGNoaWxkIHByb2Nlc3Nlcy4KPj4KPj4=