From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 75EEF802A5 for ; Fri, 9 Oct 2026 15:09:23 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 699F87sh008930; Fri, 9 Oct 2026 18:08:07 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 699F87sh008930 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=sashiko.virtuozzo.com header.i=@sashiko.virtuozzo.com header.b="SeaYzAuJ"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazonses.com header.i=@amazonses.com header.b="kKq6zKqv" Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 699F85Uc008922 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Fri, 9 Oct 2026 18:08:05 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 699F85Uc008922 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-486f9d150c3so3720444f8f.3 for ; Fri, 09 Oct 2026 08:08:05 -0700 (PDT) X-Gm-Message-State: AFq9FYIIYrTTThOFC8bMFPEDTg6TuniRuUPn3Et1R1Ia0VLZgBaJVB5D e22kJfoWTgJ0N6MrDjGT6JH6jOifhzri7uo3ni4Oy1h9EepNU56HSqEKE9RO6MTv2eQDX1ApCzW 6GBfWM698Lt7FgLi1sdXlDVLTfcCvA4/uZxcmdIqTAr5BHUK87yKdfg== X-Gm-Gg: AYBFou2xHOt0b14NT8D9FEonyL4dtPqLOTlty7N8aTHuGFcsjYatJDxOgHExnePcslZ 92fwGZGOayz1DPM9xtTaqitrB0Ac3z8NqW0SVQTUMlR0lqKIYv0ikJVZdz9SXwp5SiWxMsBMG/0 tdGypu+93PnDtqp8dBHZx3W+OKauOTMFJK/tl/yiZESuhU0nwwkSmP5PJYA8rE7PUcmEjF4gFcU FopTKsjDsoRngQZ7i3XKled99NNBtKOQYQObR/d56c1ct34bocPCKryop7BDyyR7IwvjKtYIRKs 213huu3JFWe2kU3Bo8sHe5LkmR9CEoI9eHRuvpaqlkaKgdYPk1wKxLXyeJ0xyTL+U8XV/dztNYo XQwtRoKLjCdMDMgrRpTziZg/hARG5xTijXvGuxkPSc9oE08Z4gWe0ySVRxHOqlAD8sWigFnjEk2 ADvYwzGNUieXPsxP1UBGXVdnjTU8R13/UGvYfKyqHsAe9LzqmuOau7sBiyybdm9z8zrXp/piw4V +/PptEcyT4WosXX7xW6 X-Received: by 2002:adf:f782:0:b0:48c:71b8:c633 with SMTP id ffacd0b85a97d-48dbad34569mr3287426f8f.43.1791558485240; Fri, 09 Oct 2026 08:08:05 -0700 (PDT) X-Received: by 2002:adf:f782:0:b0:48c:71b8:c633 with SMTP id ffacd0b85a97d-48dbad34569mr3287339f8f.43.1791558484400; Fri, 09 Oct 2026 08:08:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1791558484; cv=none; d=google.com; s=arc-20260327; b=KSQydAeP6cOjsG/3YpSXAGvoi+m5SUtxLbrVJVcuFtf8UErfItNNKaqgQKia3w/N+x CYXdTuni/iAFRoZvFrXaIma6f/OcrKP9+45YJMPzPvhnpdORpVX0sUbVg3OvQxPksB5m kacjuQ0s05ueYgun5+r33dk/I/nYm/WiZ8rWzq+0Z5EIPOpGW0H0tegJpdzgAaoIMC8G IBXAPE8+F8/ugVXYLdHnd2O4QkqOt7WzCCl+y4nMrYUB8Mm+tZeM9AWAfx6/dqGHQkhT b7xqMgwaz3wKAiMSYi0Qs7UM9d7cE+u+NILFmNgK61Hgk5y1t8bpnQs5yCOB3yt6j72R cFow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=feedback-id:date:content-transfer-encoding:references:in-reply-to :cc:to:subject:from:message-id:dkim-signature:dkim-signature; bh=iNig7sejUzEzO5PRCuK7NeR8ubim6lRfDXxnQfmE4aY=; fh=kg1mRZKXPYMRrAq7rtigE2jYpQagTtv0YZvfX2KDx1Q=; b=EQdu7G3ll2bPJNrTi/e2a+lJ45sJQKizUtirTMuSByM4R6A8DGwqVgaL6dxdhhB589 vLeUDIVOyfbVcljnUikw/c0pD1gRKReKIOMylPzB9KWhbSYBGXtnLDy1PjKFpv+VNnV2 KJTeXoV4wmZmNM45nhRDjGiXbe7IL3Zatq44cNLyXZLdTuGZPdbanEjUL8uXl8DpEpid YKNwPlB6xDpFArp7rzc26KE3Ngm00dPCXCuX3ciLji1tFSjYxauVZvYFveWEtNILG+R8 fJJKorrxwxqv8SaIkFFcuSeb5B3fC+B6AyvKaPrVd7g2JlrFP8MvV4hLdtCdTQ8EM4vE Y/lg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b=SeaYzAuJ; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=kKq6zKqv; spf=pass (google.com: domain of 010701a12134ffd9-15e9d8a6-e2c7-4488-bbd3-34e6181d87f0-000000@eu-central-1.amazonses.com designates 69.169.224.5 as permitted sender) smtp.mailfrom=010701a12134ffd9-15e9d8a6-e2c7-4488-bbd3-34e6181d87f0-000000@eu-central-1.amazonses.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from b224-5.smtp-out.eu-central-1.amazonses.com (b224-5.smtp-out.eu-central-1.amazonses.com. [69.169.224.5]) by mx.google.com with ESMTPS id ffacd0b85a97d-48db9ac4037si4427556f8f.206.2026.10.09.08.08.04 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 09 Oct 2026 08:08:04 -0700 (PDT) Received-SPF: pass (google.com: domain of 010701a12134ffd9-15e9d8a6-e2c7-4488-bbd3-34e6181d87f0-000000@eu-central-1.amazonses.com designates 69.169.224.5 as permitted sender) client-ip=69.169.224.5; Authentication-Results: mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b=SeaYzAuJ; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=kKq6zKqv; spf=pass (google.com: domain of 010701a12134ffd9-15e9d8a6-e2c7-4488-bbd3-34e6181d87f0-000000@eu-central-1.amazonses.com designates 69.169.224.5 as permitted sender) smtp.mailfrom=010701a12134ffd9-15e9d8a6-e2c7-4488-bbd3-34e6181d87f0-000000@eu-central-1.amazonses.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=23yjbh4k34hwzfubhuiim7m4inbd3ick; d=sashiko.virtuozzo.com; t=1791558484; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=G+03eYR0cQcBvectzWzWtOISvKG2vYPAMRgzD/4339I=; b=SeaYzAuJDqC4y0ijZnQGaqxWeMtNTz65m83nwqWOv0P0IAAkQs5P9ZsQvAQGkXg6 WHIO4fv548KZUWzRHz4qrm0sCDvPn8DIl9aIcandFy/58lI7NVnDbQdOSRcEmt4Wk/e wQHvJQxoYkIYF2ibyn6hc5soFGde44x05ybtlqtGPM/X422tXUAHO7LEVrn2Gp+rj2Q DAs4dyJCxHup5cXLwR0+5y4YqjLvYz4aIxZ4kn8ner5Z4IeOXfUhoket72+RGarvJIL Pf7e1jF50Rn3y7MYf0QKwvhrYhD5wWDVvd12ljbQNRu1k86Ph06WzNS/9xjSV6OPotg aX4ITbuDAw== DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh; d=amazonses.com; t=1791558484; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date:Feedback-ID; bh=G+03eYR0cQcBvectzWzWtOISvKG2vYPAMRgzD/4339I=; b=kKq6zKqviZZqmVGa74QpqR+CACIZg2CQh+6SYAFn+sqjoSVJTcvMPiKRokVlPCJk psyRBLBrOygaQYy0g8fmr4+F0IsIlvdih+VvzTVYyRkNrzZt6dJbhYaUAQAhhl2+Cg5 CEYNZF85G2RtC/LW3WbRcTsPVu8+hlGAjCpQ/1W0= Message-ID: <010701a12134ffd9-15e9d8a6-e2c7-4488-bbd3-34e6181d87f0-000000@eu-central-1.amazonses.com> From: no-reply@sashiko.virtuozzo.com To: Andrey Drobyshev , Konstantin Khorenko In-Reply-To: <20261009-vfio_v1-v1-3-1901cd6c3c74@virtuozzo.com> References: <20261009-vfio_v1-v1-0-1901cd6c3c74@virtuozzo.com> <20261009-vfio_v1-v1-3-1901cd6c3c74@virtuozzo.com> Date: Fri, 9 Oct 2026 15:08:03 +0000 Feedback-ID: ::1.eu-central-1.2wRQJBpg9g1fGRYexx3dUuYGS25Bux+2TEOx72/m6U4=:AmazonSES X-SES-Outgoing: 2026.10.09-69.169.224.5 X-OZ-Fwd: true X-MIME-Autoconverted: from quoted-printable to 8bit by mail.openvz.org id 699F85Uc008922 Cc: devel@openvz.org Subject: Re: [Devel] [PATCH RFC PATCH hci-8.1 3/4] mm: move MADV_DOEXEC memory instead of copying it X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0NyaXRpY2FsXSBtbTogdm1hX2R1 cCgpIGNvcGllcyB2bV9maWxlIHdpdGhvdXQgZ2V0X2ZpbGUoKSBmb3IgcHJpdmF0ZSAvZGV2L3pl cm8gVk1BcwotIFtMb3ddIG1tOiB2bWFfZHVwKCkgZGlzY2FyZHMga3NtX21hZHZpc2UoKSBmbGFn cyBzbyBWTV9NRVJHRUFCTEUgc3RheXMgb24gbW92ZWQgVk1BCi0gW0xvd10gbW06IHBhZGF0YSB3 b3JrZXJzIHNlcmlhbGl6ZSBvbiBhbm9uX3ZtYSB3cml0ZSBsb2NrIGluIG1vdmVfcHRlcygpCi0t Cgpjb21taXQgYjg5NDA2YWEzMDQyMjBlNzMxOTRkYjNjMDQ2NjI0MTJjNmNiZmU0NApBdXRob3I6 IEFuZHJleSBEcm9ieXNoZXYgPGFuZHJleS5kcm9ieXNoZXZAdmlydHVvenpvLmNvbT4KCm1tOiBt b3ZlIE1BRFZfRE9FWEVDIG1lbW9yeSBpbnN0ZWFkIG9mIGNvcHlpbmcgaXQKClRoaXMgY29tbWl0 IGNoYW5nZXMgTUFEVl9ET0VYRUMgcHJlc2VydmF0aW9uIGFjcm9zcyBleGVjIGZyb20gYQpmb3Jr LXN0eWxlIGNvcHkgdG8gYSBtb3ZlIG9mIHRoZSBwYWdlIHRhYmxlcyBpbnRvIHRoZSBuZXcgbW0u IHZtYV9kdXAoKQpub3cgY2xvbmVzIHRoZSBhbm9uX3ZtYSBjaGFpbiwgdW5tZXJnZXMgS1NNLCBk cm9wcyBtbG9jayBzdGF0ZSwgYW5kIGNhbGxzCm1vdmVfcGFnZV9yYW5nZV9leGVjKCkuIFRoZSBw YXJhbGxlbCBjb3B5IGNvZGUgYW5kIHRoZSBleGVjLXNwZWNpZmljCnBpbm5lZC1wYWdlIGV4Y2Vw dGlvbiBpbiB0aGUgcm1hcCBkdXAgcGF0aCBhcmUgcmVtb3ZlZC4KCkxpbms6IGh0dHBzOi8vdmly dHVvenpvLmF0bGFzc2lhbi5uZXQvYnJvd3NlL1ZTVE9SLTEwMzg2MAoKPiBkaWZmIC0tZ2l0IGEv bW0vbW1hcC5jIGIvbW0vbW1hcC5jCj4gLS0tIGEvbW0vbW1hcC5jCj4gKysrIGIvbW0vbW1hcC5j CgpbIC4uLiBdCgo+ICBpbnQgdm1hX2R1cChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKm9sZF92bWEs IHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQo+ICB7Cj4gIAlzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZt YTsKPiAgCXVuc2lnbmVkIGxvbmcgbnBhZ2VzOwo+ICsJdm1fZmxhZ3NfdCBmbGFncyA9IG9sZF92 bWEtPnZtX2ZsYWdzOwo+ICAJaW50IHJldCA9IC1FTk9NRU07CgpbIC4uLiBdCgo+ICsJLyogS1NN IHRyYWNrcyBtYXBwaW5ncyBieSBtbSBhbmQgYWRkcmVzczsgdW5tZXJnZSBiZWZvcmUgbW92aW5n IHRoZW0uICovCj4gKwlyZXQgPSBrc21fbWFkdmlzZShvbGRfdm1hLCBvbGRfdm1hLT52bV9zdGFy dCwgb2xkX3ZtYS0+dm1fZW5kLAo+ICsJCQkgIE1BRFZfVU5NRVJHRUFCTEUsICZmbGFncyk7Cj4g KwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7CgpbU2V2ZXJpdHk6IExvd10KSXMgdGhlIHJlc3Vs dCBvZiB0aGlzIGtzbV9tYWR2aXNlKCkgY2FsbCBldmVyIGFwcGxpZWQ/Cgprc21fbWFkdmlzZSgp IGNsZWFycyBWTV9NRVJHRUFCTEUgb25seSB0aHJvdWdoIGl0cyB2bV9mbGFncyBvdXRwdXQKYXJn dW1lbnQ6CgptbS9rc20uYzprc21fbWFkdmlzZSgpIHsKICAgIC4uLgogICAgKnZtX2ZsYWdzICY9 IH5WTV9NRVJHRUFCTEU7CiAgICAuLi4KfQoKSGVyZSB0aGF0IGFyZ3VtZW50IGlzIHRoZSBsb2Nh bCB2YXJpYWJsZSBmbGFncywgd2hpY2ggaXMgbmV2ZXIgd3JpdHRlbgpiYWNrIHRvIG9sZF92bWEt PnZtX2ZsYWdzIGFuZCBpcyBub3QgdXNlZCBhZnRlcndhcmRzLgoKdm1fYXJlYV9kdXAoKSB0aGVu IGNvcGllcyB0aGUgb3JpZ2luYWwgdm1fZmxhZ3MgaW50byB0aGUgbmV3IFZNQSwgYW5kIHRoZQps YXRlciB2bV9mbGFnc19jbGVhcigpIG9uIHRoZSBuZXcgVk1BIGRvZXMgbm90IGluY2x1ZGUgVk1f TUVSR0VBQkxFOgoKPiArCXZtX2ZsYWdzX2NsZWFyKHZtYSwgVk1fTE9DS0VEX01BU0sgfCBWTV9V RkZEX01JU1NJTkcgfCBWTV9VRkZEX1dQIHwKPiArCQkgICAgICAgVk1fVUZGRF9NSU5PUiB8IFZN X0VYRUNfS0VFUCk7CgpbIC4uLiBdCgo+ICsJaWYgKCF0ZXN0X2JpdChNTUZfVk1fTUVSR0VBQkxF LCAmbW0tPmZsYWdzKSkKPiArCQlrc21fZm9yayhtbSwgb2xkX3ZtYS0+dm1fbW0pOwo+ICsJcmV0 dXJuIG1vdmVfcGFnZV9yYW5nZV9leGVjKHZtYSwgb2xkX3ZtYSk7CgpGb3IgYSBWTUEgd2l0aCBi b3RoIE1BRFZfRE9FWEVDIGFuZCBNQURWX01FUkdFQUJMRSwga3NtX2ZvcmsoKSByZWdpc3RlcnMK dGhlIG5ldyBtbSB3aXRoIGtzbWQgd2hpbGUgdGhlIG1vdmVkIFZNQSBzdGlsbCBoYXMgVk1fTUVS R0VBQkxFIHNldC4KQ291bGQga3NtZCB0aGVuIHNjYW4gYW5kIHJlLW1lcmdlIHBhZ2VzIGluIHRo ZSBtb3ZlZCBWTUE/CgpUaGUgY29tbWl0IG1lc3NhZ2Ugc2F5cyB0aGUgcGF0Y2ggd2lsbCAidW5t ZXJnZSBLU00iLiBJcyB0aGUgaW50ZW50IHRvCmxlYXZlIHRoZSBtb3ZlZCBWTUEgS1NNLWVsaWdp YmxlLCBhcyBmb3JrKCkgZG9lcywgb3IgdG8gZGlzYWJsZSBLU00gb24gaXQ/CklmIHRoZSBsYXR0 ZXIsIHNob3VsZCBWTV9NRVJHRUFCTEUgYmUgY2xlYXJlZCBvbiB0aGUgbmV3IFZNQSwgZm9yIGV4 YW1wbGUKYnkgYWRkaW5nIGl0IHRvIHRoZSB2bV9mbGFnc19jbGVhcigpIGNhbGw/Cgo+ICsJLyoK PiArCSAqIFRyYW5zZmVyIHRoZSByZXNlcnZhdGlvbiB0byB0aGUgbGlua2VkIGRlc3RpbmF0aW9u IFZNQS4gSWYgbW92aW5nCj4gKwkgKiBwYWdlIHRhYmxlcyBmYWlscyBwYXJ0d2F5IHRocm91Z2gs IGV4ZWMgY2Fubm90IHJlc3VtZSB0aGUgb2xkIGltYWdlOgo+ICsJICogaXQgbXVzdCB0ZXJtaW5h dGUgYW5kIHRlYXIgZG93biBib3RoIG1tcy4gRWFjaCBtbSB0aGVuIGZyZWVzIGl0cwo+ICsJICog cmVtYWluaW5nIG1hcHBpbmdzLCBhbmQgdGhlIGRlc3RpbmF0aW9uIHJlbGVhc2VzIHRoZSByZXNl cnZhdGlvbi4KPiAgCSAqLwo+IC0JX192bV9mbGFnc19tb2Qob2xkX3ZtYSwgMCwgVk1fQUNDT1VO VCk7Cj4gKwl2bV9mbGFnc19jbGVhcihvbGRfdm1hLCBWTV9BQ0NPVU5UKTsKClsgLi4uIF0KCj4g IAl2bWEgPSB2bV9hcmVhX2R1cChvbGRfdm1hKTsKPiAgCWlmICghdm1hKQo+ICAJCWdvdG8gZmFp bF9ub21lbTsKCltTZXZlcml0eTogQ3JpdGljYWxdCkNhbiB0aGlzIGxlYXZlIHR3byBWTUFzIGhv bGRpbmcgYSBzaW5nbGUgcmVmZXJlbmNlIG9uIHZtX2ZpbGU/Cgp2bV9hcmVhX2R1cCgpIG1lbWNw eSgpcyB0aGUgVk1BLCBpbmNsdWRpbmcgdm1fZmlsZSwgYW5kIHRha2VzIG5vIGZpbGUKcmVmZXJl bmNlLiBOb3RoaW5nIGxhdGVyIGluIHZtYV9kdXAoKSBjYWxscyBnZXRfZmlsZSgpIG9yIGNsZWFy cyB2bV9maWxlLAphbmQgdm1hX2xpbmsoKSB0aGVuIGNhbGxzIHZtYV9saW5rX2ZpbGUoKSBvbiB0 aGUgbmV3IFZNQS4KClRoZSBNQURWX0RPRVhFQyBnYXRlIGluIG1hZHZpc2Vfdm1hX2JlaGF2aW9y KCkgb25seSByZXF1aXJlcwp2bWFfaXNfYW5vbnltb3VzKCkgYW5kIHJlamVjdHMgVk1fRVhFQywg Vk1fU0hBUkVEIGFuZCBWTV9TVEFDSy4gSXQgZG9lcwpub3QgcmVqZWN0IHZtX2ZpbGUgIT0gTlVM TC4gQSBwcml2YXRlIG1hcHBpbmcgb2YgL2Rldi96ZXJvIHBhc3NlcyB0aGF0CmdhdGUsIGJlY2F1 c2UgbW1hcF96ZXJvKCkgY2FsbHMgdm1hX3NldF9hbm9ueW1vdXMoKSBhbmQgbGVhdmVzIHZtX2Zp bGUKc2V0OgoKZHJpdmVycy9jaGFyL21lbS5jOm1tYXBfemVybygpIHsKICAgIC4uLgogICAgaWYg KHZtYS0+dm1fZmxhZ3MgJiBWTV9TSEFSRUQpCiAgICAgICAgcmV0dXJuIHNobWVtX3plcm9fc2V0 dXAodm1hKTsKICAgIHZtYV9zZXRfYW5vbnltb3VzKHZtYSk7CiAgICByZXR1cm4gMDsKfQoKVGhl IGNhbGwgY2hhaW4gd291bGQgdGhlbiBiZToKCmV4ZWNfbW1hcCgpCiAgdm1hX2R1cF9zb21lKCkK ICAgIHZtYV9kdXAoKQogICAgICB2bV9hcmVhX2R1cCgpICAgIC8qIGNvcGllcyB2bV9maWxlLCBu byBnZXRfZmlsZSgpICovCiAgICAgIHZtYV9saW5rKCkgICAgICAgLyogbmV3IFZNQSBub3cgaW4g dGhlIGZpbGUncyBpX21tYXAgKi8KCkVhY2ggbW0ncyB0ZWFyZG93biB0aGVuIHJlYWNoZXMgcmVt b3ZlX3ZtYSgpOgoKbW0vdm1hLmM6cmVtb3ZlX3ZtYSgpIHsKICAgIC4uLgogICAgaWYgKHZtYS0+ dm1fZmlsZSkKICAgICAgICBmcHV0KHZtYS0+dm1fZmlsZSk7Cn0KClRoYXQgd291bGQgY2FsbCBm cHV0KCkgdHdpY2UgZm9yIG9uZSByZWZlcmVuY2UuIFNob3VsZCB2bWFfZHVwKCkgZWl0aGVyCnRh a2UgZ2V0X2ZpbGUoKSB3aGVuIHZtYS0+dm1fZmlsZSBpcyBzZXQsIG9yIHJlamVjdCBWTUFzIHdp dGggYSB2bV9maWxlIGluCnRoZSBNQURWX0RPRVhFQyBjaGVjaz8KClRoZSBvbGQgdm1hX2R1cCgp IGhhZCB0aGUgc2FtZSB2bV9hcmVhX2R1cCgpIHBhdGguIEhvd2V2ZXIsIHRoaXMgcGF0Y2gKcmV3 cml0ZXMgdGhlIGZ1bmN0aW9uIGFuZCBidWlsZHMgdGhlIG5ldyBtb3ZlIHNlbWFudGljcyBvbiBp dCwgc28gaXQgc2VlbWVkCndvcnRoIHJhaXNpbmcgaGVyZS4KCj4gZGlmZiAtLWdpdCBhL21tL21y ZW1hcC5jIGIvbW0vbXJlbWFwLmMKClsgLi4uIF0KCj4gc3RhdGljIGludCBtb3ZlX3BhZ2VfcmFu Z2VfY2h1bmsodW5zaWduZWQgbG9uZyBhZGRyLCB1bnNpZ25lZCBsb25nIGVuZCwgdm9pZCAqYXJn KQo+IHsKPiAJLi4uCj4gCXJldHVybiBtb3ZlX3BhZ2VfdGFibGVzKGFyZ3MtPm9sZF92bWEsIGFk ZHIsIGFyZ3MtPm5ld192bWEsIGFkZHIsCj4gCQkJCWxlbiwgdHJ1ZSwgZmFsc2UpID09IGxlbiA/ IDAgOiAtRU5PTUVNOwo+IH0KCltTZXZlcml0eTogTG93XQpJcyB0aGUgMTYtdGhyZWFkIHBhZGF0 YSBqb2IgaW4gbW92ZV9wYWdlX3JhbmdlX2V4ZWMoKSBhYmxlIHRvIHNjYWxlIGhlcmU/CgpFdmVy eSB3b3JrZXIgY2FsbHMgbW92ZV9wYWdlX3RhYmxlcygpIHdpdGggbmVlZF9ybWFwX2xvY2tzIHNl dCB0byB0cnVlLgpGb3IgZWFjaCBQTUQgZXh0ZW50LCBtb3ZlX3B0ZXMoKSB0aGVuIGRvZXM6Cgpt b3ZlX3BhZ2VfcmFuZ2VfY2h1bmsoKQogIG1vdmVfcGFnZV90YWJsZXMoLi4uLCBuZWVkX3JtYXBf bG9ja3MgPSB0cnVlLCAuLi4pCiAgICBtb3ZlX3B0ZXMoKQogICAgICB0YWtlX3JtYXBfbG9ja3Mo KQogICAgICAgIGFub25fdm1hX2xvY2tfd3JpdGUodm1hLT5hbm9uX3ZtYSkKClRoZSBhbm9uX3Zt YSB3cml0ZSBsb2NrIGlzIGhlbGQgYWNyb3NzIHRoZSBwZXItUE1EIFBURSBtb3ZlIGxvb3AgYW5k IHRoZQpUTEIgZmx1c2gsIGFuZCBpcyBkcm9wcGVkIG9ubHkgaW4gZHJvcF9ybWFwX2xvY2tzKCkg YXQgdGhlIG91dCBsYWJlbC4gQWxsCndvcmtlcnMgb3BlcmF0ZSBvbiB0aGUgc2FtZSBvbGRfdm1h LCBzbyB0aGV5IHRha2UgdGhlIHNhbWUgYW5vbl92bWEgcm9vdApyd3NlbSBmb3Igd3JpdGUuCgpE b2VzIHRoaXMgbW9zdGx5IHNlcmlhbGl6ZSB0aGUgd29ya2Vycywgc28gdGhhdCBwYWRhdGFfZG9f bXVsdGl0aHJlYWRlZCgpCndpdGggbWF4X3RocmVhZHMgPSAxNiBnaXZlcyBsaXR0bGUgc3BlZWR1 cCBvdmVyIGEgc2luZ2xlIHRocmVhZD8gSSBkb24ndApzZWUgYSBjb3JyZWN0bmVzcyBwcm9ibGVt LiBIYXMgdGhlIHBlcmZvcm1hbmNlIHJlbGF0aXZlIHRvIHRoZSBvbGQKY29weV9wYWdlX3Jhbmdl X210KCkgcGF0aCBiZWVuIG1lYXN1cmVkPwoKLS0gClNhc2hpa28gQUkgcmV2aWV3IMK3IGh0dHBz Oi8vc2FzaGlrby52emludC5kZXYvIy9wYXRjaHNldC8yMDI2MTAwOS12ZmlvX3YxLXYxLTAtMTkw MWNkNmMzYzc0QHZpcnR1b3p6by5jb20/cGFydD0zCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpEZXZlbCBtYWlsaW5nIGxpc3QKRGV2ZWxAb3BlbnZ6Lm9y ZwpodHRwczovL2xpc3RzLm9wZW52ei5vcmcvbWFpbG1hbi9saXN0aW5mby9kZXZlbAo=