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 lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8FCAEC25B78 for ; Fri, 17 May 2024 07:47:13 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s7sIg-0007Kx-HC; Fri, 17 May 2024 03:46:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s7sIe-0007JI-Jr for grub-devel@gnu.org; Fri, 17 May 2024 03:46:44 -0400 Received: from mail-lf1-x135.google.com ([2a00:1450:4864:20::135]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s7sIc-0003bq-G5 for grub-devel@gnu.org; Fri, 17 May 2024 03:46:44 -0400 Received: by mail-lf1-x135.google.com with SMTP id 2adb3069b0e04-52388d9ca98so598592e87.0 for ; Fri, 17 May 2024 00:46:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715931999; x=1716536799; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=1CIept5nxVSglFCFLd3fD+gPTf92Y5N+Goss8wNXyuo=; b=Co7TLqJ3ahhqc5Cc45wQFx7i5uMx5dup+NpFTpRPiE1oz6WEKyR5wqLth8vBLBMGcL d3XTOAkQXOKSShJpPri96tkGZ22riKtc1zhPZqsWKYFdMnHe5Z0zaQ1XfdzLMJ01/krB 6c+Zh2YtOOjcCMRhRzjdVEpmVRjL6/4/IblG3wZ6TILFFH95pGce/XTlR2HdhcZsCpi5 Q0iGyVeSC8ySI4+q6trTRgO+Yo9DXVk8KCbwNkDe28pYlHX+28SOd7qZSOnH5usG1TgR poIQ0mfo/Gx3yasAuEtRSzN9yIcXyfEz3FT6R2c2rttwQvH/oEjVxt7jzGXD+gmBZPxv gy0A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715931999; x=1716536799; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1CIept5nxVSglFCFLd3fD+gPTf92Y5N+Goss8wNXyuo=; b=iQdlIXki0i0p7FQe4vnGKLm5Q+jycyLkGaTeLzJ3FZAXKda8XclOBBNrAuj1/UHhwn RMNix8S22cMcUsKP3V8XNNghLpZTjv+ZpXlhS1M8EEXHYpTdM8hIsN//zjEFf6hH+mdU lcg8XkpzZHJ00sp7PlFYdsLU0rv0Yb6UtJBhxJSwPbXcpQKsqzix/c3bllXZ2Gd/TUm+ IF+9R8W+0PLvfDyXlWeDXCWdFDgWlgNTxq844YtMvnXqd5s/609YpGPqZsIoKZI28p1s AnFMmrtSW0MYDZvEv812RYyLEaLTa9kMoUv+4UufNOG7DM8skMoINAw0qdZkT6zP+f7i Rkbg== X-Gm-Message-State: AOJu0YxdkL5yS/+1VCVeMmTMR/pw6nECEpI11Lp4dLnraG8hEhhESp2p yYIgqhxKWxglScleFB9SnhKyHMaGie/TFUMRg2KE/e0oAEOofr2+qIuG1iG2AAJggg== X-Google-Smtp-Source: AGHT+IHmVNjBxUmkXeD7zo3kapCKxXi44Di30pIKkWGCgKIDNSfooiULpfV9NCAuhqe845r9VUmuIA== X-Received: by 2002:ac2:4643:0:b0:523:ae99:b333 with SMTP id 2adb3069b0e04-523ae99b3c5mr4407640e87.64.1715931998950; Fri, 17 May 2024 00:46:38 -0700 (PDT) Received: from localhost ([5.165.219.191]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5225132505csm2223400e87.116.2024.05.17.00.46.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 May 2024 00:46:38 -0700 (PDT) From: Vladimir Serbinenko To: grub-devel@gnu.org Cc: Vladimir Serbinenko Subject: [PATCH vRESEND] relocator: Switch to own page table while moving chunks on x86-64 Date: Fri, 17 May 2024 10:46:28 +0300 Message-Id: <20240517074628.2623-1-phcoder@gmail.com> X-Mailer: git-send-email 2.39.2 MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::135; envelope-from=phcoder@gmail.com; helo=mail-lf1-x135.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: The development of GNU GRUB Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org Sender: grub-devel-bounces+grub-devel=archiver.kernel.org@gnu.org V2UgbmVlZCB0byBhdm9pZCBjbG9iZXJpbmcgZXhpc3RpbmcgdGFibGUgYmV0d2VlbiBzdGFydGlu ZyBvZiBjaHVuayBtb3ZlcnMKYW5kIHRoZSBtb21lbnQgd2UgaW5zdGFsbCB0YXJnZXQgcGFnZSB0 YWJsZS4gR2VuZXJhdGUgdGVtcG9yYXJ5IHRhYmxlIGZvcgp0aGlzIHJhdGhlciB0aGFuIGhvcGlu ZyB0aGF0IHdlIGRvbid0IGNsb2JlciBleGlzdGluZyBvbmUuCgpGaXhlcyA2NC1iaXQgR2hvc3RC U0Qgb24gNjQtYml0IEVGSQoKU2lnbmVkLW9mZi1ieTogVmxhZGltaXIgU2VyYmluZW5rbyA8cGhj b2RlckBnbWFpbC5jb20+Ci0tLQogZ3J1Yi1jb3JlL2xpYi9pMzg2L3JlbG9jYXRvcl9jb21tb25f Yy5jIHwgODYgKysrKysrKysrKysrKysrKysrKysrKysrLQogZ3J1Yi1jb3JlL2xpYi9taXBzL3Jl bG9jYXRvci5jICAgICAgICAgIHwgIDcgKysKIGdydWItY29yZS9saWIvcG93ZXJwYy9yZWxvY2F0 b3IuYyAgICAgICB8ICA2ICsrCiBncnViLWNvcmUvbGliL3JlbG9jYXRvci5jICAgICAgICAgICAg ICAgfCAgNSArLQogaW5jbHVkZS9ncnViL3JlbG9jYXRvcl9wcml2YXRlLmggICAgICAgIHwgIDIg KwogNSBmaWxlcyBjaGFuZ2VkLCAxMDQgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9ncnViLWNvcmUvbGliL2kzODYvcmVsb2NhdG9yX2NvbW1vbl9jLmMgYi9ncnVi LWNvcmUvbGliL2kzODYvcmVsb2NhdG9yX2NvbW1vbl9jLmMKaW5kZXggN2JlNjA5YjczLi5hYTI0 YjhhYmYgMTAwNjQ0Ci0tLSBhL2dydWItY29yZS9saWIvaTM4Ni9yZWxvY2F0b3JfY29tbW9uX2Mu YworKysgYi9ncnViLWNvcmUvbGliL2kzODYvcmVsb2NhdG9yX2NvbW1vbl9jLmMKQEAgLTQxLDIw ICs0MSwxMDQgQEAgZXh0ZXJuIGdydWJfc2l6ZV90IGdydWJfcmVsb2NhdG9yX2ZvcndhcmRfY2h1 bmtfc2l6ZTsKIAogI2RlZmluZSBSRUxPQ0FUT1JfU0laRU9GKHgpCSgmZ3J1Yl9yZWxvY2F0b3Ij I3gjI19lbmQgLSAmZ3J1Yl9yZWxvY2F0b3IjI3gjI19zdGFydCkKIAotZ3J1Yl9zaXplX3QgZ3J1 Yl9yZWxvY2F0b3JfYWxpZ24gPSAxOwogZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxvY2F0b3JfZm9yd2Fy ZF9zaXplOwogZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxvY2F0b3JfYmFja3dhcmRfc2l6ZTsKK2dydWJf c2l6ZV90IGdydWJfcmVsb2NhdG9yX3ByZWFtYmxlX3NpemUgPSAwOwogI2lmZGVmIF9feDg2XzY0 X18KK2dydWJfc2l6ZV90IGdydWJfcmVsb2NhdG9yX2FsaWduID0gNDA5NjsKIGdydWJfc2l6ZV90 IGdydWJfcmVsb2NhdG9yX2p1bXBlcl9zaXplID0gMTI7CiAjZWxzZQorZ3J1Yl9zaXplX3QgZ3J1 Yl9yZWxvY2F0b3JfYWxpZ24gPSAxOwogZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxvY2F0b3JfanVtcGVy X3NpemUgPSA3OwogI2VuZGlmCiAKKyNpZmRlZiBfX3g4Nl82NF9fCitzdGF0aWMgZ3J1Yl91aW50 NjRfdCBtYXhfcmFtX3NpemU7CisKKyAgLyogSGVscGVyIGZvciBncnViX2dldF9tdWx0aWJvb3Rf bW1hcF9jb3VudC4gICovCitzdGF0aWMgaW50CittYXhfaG9vayAoZ3J1Yl91aW50NjRfdCBhZGRy LAorCSAgZ3J1Yl91aW50NjRfdCBzaXplLAorCSAgZ3J1Yl9tZW1vcnlfdHlwZV90IHR5cGUgX19h dHRyaWJ1dGVfXyAoKHVudXNlZCkpLAorCSAgdm9pZCAqZGF0YSBfX2F0dHJpYnV0ZV9fICgodW51 c2VkKSkpCit7CisgIGlmIChhZGRyICsgc2l6ZSA+IG1heF9yYW1fc2l6ZSkKKyAgICBtYXhfcmFt X3NpemUgPSBhZGRyICsgc2l6ZTsKKyAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBncnViX3VpbnQ2 NF90CitmaW5kX21heF9zaXplICh2b2lkKQoreworICBpZiAoIW1heF9yYW1fc2l6ZSkKKyAgICB7 CisgICAgICBtYXhfcmFtX3NpemUgPSAxVUxMIDw8IDMyOworCisgICAgICBncnViX21tYXBfaXRl cmF0ZSAobWF4X2hvb2ssIE5VTEwpOworICAgIH0KKworICByZXR1cm4gbWF4X3JhbV9zaXplOwor fQorCit2b2lkCitncnViX2NwdV9yZWxvY2F0b3JfcHJlYW1ibGUgKHZvaWQgKnJlbHMpCit7Cisg IGdydWJfdWludDY0X3QgbmVudHJpZXMgPSAoZmluZF9tYXhfc2l6ZSAoKSArIDB4MWZmZmZmKSA+ PiAyMTsKKyAgZ3J1Yl91aW50NjRfdCBucHQycGFnZXMgPSAobmVudHJpZXMgKyAweDFmZikgPj4g OTsKKyAgZ3J1Yl91aW50NjRfdCBucHQzcGFnZXMgPSAobnB0MnBhZ2VzICsgMHgxZmYpID4+IDk7 CisgIGdydWJfdWludDhfdCAqcCA9IHJlbHM7CisgIGdydWJfdWludDY0X3QgKnB0NCA9IChncnVi X3VpbnQ2NF90ICopIChwICsgMHgxMDAwKTsKKyAgZ3J1Yl91aW50NjRfdCAqcHQzID0gcHQ0ICsg MHgyMDA7CisgIGdydWJfdWludDY0X3QgKnB0MiA9IHB0MyArIChucHQzcGFnZXMgPDwgOSk7Cisg IGdydWJfdWludDY0X3QgKmVuZHByZWFtYmxlID0gcHQyICsgKG5wdDJwYWdlcyA8PCA5KTsKKyAg Z3J1Yl91aW50NjRfdCBpOworCisgICpwKysgPSAweDQ4OworICAqcCsrID0gMHhiODsKKyAgKihn cnViX3VpbnQ2NF90ICopcCA9IChncnViX3VpbnQ2NF90KXB0NDsKKyAgcCArPSA4OworICAqcCsr ID0gMHgwZjsKKyAgKnArKyA9IDB4MjI7CisgICpwKysgPSAweGQ4OworCisgICpwKysgPSAweGU5 OworICAqKGdydWJfdWludDMyX3QgKilwID0gKGdydWJfdWludDhfdCAqKWVuZHByZWFtYmxlIC0g cCAtIDQ7CisKKyAgZm9yIChpID0gMDsgaSA8IG5wdDNwYWdlczsgaSsrKQorICAgIHB0NFtpXSA9 ICgoZ3J1Yl91aW50NjRfdClwdDMgKyAoaSA8PCAxMikpIHwgNzsKKworICBmb3IgKGkgPSAwOyBp IDwgbnB0MnBhZ2VzOyBpKyspCisgICAgcHQzW2ldID0gKChncnViX3VpbnQ2NF90KXB0MiArIChp IDw8IDEyKSkgfCA3OworCisgIGZvciAoaSA9IDA7IGkgPCAobnB0MnBhZ2VzIDw8IDkpOyBpKysp CisgICAgcHQyW2ldID0gKGkgPDwgMjEpIHwgMHg4NzsKK30KKworc3RhdGljIHZvaWQKK2NvbXB1 dGVfcHJlYW1ibGVfc2l6ZSAodm9pZCkKK3sKKyAgZ3J1Yl91aW50NjRfdCBuZW50cmllcyA9IChm aW5kX21heF9zaXplICgpICsgMHgxZmZmZmYpID4+IDIxOworICBncnViX3VpbnQ2NF90IG5wdDJw YWdlcyA9IChuZW50cmllcyArIDB4MWZmKSA+PiA5OworICBncnViX3VpbnQ2NF90IG5wdDNwYWdl cyA9IChucHQycGFnZXMgKyAweDFmZikgPj4gOTsKKyAgZ3J1Yl9yZWxvY2F0b3JfcHJlYW1ibGVf c2l6ZSA9IChucHQycGFnZXMgKyBucHQzcGFnZXMgKyAxICsgMSkgPDwgMTI7Cit9CisKKyNlbHNl Cit2b2lkCitncnViX2NwdV9yZWxvY2F0b3JfcHJlYW1ibGUgKHZvaWQgKnJlbHMgX19hdHRyaWJ1 dGVfXygodW51c2VkKSkpCit7Cit9CisjZW5kaWYKKworCiB2b2lkCiBncnViX2NwdV9yZWxvY2F0 b3JfaW5pdCAodm9pZCkKIHsKICAgZ3J1Yl9yZWxvY2F0b3JfZm9yd2FyZF9zaXplID0gUkVMT0NB VE9SX1NJWkVPRiAoX2ZvcndhcmQpOwogICBncnViX3JlbG9jYXRvcl9iYWNrd2FyZF9zaXplID0g UkVMT0NBVE9SX1NJWkVPRiAoX2JhY2t3YXJkKTsKKyNpZmRlZiBfX3g4Nl82NF9fCisgIGNvbXB1 dGVfcHJlYW1ibGVfc2l6ZSAoKTsKKyNlbmRpZgogfQogCiB2b2lkCmRpZmYgLS1naXQgYS9ncnVi LWNvcmUvbGliL21pcHMvcmVsb2NhdG9yLmMgYi9ncnViLWNvcmUvbGliL21pcHMvcmVsb2NhdG9y LmMKaW5kZXggNzczZjNiNzY5Li4xYzI3YjZjOTkgMTAwNjQ0Ci0tLSBhL2dydWItY29yZS9saWIv bWlwcy9yZWxvY2F0b3IuYworKysgYi9ncnViLWNvcmUvbGliL21pcHMvcmVsb2NhdG9yLmMKQEAg LTQ1LDYgKzQ1LDggQEAgZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxvY2F0b3JfYWxpZ24gPSBzaXplb2Yg KGdydWJfdWludDMyX3QpOwogZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxvY2F0b3JfZm9yd2FyZF9zaXpl OwogZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxvY2F0b3JfYmFja3dhcmRfc2l6ZTsKIGdydWJfc2l6ZV90 IGdydWJfcmVsb2NhdG9yX2p1bXBlcl9zaXplID0gSlVNUF9TSVpFT0YgKyBSRUdXX1NJWkVPRjsK K2dydWJfc2l6ZV90IGdydWJfcmVsb2NhdG9yX3ByZWFtYmxlX3NpemUgPSAwOworCiAKIHZvaWQK IGdydWJfY3B1X3JlbG9jYXRvcl9pbml0ICh2b2lkKQpAQCAtNTMsNiArNTUsMTEgQEAgZ3J1Yl9j cHVfcmVsb2NhdG9yX2luaXQgKHZvaWQpCiAgIGdydWJfcmVsb2NhdG9yX2JhY2t3YXJkX3NpemUg PSBSRUxPQ0FUT1JfU0laRU9GKGJhY2t3YXJkKTsKIH0KIAordm9pZAorZ3J1Yl9jcHVfcmVsb2Nh dG9yX3ByZWFtYmxlICh2b2lkICpyZWxzIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworfQor CiBzdGF0aWMgdm9pZAogd3JpdGVfcmVnIChpbnQgcmVnbiwgZ3J1Yl91aW50MzJfdCB2YWwsIHZv aWQgKip0YXJnZXQpCiB7CmRpZmYgLS1naXQgYS9ncnViLWNvcmUvbGliL3Bvd2VycGMvcmVsb2Nh dG9yLmMgYi9ncnViLWNvcmUvbGliL3Bvd2VycGMvcmVsb2NhdG9yLmMKaW5kZXggMTVhZWIwMjQ2 Li41NTllMDRiNWEgMTAwNjQ0Ci0tLSBhL2dydWItY29yZS9saWIvcG93ZXJwYy9yZWxvY2F0b3Iu YworKysgYi9ncnViLWNvcmUvbGliL3Bvd2VycGMvcmVsb2NhdG9yLmMKQEAgLTQzLDYgKzQzLDcg QEAgZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxvY2F0b3JfYWxpZ24gPSBzaXplb2YgKGdydWJfdWludDMy X3QpOwogZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxvY2F0b3JfZm9yd2FyZF9zaXplOwogZ3J1Yl9zaXpl X3QgZ3J1Yl9yZWxvY2F0b3JfYmFja3dhcmRfc2l6ZTsKIGdydWJfc2l6ZV90IGdydWJfcmVsb2Nh dG9yX2p1bXBlcl9zaXplID0gSlVNUF9TSVpFT0YgKyBSRUdXX1NJWkVPRjsKK2dydWJfc2l6ZV90 IGdydWJfcmVsb2NhdG9yX3ByZWFtYmxlX3NpemUgPSAwOwogCiB2b2lkCiBncnViX2NwdV9yZWxv Y2F0b3JfaW5pdCAodm9pZCkKQEAgLTUxLDYgKzUyLDExIEBAIGdydWJfY3B1X3JlbG9jYXRvcl9p bml0ICh2b2lkKQogICBncnViX3JlbG9jYXRvcl9iYWNrd2FyZF9zaXplID0gUkVMT0NBVE9SX1NJ WkVPRihiYWNrd2FyZCk7CiB9CiAKK3ZvaWQKK2dydWJfY3B1X3JlbG9jYXRvcl9wcmVhbWJsZSAo dm9pZCAqcmVscyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKK30KKwogc3RhdGljIHZvaWQK IHdyaXRlX3JlZyAoaW50IHJlZ24sIGdydWJfdWludDMyX3QgdmFsLCB2b2lkICoqdGFyZ2V0KQog ewpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2xpYi9yZWxvY2F0b3IuYyBiL2dydWItY29yZS9saWIv cmVsb2NhdG9yLmMKaW5kZXggZTA0NzhhZTViLi4xOWE3MDIxNzIgMTAwNjQ0Ci0tLSBhL2dydWIt Y29yZS9saWIvcmVsb2NhdG9yLmMKKysrIGIvZ3J1Yi1jb3JlL2xpYi9yZWxvY2F0b3IuYwpAQCAt MTEwLDcgKzExMCw3IEBAIGdydWJfcmVsb2NhdG9yX25ldyAodm9pZCkKICAgICByZXR1cm4gTlVM TDsKIAogICByZXQtPnBvc3RjaHVua3MgPSB+KGdydWJfcGh5c19hZGRyX3QpIDA7Ci0gIHJldC0+ cmVsb2NhdG9yc19zaXplID0gZ3J1Yl9yZWxvY2F0b3JfanVtcGVyX3NpemU7CisgIHJldC0+cmVs b2NhdG9yc19zaXplID0gZ3J1Yl9yZWxvY2F0b3JfanVtcGVyX3NpemUgKyBncnViX3JlbG9jYXRv cl9wcmVhbWJsZV9zaXplOwogICBncnViX2RwcmludGYgKCJyZWxvY2F0b3IiLCAicmVsb2NhdG9y c19zaXplPSVsdVxuIiwKIAkJKHVuc2lnbmVkIGxvbmcpIHJldC0+cmVsb2NhdG9yc19zaXplKTsK ICAgcmV0dXJuIHJldDsKQEAgLTE2MDEsNiArMTYwMSw5IEBAIGdydWJfcmVsb2NhdG9yX3ByZXBh cmVfcmVsb2NzIChzdHJ1Y3QgZ3J1Yl9yZWxvY2F0b3IgKnJlbCwgZ3J1Yl9hZGRyX3QgYWRkciwK ICAgICBncnViX2ZyZWUgKHRvKTsKICAgfQogCisgIGdydWJfY3B1X3JlbG9jYXRvcl9wcmVhbWJs ZSAocmVscyk7CisgIHJlbHMgKz0gZ3J1Yl9yZWxvY2F0b3JfcHJlYW1ibGVfc2l6ZTsKKyAgCiAg IGZvciAoaiA9IDA7IGogPCBuY2h1bmtzOyBqKyspCiAgICAgewogICAgICAgZ3J1Yl9kcHJpbnRm ICgicmVsb2NhdG9yIiwgInNvcnRlZCBjaHVuayAlcC0+JXAsIDB4JWx4XG4iLApkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9ncnViL3JlbG9jYXRvcl9wcml2YXRlLmggYi9pbmNsdWRlL2dydWIvcmVsb2Nh dG9yX3ByaXZhdGUuaAppbmRleCBkOGU5NzJlMDEuLjI3M2FkZDc2ZCAxMDA2NDQKLS0tIGEvaW5j bHVkZS9ncnViL3JlbG9jYXRvcl9wcml2YXRlLmgKKysrIGIvaW5jbHVkZS9ncnViL3JlbG9jYXRv cl9wcml2YXRlLmgKQEAgLTI3LDYgKzI3LDcgQEAgZXh0ZXJuIGdydWJfc2l6ZV90IGdydWJfcmVs b2NhdG9yX2FsaWduOwogZXh0ZXJuIGdydWJfc2l6ZV90IGdydWJfcmVsb2NhdG9yX2ZvcndhcmRf c2l6ZTsKIGV4dGVybiBncnViX3NpemVfdCBncnViX3JlbG9jYXRvcl9iYWNrd2FyZF9zaXplOwog ZXh0ZXJuIGdydWJfc2l6ZV90IGdydWJfcmVsb2NhdG9yX2p1bXBlcl9zaXplOworZXh0ZXJuIGdy dWJfc2l6ZV90IGdydWJfcmVsb2NhdG9yX3ByZWFtYmxlX3NpemU7CiAKIHZvaWQKIGdydWJfY3B1 X3JlbG9jYXRvcl9pbml0ICh2b2lkKTsKQEAgLTM5LDYgKzQwLDcgQEAgdm9pZCBncnViX2NwdV9y ZWxvY2F0b3JfZm9yd2FyZCAodm9pZCAqcmVscywgdm9pZCAqc3JjLCB2b2lkICp0Z3QsCiB2b2lk IGdydWJfY3B1X3JlbG9jYXRvcl9iYWNrd2FyZCAodm9pZCAqcmVscywgdm9pZCAqc3JjLCB2b2lk ICp0Z3QsCiAJCQkJIGdydWJfc2l6ZV90IHNpemUpOwogdm9pZCBncnViX2NwdV9yZWxvY2F0b3Jf anVtcGVyICh2b2lkICpyZWxzLCBncnViX2FkZHJfdCBhZGRyKTsKK3ZvaWQgZ3J1Yl9jcHVfcmVs b2NhdG9yX3ByZWFtYmxlICh2b2lkICpyZWxzKTsKIAogLyogUmVtYXJrOiBHUlVCX1JFTE9DQVRP Ul9GSVJNV0FSRV9SRVFVRVNUU19RVUFOVF9MT0cgPSAxIG9yIDIKICAgIGFyZW4ndCBzdXBwb3J0 ZWQuICAqLwotLSAKMi4zOS4yCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0 dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK