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 9CF9F80726 for ; Fri, 9 Oct 2026 14:41:10 +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 699EdmO1008687; Fri, 9 Oct 2026 17:39:49 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 699EdmO1008687 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="JTGEIapy"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amazonses.com header.i=@amazonses.com header.b="TDqj1tOp" Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 699Edkdc008681 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Fri, 9 Oct 2026 17:39:47 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 699Edkdc008681 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4a1612c4b80so63030695e9.0 for ; Fri, 09 Oct 2026 07:39:47 -0700 (PDT) X-Forwarded-Encrypted: i=2; AKwUvBwx4jiJOUKjsY5vX5hyGbF5GN5N/uhLGEcnw8JFryMkObH9eOPSRsutAKN2+wPU0RJyE0S+Wg==@openvz.org X-Gm-Message-State: AFuF++kB5wfotwoVjQ+gW7XlSVvQli02sgUQOXGpa7xwOY+1eRjZrHpi zvPZ9sownQ/wP/GmrIZbNLRda1D9kAPIbG9A6WSvpmif7XF+PcBIAAyG/8QXKun2lkt028oCPpw YMwxlizhPzd1NF770ugu/UWqgkmiSeHJFmAb07PzXJ4cUAnJJG7e+5A== X-Gm-Gg: AYBFou2Ip8OhhP5Nf4QcoRUMWK5UKtFLJMZPJ3uYBjmkQXFxeGhCnQPBO8HQBds5sZ9 Fnhl43IXN6gOXmfIvhWPcpIq6jp1JBasc6A59ZhOLx0djCIDtgFobtSVSr7FpwN3H0Ga2k1uTaS cKXhNg6e4A4oFNGSi6wIk7NQ80P9NIJBmUDpEApjoFXhp2/bIxVuNqOOVmvoh6Tz8xHl5/QmKJQ NpnDEJRq2Qxl8gwG8Vv6dF8A2JQEdI4/1FsRqZC6PTp2lf7YiWRoyE/LVQGeZrkmz0twZZrGorj 5XbnRAVpZLbydifD03SAs/IDU8m7Px2QlJjRtPN7SqwHc0b0syxHxThD2UbqGgCs63SvIVy9q1g 6Nj4blCyPsLUAbu378IuMsno2BhhOpJX4mqoLIXpLWnLiBnQ8vJ1eurQMW46uGrsoVdcaih/Ibz DXSxnXabcyDeiX1hhJg8DpYbEASFiZl+OVD3RUOL/9LS/B260/Y/GQRxIe1B6Rrgx6MWXEifMpc ZfPgNRI9p+dLeQmz+Xq X-Received: by 2002:a05:600c:8718:b0:4a1:7259:349e with SMTP id 5b1f17b1804b1-4a18e4e0a33mr39077175e9.27.1791556786571; Fri, 09 Oct 2026 07:39:46 -0700 (PDT) X-Received: by 2002:a05:600c:8718:b0:4a1:7259:349e with SMTP id 5b1f17b1804b1-4a18e4e0a33mr39076655e9.27.1791556786026; Fri, 09 Oct 2026 07:39:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1791556786; cv=none; d=google.com; s=arc-20260327; b=p5K+q0V/1MeS5qHHo9Euk5CSSxMmBZzhyeN1EmhUIJH5bjkhSsCY1mdWC8M3YNt5oE oa2CCf5m0j8EFemvSRwqSTbnrT41dnVNWZ6ynZoMA5kqLiZkNSfhAeAI0i1Tsbzq8ZzC t4rq7m4/pcDVZHcPx1CAEP/xI+juAWD1uud8EXF+E7iJe32bsZJPRk6ZUp0Ma7oLyMF/ Xarq16PDQd2LSRPR/ltLKwono39pKOPxFQkbrJNYeMxiCgXytMAJbrV7Vme18XFt7Wd5 FYCF2qBF7ge6oa8W5J2fztTfFO79V9g/8adeNclUxoN2Wm7O/KX+9S32VA1zH5lySqMV lBrw== 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 :to:subject:from:message-id:dkim-signature:dkim-signature; bh=JlaDbZMIfB2cZkEQIvMiCLU40zGwxLC3GIQOx5LvJnU=; fh=o1EiXAeMziRNFTKgd78ccrGXKu9VBMJY0CQJbIxiCKY=; b=dboFpvnpV/1ddr53Zpg8i+v83iBv8FW1xt/oED739CK4coYJSgO5AupgpfpnYi92L6 iGEyGuFMykPLAvBz0dZ8uaRT53Mr2eeru6eqf0KcmVqHAcLqX6i3QQFs3wYHOBuOgaSk SzwZkwPD2Fru6il9XL0um6r9Kcnq+yQfpdfjG52NorOWM3X8NATJ06looUBYrsUvrmFN y0x9B3hG5qXrrWOOTHvNLmIeT6GpxXtLoRLgov1Kz+ZCKIyqo0pK3UagsPCr1fFvLsbT pDFL9aURdGEj+Jw4o0DZMF8zehQ7e6JM5uske12SBKOVcBdgZJYDAvCG5WEeaKjxWhVp W6Vw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b=JTGEIapy; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=TDqj1tOp; spf=pass (google.com: domain of 010701a1211b15cb-79d1ea80-75af-43ba-b36f-5ed9da46adfa-000000@eu-central-1.amazonses.com designates 69.169.224.2 as permitted sender) smtp.mailfrom=010701a1211b15cb-79d1ea80-75af-43ba-b36f-5ed9da46adfa-000000@eu-central-1.amazonses.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from b224-2.smtp-out.eu-central-1.amazonses.com (b224-2.smtp-out.eu-central-1.amazonses.com. [69.169.224.2]) by mx.google.com with ESMTPS id ffacd0b85a97d-48db9adedc6si4413820f8f.294.2026.10.09.07.39.45 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 09 Oct 2026 07:39:45 -0700 (PDT) Received-SPF: pass (google.com: domain of 010701a1211b15cb-79d1ea80-75af-43ba-b36f-5ed9da46adfa-000000@eu-central-1.amazonses.com designates 69.169.224.2 as permitted sender) client-ip=69.169.224.2; Authentication-Results: mx.google.com; dkim=pass header.i=@sashiko.virtuozzo.com header.s=23yjbh4k34hwzfubhuiim7m4inbd3ick header.b=JTGEIapy; dkim=pass header.i=@amazonses.com header.s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh header.b=TDqj1tOp; spf=pass (google.com: domain of 010701a1211b15cb-79d1ea80-75af-43ba-b36f-5ed9da46adfa-000000@eu-central-1.amazonses.com designates 69.169.224.2 as permitted sender) smtp.mailfrom=010701a1211b15cb-79d1ea80-75af-43ba-b36f-5ed9da46adfa-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=1791556785; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date; bh=kGYEAW+C55Ms0tua/TXsNZSmnFc12mAs49ZgsmZ8bBw=; b=JTGEIapyIlflDv7/giyjrEFiCyCdZPzkLzlQsvu3UQqMEvu10+VrmIDuVr1JZM8p tJ9F/Cc/B8/AiW/yJtnk8XCTernSaNp+azscNsuJ139XorU3mtgCYplOFfKQh6v9fHe ALZv4VfRLzs8hBJ5ubZzRG6AnPcwNilBVZaU7ouS9I+NNOTfsEFpC3kGoPGxRlIkxpB t9z2h8NmrPfj16ScvDO5uPQ6IF6eFh5XO5lfkOJe1gV+wD3P29mNBdpdRvuJfeqn0DC cfVBPlk8GL/CWlvfqHOhzUmJhbAOOPdndQlCqqX4GaeF0FvUsmD+Avp9rynazrZzcAp AUuYmf0QuQ== DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=qftdzk2dqsatjnlrq4r5brjbihpfcrsh; d=amazonses.com; t=1791556785; h=Message-ID:From:Subject:To:In-Reply-To:References:Content-Type:Content-Transfer-Encoding:Date:Feedback-ID; bh=kGYEAW+C55Ms0tua/TXsNZSmnFc12mAs49ZgsmZ8bBw=; b=TDqj1tOpyCvIOv10Nf423Fp22dux9paSK45+4PV4xu0DCC9iEgSK+7x68OU+tx7d 1vGTUPrjlF0yS1CVFfTpxGz+p2UnyGw4I4gtlwvOkykMVqWGOpCpQ8dvXeAH7PRGTYm m5NZBQWO6XjFS9mHE4B65Gkiphvw3O4m+I9/OaFY= Message-ID: <010701a1211b15cb-79d1ea80-75af-43ba-b36f-5ed9da46adfa-000000@eu-central-1.amazonses.com> From: no-reply@sashiko.virtuozzo.com To: Andrey Drobyshev , devel@openvz.org In-Reply-To: <20261009143227.492150-1-andrey.drobyshev@virtuozzo.com> References: <20261009143227.492150-1-andrey.drobyshev@virtuozzo.com> Date: Fri, 9 Oct 2026 14:39:45 +0000 Feedback-ID: ::1.eu-central-1.2wRQJBpg9g1fGRYexx3dUuYGS25Bux+2TEOx72/m6U4=:AmazonSES X-SES-Outgoing: 2026.10.09-69.169.224.2 X-OZ-Fwd: true X-MIME-Autoconverted: from quoted-printable to 8bit by mail.openvz.org id 699Edkdc008681 Subject: Re: [Devel] [PATCH hci-8.1] mm: allow MADV_DOEXEC on shared PFN mappings of device memory 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 MyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIG1tOiBNQURWX0RPRVhF QyBkdXBzIGFueSBzaGFyZWQgUEZOTUFQIFZNQSwgc2hhcmluZyB2bV9wcml2YXRlX2RhdGEgYWNy b3NzIG1tcwotIFtNZWRpdW1dIG1tOiB2bWFfZHVwKCkgbGlua3MgcGZubWFwIFZNQSBpbnRvIGlf bW1hcCBiZWZvcmUgUFRFIGNvcHksIHNvIHphcCBjYW4gbWlzcyB0aGVtCi0gW0xvd10gbW06IHZt YV9kdXAoKSBrZWVwcyBpbmhlcml0ZWQgVk1fUEFUIG9uIFBGTk1BUCBjb3B5LCB1bmxpa2UgZHVw X21tYXAoKQotLQoKY29tbWl0IDJlNWZjNjI2MzAzODAxMTY4ZGMxMjRkOWYwYzA3OTUxMGZiNWQ0 ZmQKQXV0aG9yOiBBbmRyZXkgRHJvYnlzaGV2IDxhbmRyZXkuZHJvYnlzaGV2QHZpcnR1b3p6by5j b20+CgptbTogYWxsb3cgTUFEVl9ET0VYRUMgb24gc2hhcmVkIFBGTiBtYXBwaW5ncyBvZiBkZXZp Y2UgbWVtb3J5CgpUaGlzIHBhdGNoIGxldHMgTUFEVl9ET0VYRUMgYWxzbyBwcmVzZXJ2ZSBzaGFy ZWQgVk1fUEZOTUFQIGZpbGUgbWFwcGluZ3MKc3VjaCBhcyBWRklPIEJBUnMuIHZtYV9kdXAoKSBk dXBsaWNhdGVzIHRoZW0gdGhlIHdheSBmb3JrIGRvZXMgZm9yIGEgc2hhcmVkCmZpbGUgbWFwcGlu ZzogaXQgdGFrZXMgYSBmaWxlIHJlZmVyZW5jZSwgbGlua3MgdGhlIFZNQSBpbnRvIGlfbW1hcCwg Y2FsbHMKdm1fb3BzLT5vcGVuKCkgYW5kIGNvcGllcyB0aGUgUFRFcy4KCkxpbms6IGh0dHBzOi8v dmlydHVvenpvLmF0bGFzc2lhbi5uZXQvYnJvd3NlL1ZTVE9SLTEwMzg2MAoKPiBkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9saW51eC9tbS5oIGIvaW5jbHVkZS9saW51eC9tbS5oCj4gLS0tIGEvaW5jbHVk ZS9saW51eC9tbS5oCj4gKysrIGIvaW5jbHVkZS9saW51eC9tbS5oCj4gQEAgLTEwMTgsNiArMTAx OCwxOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgdm1hX2lzX2Fub255bW91cyhzdHJ1Y3Qgdm1fYXJl YV9zdHJ1Y3QgKnZtYSkKPiAgCXJldHVybiAhdm1hLT52bV9vcHM7Cj4gIH0KPiAgCj4gKy8qCj4g KyAqIFNoYXJlZCBtYXBwaW5nIG9mIG1lbW9yeSB3aXRob3V0IHN0cnVjdCBwYWdlcywgc3VjaCBh cyBhIGRldmljZSBCQVIKPiArICogbWFwcGVkIHRocm91Z2ggVkZJTy4gIFN1Y2ggYSBWTUEgbWF5 IHN0aWxsIGhhdmUgbm8gdm1fb3BzICh3aGVuIHRoZQo+ICsgKiBkcml2ZXIgcG9wdWxhdGVzIGl0 IHdpdGggcmVtYXBfcGZuX3JhbmdlKCkgYXQgbW1hcCB0aW1lKSwgc28gaXQgbXVzdAo+ICsgKiBi ZSB0ZXN0ZWQgYmVmb3JlIHZtYV9pc19hbm9ueW1vdXMoKS4KPiArICovCj4gK3N0YXRpYyBpbmxp bmUgYm9vbCB2bWFfaXNfc2hhcmVkX3Bmbm1hcChzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkK PiArewo+ICsJcmV0dXJuIHZtYS0+dm1fZmlsZSAmJgo+ICsJICAgICAgICh2bWEtPnZtX2ZsYWdz ICYgKFZNX1NIQVJFRCB8IFZNX1BGTk1BUCkpID09IChWTV9TSEFSRUQgfCBWTV9QRk5NQVApOwo+ ICt9Cj4gKwoKW1NldmVyaXR5OiBIaWdoXQpUaGUgZWxpZ2liaWxpdHkgdGVzdCBoZXJlIGFuZCBp biBtYWR2aXNlX3ZtYV9iZWhhdmlvcigpIGlzIHB1cmVseQpzdHJ1Y3R1cmFsOiBhIGZpbGUgcGx1 cyBWTV9TSEFSRUR8Vk1fUEZOTUFQLiBUaGVyZSBpcyBubyBkcml2ZXIgb3B0LWluLCBhbmQKVk1f RE9OVENPUFkgYW5kIFZNX0lPIGFyZSBub3QgZXhjbHVkZWQuIENhbiB0aGlzIGxldCB1bnByaXZp bGVnZWQgdXNlcnNwYWNlCm9wdCBhbnkgZHJpdmVyIFBGTiBtYXBwaW5nIGludG8gZXhlYy10aW1l IGR1cGxpY2F0aW9uPwoKdm1hX2R1cCgpIGNvcGllcyB0aGUgVk1BIHdpdGggdm1fYXJlYV9kdXAo KSwgc28gdm1fcHJpdmF0ZV9kYXRhIGlzIHNoYXJlZAp2ZXJiYXRpbSBiZXR3ZWVuIHRoZSBvbGQg YW5kIG5ldyBWTUEuIE9ubHkgdm1fb3BzLT5vcGVuKCkgaXMgY2FsbGVkLCBuZXZlcgotPm1tYXAo KS4gRHJpdmVycyB0aGF0IGZyZWUgcGVyLW1hcHBpbmcgc3RhdGUgaW4gLT5jbG9zZSgpIHdpdGhv dXQgYQpyZWZjb3VudGluZyAtPm9wZW4oKSB0aGVuIGdldCB0d28gVk1BcyBhbmQgdHdvIC0+Y2xv c2UoKSBjYWxscy4KCkZvciBleGFtcGxlLCBncnVfZmlsZV9tbWFwKCkgc2V0cyBWTV9JT3xWTV9Q Rk5NQVB8Vk1fRE9OVENPUFkgYW5kIHN0b3Jlcwp2ZGF0YSBpbiB2bV9wcml2YXRlX2RhdGEuIGdy dV92bWFfY2xvc2UoKSBkb2VzOgoKICAgIHZkYXRhID0gdm1hLT52bV9wcml2YXRlX2RhdGE7CiAg ICB2bWEtPnZtX3ByaXZhdGVfZGF0YSA9IE5VTEw7CiAgICAuLi4KICAgIGtmcmVlKHZkYXRhKTsK ClRoZXJlIGlzIG5vIC0+b3BlbigpLiBUaGUgZHVwbGljYXRlZCBWTUEga2VlcHMgdGhlIHN0YWxl IHZkYXRhIHBvaW50ZXIsIHNvCmNhbiBpdHMgbGF0ZXIgY2xvc2UgZG91YmxlIGZyZWUgdmRhdGE/ CgpnZW53cWVfbW1hcCgpIHVzZXMgcmVtYXBfcGZuX3JhbmdlKCksIGFuZCBnZW53cWVfdm1hX29w ZW4oKSBpcyBhbiBlbXB0eQpzdHViLiBnZW53cWVfdm1hX2Nsb3NlKCkgcnVucyBhdCBleGVjIHRl YXJkb3duIG9mIHRoZSBvbGQgbW06CgogICAgX19nZW53cWVfZGVsX21hcHBpbmcoY2ZpbGUsIGRt YV9tYXApOwogICAgX19nZW53cWVfZnJlZV9jb25zaXN0ZW50KGNkLCBkbWFfbWFwLT5zaXplLCBk bWFfbWFwLT5rX3ZhZGRyLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRtYV9tYXAtPmRt YV9hZGRyKTsKICAgIGtmcmVlKGRtYV9tYXApOwoKQ2FuIHRoaXMgZnJlZSB0aGUgY29oZXJlbnQg RE1BIGJ1ZmZlciB3aGlsZSB0aGUgZHVwbGljYXRlZCBQRk5NQVAgVk1BIGluIHRoZQpuZXcgbW0g c3RpbGwgbWFwcyBpdCwgbGVhdmluZyB1c2Vyc3BhY2Ugd2l0aCBhY2Nlc3MgdG8gZnJlZWQgbWVt b3J5PwoKdWFjY2Ugc2V0cyBWTV9ET05UQ09QWXxWTV9XSVBFT05GT1JLIGFuZCBrZnJlZSgpcyBp dHMgcWZyIG9uIGNsb3NlLiBJdHMKLT5tbWFwKCkgdW5pcXVlbmVzcyBjaGVjayBpcyBieXBhc3Nl ZCBieSB0aGUgZHVwbGljYXRpb24sIHNvIGNhbiB0aGUKaGFyZHdhcmUgbWFwcGluZyBvdXRsaXZl IGl0cyBxZnI/CgpEcml2ZXJzIHNldCBWTV9ET05UQ09QWSB0byBzYXkgdGhlIFZNQSBzaG91bGQg bm90IGJlIGR1cGxpY2F0ZWQuCk1BRFZfRE9GT1JLIHJlamVjdHMgVk1fSU8uIFNob3VsZCB0aGlz IHBhdGggcmVxdWlyZSBhbiBleHBsaWNpdCBkcml2ZXIKb3B0LWluLCBvciBhdCBsZWFzdCByZWpl Y3QgVk1fRE9OVENPUFkgYW5kIFZNX0lPIFZNQXMsIG9yIHJlcXVpcmUgLT5vcGVuKCkKdG8gYmUg ZGVmaW5lZD8KCj4gZGlmZiAtLWdpdCBhL21tL21tYXAuYyBiL21tL21tYXAuYwo+IC0tLSBhL21t L21tYXAuYwo+ICsrKyBiL21tL21tYXAuYwoKWyAuLi4gXQoKPiAgaW50IHZtYV9kdXAoc3RydWN0 IHZtX2FyZWFfc3RydWN0ICpvbGRfdm1hLCBzdHJ1Y3QgbW1fc3RydWN0ICptbSkKPiAgewo+ICAJ c3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWE7Cj4gIAl1bnNpZ25lZCBsb25nIG5wYWdlczsKPiAr CWJvb2wgcGZubWFwID0gdm1hX2lzX3NoYXJlZF9wZm5tYXAob2xkX3ZtYSk7Cj4gIAlpbnQgcmV0 ID0gLUVOT01FTTsKClsgLi4uIF0KCj4gIAl2bWEtPnZtX21tID0gbW07Cj4gLQlyZXQgPSBhbm9u X3ZtYV9mb3JrKHZtYSwgb2xkX3ZtYSk7Cj4gLQlpZiAocmV0KQo+IC0JCWdvdG8gZmFpbF9ub21l bV9hbm9uX3ZtYV9mb3JrOwo+ICsJaWYgKHBmbm1hcCkgewo+ICsJCWdldF9maWxlKHZtYS0+dm1f ZmlsZSk7Cj4gKwl9IGVsc2UgewoKW1NldmVyaXR5OiBMb3ddCkluIGR1cF9tbWFwKCksIGEgVk1f UEZOTUFQIFZNQSBnZXRzIHRoaXMgYmVmb3JlIGNvcHlfcGFnZV9yYW5nZSgpOgoKICAgIC8qIHRy YWNrX3Bmbl9jb3B5KCkgd2lsbCBsYXRlciB0YWtlIGNhcmUgb2YgY29weWluZyBpbnRlcm5hbCBz dGF0ZS4gKi8KICAgIGlmICh1bmxpa2VseSh0bXAtPnZtX2ZsYWdzICYgVk1fUEZOTUFQKSkKICAg ICAgICAgICAgdW50cmFja19wZm5fY2xlYXIodG1wKTsKClRoZSBwZm5tYXAgYnJhbmNoIGhlcmUg aGFzIG5vIGVxdWl2YWxlbnQsIHNvIHRoZSB2bV9hcmVhX2R1cCgpIGNvcHkga2VlcHMKdGhlIGlu aGVyaXRlZCBWTV9QQVQgZmxhZyB3aXRob3V0IG93bmluZyBhIHJlc2VydmF0aW9uLiBDYW4gdGhp cyBsZWF2ZSBhbgppbmNvbnNpc3RlbnQgUEFUIHN0YXRlIG9uIHRoZSBkZXN0aW5hdGlvbiBWTUE/ CgpDb25zaWRlciBjb3B5X3BhZ2VfcmFuZ2UoKSBmYWlsaW5nIGluIHRyYWNrX3Bmbl9jb3B5KCkg KGluIGdldF9wYXRfaW5mbygpCm9yIHJlc2VydmVfcGZuX3JhbmdlKCkpIGJlZm9yZSBpdCByZWFj aGVzIHZtX2ZsYWdzX3NldChkc3Rfdm1hLCBWTV9QQVQpLgpUaGUgZXhlYyB0aGVuIGZhaWxzIGFu ZCB0aGUgbmV3IG1tIGlzIHRvcm4gZG93biwgYW5kIHVubWFwX3NpbmdsZV92bWEoKQpjYWxscyB1 bnRyYWNrX3BmbigpIG9uIGEgVk1BIHRoYXQgc3RpbGwgaGFzIHRoZSBpbmhlcml0ZWQgVk1fUEFU LgpnZXRfcGF0X2luZm8oKSBydW5zIG9uIGVtcHR5IGRlc3RpbmF0aW9uIHBhZ2UgdGFibGVzLiBD YW4gdGhpcyBoaXQKV0FSTl9PTl9PTkNFKDEpIG9uIHRoZSBleGVjIGVycm9yIHBhdGgsIGFuZCB0 cmlnZ2VyIGEgcGFuaWMgd2l0aApwYW5pY19vbl93YXJuPyBTaG91bGQgdm1hX2R1cCgpIGNhbGwg dW50cmFja19wZm5fY2xlYXIoKSBvbiB0aGUgbmV3IFZNQQpiZWZvcmUgY29weV9wYWdlX3Jhbmdl KCkgYXMgZHVwX21tYXAoKSBkb2VzPwoKWyAuLi4gXQoKPiArCS8qIEFsc28gbGlua3MgYSBmaWxl IFZNQSBpbnRvIHRoZSBmaWxlJ3MgaV9tbWFwLCBmb3IgdW5tYXBfbWFwcGluZ19yYW5nZSgpICov Cj4gIAlyZXQgPSB2bWFfbGluayhtbSwgdm1hKTsKPiAgCWlmIChyZXQpCj4gIAkJZ290byBmYWls X25vbWVtX3ZtYV9saW5rOwo+ICAKPiArCWlmIChwZm5tYXAgJiYgdm1hLT52bV9vcHMgJiYgdm1h LT52bV9vcHMtPm9wZW4pCj4gKwkJdm1hLT52bV9vcHMtPm9wZW4odm1hKTsKPiArCgpbIC4uLiBd Cgo+ICsJLyogRm9yIFBGTiBtYXBzIHRoaXMgY29waWVzIHRoZSBkZXZpY2UgUFRFcyBhbmQgdGhl IFBBVCBtZW10eXBlICovCj4gKwlpZiAocGZubWFwKQo+ICsJCXJldCA9IGNvcHlfcGFnZV9yYW5n ZSh2bWEsIG9sZF92bWEpOwo+ICsJZWxzZQoKW1NldmVyaXR5OiBNZWRpdW1dCnZtYV9saW5rKCkg bWFrZXMgdGhlIG5ldyBWTUEgdmlzaWJsZSBpbiBpX21tYXAgdmlhIHZtYV9saW5rX2ZpbGUoKSwg d2hpY2gKdGFrZXMgaV9tbWFwX3J3c2VtIGZvciB3cml0ZSBvbmx5IGFyb3VuZCB0aGUgaW5zZXJ0 LiBjb3B5X3BhZ2VfcmFuZ2UoKSB0aGVuCnJ1bnMgd2l0aCBubyBpX21tYXBfcndzZW0gaGVsZC4g Q2FuIHVubWFwX21hcHBpbmdfcmFuZ2UoKSBtaXNzIHRoZSBjb3BpZWQKUFRFcz8KCnVubWFwX21h cHBpbmdfcGFnZXMoKSB0YWtlcyBvbmx5IGlfbW1hcF9yd3NlbSBmb3IgcmVhZCBhbmQgbm8gbW1h cF9sb2NrLgpPbmUgcG9zc2libGUgaW50ZXJsZWF2aW5nOgoKICAgIGV4ZWMgdGhyZWFkICAgICAg ICAgICAgICAgICAgICAgICAgdW5tYXBfbWFwcGluZ19yYW5nZSgpCiAgICB2bWFfbGluaygpICAo bmV3IFZNQSBpbnNlcnRlZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg d2Fsa3MgaV9tbWFwLCB6YXBzIGVtcHR5IG5ldyBWTUEKICAgIGNvcHlfcGFnZV9yYW5nZSgpICAo Y29waWVzIFBURXMKICAgICAgZnJvbSBvbGRfdm1hLCBub3QgeWV0IHphcHBlZCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemFwcyBvbGRfdm1hIG9ubHkKClRoZSBuZXcg bW0gd291bGQgdGhlbiBrZWVwIGxpdmUgZGV2aWNlIE1NSU8gUFRFcyBhZnRlciB0aGUgcmV2b2tl LiBmb3JrKCkKYXZvaWRzIHRoaXMgd2l0aDoKCiAgICB2bWFfaW50ZXJ2YWxfdHJlZV9pbnNlcnRf YWZ0ZXIodG1wLCBtcG50LCAmbWFwcGluZy0+aV9tbWFwKTsKCnNvIHRoZSB3YWxrZXIgc2VlcyB0 aGUgcGFyZW50IGJlZm9yZSB0aGUgY2hpbGQuIHZtYV9saW5rX2ZpbGUoKSB1c2VzIGEKcGxhaW4g aW5zZXJ0IHdpdGggbm8gc3VjaCBvcmRlcmluZy4gSXMgdGhlcmUgc29tZXRoaW5nIHRoYXQgY2xv c2VzIHRoaXMKd2luZG93LCBzdWNoIGFzIGtlZXBpbmcgaV9tbWFwX3J3c2VtIGhlbGQgYWNyb3Nz IHRoZSBQVEUgY29weSBvciBvcmRlcmluZwp0aGUgbmV3IFZNQSBhZnRlciBvbGRfdm1hPwoKPiAg I2lmZGVmIENPTkZJR19QQURBVEEKPiAtCXJldCA9IGNvcHlfcGFnZV9yYW5nZV9tdCh2bWEsIG9s ZF92bWEpOwo+ICsJCXJldCA9IGNvcHlfcGFnZV9yYW5nZV9tdCh2bWEsIG9sZF92bWEpOwo+ICAj ZWxzZQo+IC0JcmV0ID0gY29weV9wYWdlX3JhbmdlKHZtYSwgb2xkX3ZtYSk7Cj4gKwkJcmV0ID0g Y29weV9wYWdlX3JhbmdlKHZtYSwgb2xkX3ZtYSk7Cj4gICNlbmRpZgoKWyAuLi4gXQoKLS0gClNh c2hpa28gQUkgcmV2aWV3IMK3IGh0dHBzOi8vc2FzaGlrby52emludC5kZXYvIy9wYXRjaHNldC8y MDI2MTAwOTE0MzIyNy40OTIxNTAtMS1hbmRyZXkuZHJvYnlzaGV2QHZpcnR1b3p6by5jb20/cGFy dD0xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpEZXZl bCBtYWlsaW5nIGxpc3QKRGV2ZWxAb3BlbnZ6Lm9yZwpodHRwczovL2xpc3RzLm9wZW52ei5vcmcv bWFpbG1hbi9saXN0aW5mby9kZXZlbAo=