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 00D72CA0EDC for ; Mon, 11 Aug 2025 18:05:01 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ulWsV-0008Id-M7; Mon, 11 Aug 2025 14:04:11 -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 1ulWsS-0008Hj-6L for grub-devel@gnu.org; Mon, 11 Aug 2025 14:04:08 -0400 Received: from mail-wr1-x434.google.com ([2a00:1450:4864:20::434]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1ulWsI-0003rD-3z for grub-devel@gnu.org; Mon, 11 Aug 2025 14:04:07 -0400 Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-3b8de193b60so2654720f8f.0 for ; Mon, 11 Aug 2025 11:03:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754935432; x=1755540232; darn=gnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+T057tPTJhRCfsyXGsRklPHHIoTjnxJ60+BSh0axrCg=; b=DkHgG06EDBUc4JGlqfjnVdP6lP5IaliHspJuLXy7eGv3uT8njwoXEl8QlncmWHjjIo VN3SbRplOlDt5uCVShKvYis3qNobwByWo5G0yNKDJNCPAQyJKP57zHP6Zi7v/lToVKsK WNHp7eUnhBQbsRk2YDfCE9OOU96XpBOiYgInuGnw4EZce4t4CDelAvgBITBdUvXEcLou XxBgDw7xeUnjeb2f6fuZFF9qTdutJaKtCchaj3p+K7v/yfZLv/s4WIyJ8CPDR/OHFFLi s+uzTZAK3FuJPuZdLoyB1GkUEB0+D5msdjmIIoIbcZdjd2BYNkoVfNpW92qqmzn43+hN U6kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754935432; x=1755540232; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+T057tPTJhRCfsyXGsRklPHHIoTjnxJ60+BSh0axrCg=; b=ogujZwcnm8it6ommIo/jYOIZ7FxCXfMReNO4FnpK6sh6T9FRdaOBnHGaEbvAbRzGO+ ssd58U6Eg3qmFiKVJm7e0RjdP4H523B3a7oTrt1VSsmXTkRoW+OdG2k7sIfez1dziHJS nmC+Zfd3AGVWiB7G4f2VnOggLDn93sQMlSFAt+h8mK3W8pzEBQobEj6HR/Dhij/n0tkK UfROsFv6xPXKzQi/zHVyovILFjGj8bhJP/yaFhg0TLTyx+BikR2XdvMVZ07N6I3crcM+ c3eZST5bFarbTBS0TAHp7J4+7aCLdAVEMAmDSU2+yXCvmdYV+XfkqhX8s4LgHhCx5G/g S/hQ== X-Gm-Message-State: AOJu0YxplXMVaJjAyAqw7zkWxbIucNzw6Z3akg1tjcXLE6ykLW8K8LYo JgMX6b6ztAmzoWrgaRjyfbu87wY1s3cBSCutCbi/U2rClOucVBvMz5ZEPcS3Oc061b8= X-Gm-Gg: ASbGnctlYLs14DyVbxUdgSe+dMtaNC1kCq9bu6WhT8bWYiSBRKQO5LVLsdk3mgMlrmY Yk4J7+rbjPNT5mg4Ei8vV9bNEuHhVzK+UL/U/vsZ45O+VWZGPIOU66IDqyEDRmWZL+w6JvEOtEp ul7s6SYUno5D0hobNh21U9fKWBYvfC13IHM1/3My0GOxLvilTTSvA5L/SEPCRifxL8F/zrFp2kf VdCVjrf73mw0mY0/SJkmxqTbg+adG6UeI3ucW0ty89+zPX2xWwNSdLb94132jjnKj8Z6RLnVz7h tWcucCWx9aj4GAp2V3KaYnaN0jLQb37z1uNc/9ZTS51qv1MJeWWFE8r2iyjQdXayJr5ixJbiz3I +G2kTpZe5TAdaN42Dlij0hSQoLRbFhXqSjpU2/KdfqimUxkEXWWXdPDs5/yC5pr3l X-Google-Smtp-Source: AGHT+IHJvMEg4KbZpVv2bkP90xZN2yyVHSf2axE+QCZJgUhTuhwobjWivyJ5zlYVRKEKODmIzqczsg== X-Received: by 2002:a05:6000:1ace:b0:3b7:944d:e5e6 with SMTP id ffacd0b85a97d-3b91101555dmr541143f8f.36.1754935432190; Mon, 11 Aug 2025 11:03:52 -0700 (PDT) Received: from localhost (92-184-117-14.mobile.fr.orangecustomers.net. [92.184.117.14]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-459e5852e28sm260117845e9.9.2025.08.11.11.03.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 Aug 2025 11:03:51 -0700 (PDT) From: Vladimir Serbinenko To: grub-devel@gnu.org Cc: Vladimir Serbinenko Subject: [PATCH v2] relocator: Switch to own page table while moving chunks Date: Mon, 11 Aug 2025 18:02:54 +0000 Message-ID: <20250811180337.207297-2-phcoder@gmail.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250811180337.207297-1-phcoder@gmail.com> References: <20250811180337.207297-1-phcoder@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::434; envelope-from=phcoder@gmail.com; helo=mail-wr1-x434.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 Yy5jIHwgMTAzICsrKysrKysrKysrKysrKysrKysrKysrLQogZ3J1Yi1jb3JlL2xpYi9taXBzL3Jl bG9jYXRvci5jICAgICAgICAgIHwgICA2ICsrCiBncnViLWNvcmUvbGliL3Bvd2VycGMvcmVsb2Nh dG9yLmMgICAgICAgfCAgIDYgKysKIGdydWItY29yZS9saWIvcmVsb2NhdG9yLmMgICAgICAgICAg ICAgICB8ICAgNSArLQogaW5jbHVkZS9ncnViL3JlbG9jYXRvcl9wcml2YXRlLmggICAgICAgIHwg ICAyICsKIDUgZmlsZXMgY2hhbmdlZCwgMTIwIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2xpYi9pMzg2L3JlbG9jYXRvcl9jb21tb25fYy5jIGIv Z3J1Yi1jb3JlL2xpYi9pMzg2L3JlbG9jYXRvcl9jb21tb25fYy5jCmluZGV4IDdiZTYwOWI3My4u NTk4YTEwOGE5IDEwMDY0NAotLS0gYS9ncnViLWNvcmUvbGliL2kzODYvcmVsb2NhdG9yX2NvbW1v bl9jLmMKKysrIGIvZ3J1Yi1jb3JlL2xpYi9pMzg2L3JlbG9jYXRvcl9jb21tb25fYy5jCkBAIC0y Niw2ICsyNiw4IEBACiAjaW5jbHVkZSA8Z3J1Yi9yZWxvY2F0b3IuaD4KICNpbmNsdWRlIDxncnVi L3JlbG9jYXRvcl9wcml2YXRlLmg+CiAKKyNpbmNsdWRlIDxncnViL2kzODYvbWVtb3J5Lmg+CisK IGV4dGVybiBncnViX3VpbnQ4X3QgZ3J1Yl9yZWxvY2F0b3JfZm9yd2FyZF9zdGFydDsKIGV4dGVy biBncnViX3VpbnQ4X3QgZ3J1Yl9yZWxvY2F0b3JfZm9yd2FyZF9lbmQ7CiBleHRlcm4gZ3J1Yl91 aW50OF90IGdydWJfcmVsb2NhdG9yX2JhY2t3YXJkX3N0YXJ0OwpAQCAtNDEsMjAgKzQzLDExOSBA QCBleHRlcm4gZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxvY2F0b3JfZm9yd2FyZF9jaHVua19zaXplOwog CiAjZGVmaW5lIFJFTE9DQVRPUl9TSVpFT0YoeCkJKCZncnViX3JlbG9jYXRvciMjeCMjX2VuZCAt ICZncnViX3JlbG9jYXRvciMjeCMjX3N0YXJ0KQogCi1ncnViX3NpemVfdCBncnViX3JlbG9jYXRv cl9hbGlnbiA9IDE7CiBncnViX3NpemVfdCBncnViX3JlbG9jYXRvcl9mb3J3YXJkX3NpemU7CiBn cnViX3NpemVfdCBncnViX3JlbG9jYXRvcl9iYWNrd2FyZF9zaXplOworZ3J1Yl9zaXplX3QgZ3J1 Yl9yZWxvY2F0b3JfcHJlYW1ibGVfc2l6ZSA9IDA7CiAjaWZkZWYgX194ODZfNjRfXworZ3J1Yl9z aXplX3QgZ3J1Yl9yZWxvY2F0b3JfYWxpZ24gPSA0MDk2OwogZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxv Y2F0b3JfanVtcGVyX3NpemUgPSAxMjsKICNlbHNlCitncnViX3NpemVfdCBncnViX3JlbG9jYXRv cl9hbGlnbiA9IDE7CiBncnViX3NpemVfdCBncnViX3JlbG9jYXRvcl9qdW1wZXJfc2l6ZSA9IDc7 CiAjZW5kaWYKIAorI2lmZGVmIF9feDg2XzY0X18KKworI2RlZmluZSBQQUdFX1BSRVNFTlQgMQor I2RlZmluZSBQQUdFX1dSSVRBQkxFIDIKKyNkZWZpbmUgUEFHRV9VU0VSIDQKKyNkZWZpbmUgUEFH RV9QUyAweDgwCisjZGVmaW5lIFBBR0VfSURYX1NJWkUgOQorI2RlZmluZSBQQUdFX1BTX1NISUZU IDIxCisjZGVmaW5lIFBBR0VfTlVNX0VOVFJJRVMgMHgyMDAKKyNkZWZpbmUgUFNfUEFHRV9TSVpF IDB4MjAwMDAwCisKK3N0YXRpYyBncnViX3VpbnQ2NF90IG1heF9yYW1fc2l6ZTsKKworICAvKiBI ZWxwZXIgZm9yIGdydWJfZ2V0X211bHRpYm9vdF9tbWFwX2NvdW50LiAgKi8KK3N0YXRpYyBpbnQK K21heF9ob29rIChncnViX3VpbnQ2NF90IGFkZHIsCisJICBncnViX3VpbnQ2NF90IHNpemUsCisJ ICBncnViX21lbW9yeV90eXBlX3QgdHlwZSBfX2F0dHJpYnV0ZV9fICgodW51c2VkKSksCisJICB2 b2lkICpkYXRhIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSkKK3sKKyAgbWF4X3JhbV9zaXplID0g Z3J1Yl9tYXggKG1heF9yYW1fc2l6ZSwgYWRkciArIHNpemUpOworICByZXR1cm4gMDsKK30KKwor c3RhdGljIGdydWJfdWludDY0X3QKK2ZpbmRfbWF4X3NpemUgKHZvaWQpCit7CisgIGlmICghbWF4 X3JhbV9zaXplKQorICAgIHsKKyAgICAgIC8qIFdlIG5lZWQgdG8gbWFwIHRoZSBmaXJzdCA0R2lC IG9mIGFkZHJlc3Mgc3BhY2UgYXMgd2VsbCBhcyBhbGwgdGhlCisJIGF2YWlsYWJsZSBSQU0sIHNv IHN0YXJ0IHdpdGggNEdpQiBhbmQgaW5jcmVhc2UgaWYgd2Ugc2VlIGFueSBSQU0KKwkgYWJvdmUg dGhpcy4gKi8KKyAgICAgIG1heF9yYW1fc2l6ZSA9IDFVTEwgPDwgMzI7CisKKyAgICAgIGdydWJf bW1hcF9pdGVyYXRlIChtYXhfaG9vaywgTlVMTCk7CisgICAgfQorCisgIHJldHVybiBtYXhfcmFt X3NpemU7Cit9CisKK3ZvaWQKK2dydWJfY3B1X3JlbG9jYXRvcl9wcmVhbWJsZSAodm9pZCAqcmVs cykKK3sKKyAgZ3J1Yl91aW50NjRfdCBuZW50cmllcyA9IChmaW5kX21heF9zaXplICgpICsgUFNf UEFHRV9TSVpFIC0gMSkgPj4gUEFHRV9QU19TSElGVDsKKyAgZ3J1Yl91aW50NjRfdCBucHQycGFn ZXMgPSAobmVudHJpZXMgKyBQQUdFX05VTV9FTlRSSUVTIC0gMSkgPj4gUEFHRV9JRFhfU0laRTsK KyAgZ3J1Yl91aW50NjRfdCBucHQzcGFnZXMgPSAobnB0MnBhZ2VzICsgUEFHRV9OVU1fRU5UUklF UyAtIDEpID4+IFBBR0VfSURYX1NJWkU7CisgIGdydWJfdWludDhfdCAqcCA9IHJlbHM7CisgIGdy dWJfdWludDY0X3QgKnB0NCA9IChncnViX3VpbnQ2NF90ICopIChwICsgR1JVQl9QQUdFX1NJWkUp OworICBncnViX3VpbnQ2NF90ICpwdDMgPSBwdDQgKyBQQUdFX05VTV9FTlRSSUVTOworICBncnVi X3VpbnQ2NF90ICpwdDIgPSBwdDMgKyAobnB0M3BhZ2VzIDw8IFBBR0VfSURYX1NJWkUpOworICBn cnViX3VpbnQ2NF90ICplbmRwcmVhbWJsZSA9IHB0MiArIChucHQycGFnZXMgPDwgUEFHRV9JRFhf U0laRSk7CisgIGdydWJfdWludDY0X3QgaTsKKworICAvKiBtb3ZhYnMgJHB0NCwgJXJheC4gICov CisgICpwKysgPSAweDQ4OworICAqcCsrID0gMHhiODsKKyAgKihncnViX3VpbnQ2NF90ICopIHAg PSAoZ3J1Yl91aW50NjRfdCkgcHQ0OworICBwICs9IDg7CisKKyAgLyogbW92ICVyYXgsICVjcjMu ICAqLworICAqcCsrID0gMHgwZjsKKyAgKnArKyA9IDB4MjI7CisgICpwKysgPSAweGQ4OworCisg IC8qIGptcCAkZW5kcHJlYW1ibGUuICAqLworICAqcCsrID0gMHhlOTsKKyAgKihncnViX3VpbnQz Ml90ICopIHAgPSAoZ3J1Yl91aW50OF90ICopIGVuZHByZWFtYmxlIC0gcCAtIDQ7CisKKyAgZm9y IChpID0gMDsgaSA8IG5wdDNwYWdlczsgaSsrKQorICAgIHB0NFtpXSA9ICgoZ3J1Yl91aW50NjRf dCkgcHQzICsgKGkgPDwgR1JVQl9QQUdFX1NISUZUKSkgfCBQQUdFX1BSRVNFTlQgfCBQQUdFX1dS SVRBQkxFIHwgUEFHRV9VU0VSOworCisgIGZvciAoaSA9IDA7IGkgPCBucHQycGFnZXM7IGkrKykK KyAgICBwdDNbaV0gPSAoKGdydWJfdWludDY0X3QpIHB0MiArIChpIDw8IEdSVUJfUEFHRV9TSElG VCkpIHwgUEFHRV9QUkVTRU5UIHwgUEFHRV9XUklUQUJMRSB8IFBBR0VfVVNFUjsKKworICBmb3Ig KGkgPSAwOyBpIDwgKG5wdDJwYWdlcyA8PCBQQUdFX0lEWF9TSVpFKTsgaSsrKQorICAgIHB0Mltp XSA9IChpIDw8IFBBR0VfUFNfU0hJRlQpIHwgUEFHRV9QUyB8IFBBR0VfUFJFU0VOVCB8IFBBR0Vf V1JJVEFCTEUgfCBQQUdFX1VTRVI7Cit9CisKK3N0YXRpYyB2b2lkCitjb21wdXRlX3ByZWFtYmxl X3NpemUgKHZvaWQpCit7CisgIGdydWJfdWludDY0X3QgbmVudHJpZXMgPSAoZmluZF9tYXhfc2l6 ZSAoKSArIFBTX1BBR0VfU0laRSAtIDEpID4+IFBBR0VfUFNfU0hJRlQ7CisgIGdydWJfdWludDY0 X3QgbnB0MnBhZ2VzID0gKG5lbnRyaWVzICsgUEFHRV9OVU1fRU5UUklFUyAtIDEpID4+IFBBR0Vf SURYX1NJWkU7CisgIGdydWJfdWludDY0X3QgbnB0M3BhZ2VzID0gKG5wdDJwYWdlcyArIFBBR0Vf TlVNX0VOVFJJRVMgLSAxKSA+PiBQQUdFX0lEWF9TSVpFOworICBncnViX3JlbG9jYXRvcl9wcmVh bWJsZV9zaXplID0gKG5wdDJwYWdlcyArIG5wdDNwYWdlcyArIDEgKyAxKSA8PCBHUlVCX1BBR0Vf U0hJRlQ7Cit9CisKKyNlbHNlCit2b2lkCitncnViX2NwdV9yZWxvY2F0b3JfcHJlYW1ibGUgKHZv aWQgKnJlbHMgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7Cit9CisjZW5kaWYKKwogdm9pZAog Z3J1Yl9jcHVfcmVsb2NhdG9yX2luaXQgKHZvaWQpCiB7CiAgIGdydWJfcmVsb2NhdG9yX2Zvcndh cmRfc2l6ZSA9IFJFTE9DQVRPUl9TSVpFT0YgKF9mb3J3YXJkKTsKICAgZ3J1Yl9yZWxvY2F0b3Jf YmFja3dhcmRfc2l6ZSA9IFJFTE9DQVRPUl9TSVpFT0YgKF9iYWNrd2FyZCk7CisjaWZkZWYgX194 ODZfNjRfXworICBjb21wdXRlX3ByZWFtYmxlX3NpemUgKCk7CisjZW5kaWYKIH0KIAogdm9pZApk aWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2xpYi9taXBzL3JlbG9jYXRvci5jIGIvZ3J1Yi1jb3JlL2xp Yi9taXBzL3JlbG9jYXRvci5jCmluZGV4IDc3M2YzYjc2OS4uOWY3OWI0MGM4IDEwMDY0NAotLS0g YS9ncnViLWNvcmUvbGliL21pcHMvcmVsb2NhdG9yLmMKKysrIGIvZ3J1Yi1jb3JlL2xpYi9taXBz L3JlbG9jYXRvci5jCkBAIC00NSw2ICs0NSw3IEBAIGdydWJfc2l6ZV90IGdydWJfcmVsb2NhdG9y X2FsaWduID0gc2l6ZW9mIChncnViX3VpbnQzMl90KTsKIGdydWJfc2l6ZV90IGdydWJfcmVsb2Nh dG9yX2ZvcndhcmRfc2l6ZTsKIGdydWJfc2l6ZV90IGdydWJfcmVsb2NhdG9yX2JhY2t3YXJkX3Np emU7CiBncnViX3NpemVfdCBncnViX3JlbG9jYXRvcl9qdW1wZXJfc2l6ZSA9IEpVTVBfU0laRU9G ICsgUkVHV19TSVpFT0Y7CitncnViX3NpemVfdCBncnViX3JlbG9jYXRvcl9wcmVhbWJsZV9zaXpl ID0gMDsKIAogdm9pZAogZ3J1Yl9jcHVfcmVsb2NhdG9yX2luaXQgKHZvaWQpCkBAIC01Myw2ICs1 NCwxMSBAQCBncnViX2NwdV9yZWxvY2F0b3JfaW5pdCAodm9pZCkKICAgZ3J1Yl9yZWxvY2F0b3Jf YmFja3dhcmRfc2l6ZSA9IFJFTE9DQVRPUl9TSVpFT0YoYmFja3dhcmQpOwogfQogCit2b2lkCitn cnViX2NwdV9yZWxvY2F0b3JfcHJlYW1ibGUgKHZvaWQgKnJlbHMgX19hdHRyaWJ1dGVfXyAoKHVu dXNlZCkpKQoreworfQorCiBzdGF0aWMgdm9pZAogd3JpdGVfcmVnIChpbnQgcmVnbiwgZ3J1Yl91 aW50MzJfdCB2YWwsIHZvaWQgKip0YXJnZXQpCiB7CmRpZmYgLS1naXQgYS9ncnViLWNvcmUvbGli L3Bvd2VycGMvcmVsb2NhdG9yLmMgYi9ncnViLWNvcmUvbGliL3Bvd2VycGMvcmVsb2NhdG9yLmMK aW5kZXggMTVhZWIwMjQ2Li41NTllMDRiNWEgMTAwNjQ0Ci0tLSBhL2dydWItY29yZS9saWIvcG93 ZXJwYy9yZWxvY2F0b3IuYworKysgYi9ncnViLWNvcmUvbGliL3Bvd2VycGMvcmVsb2NhdG9yLmMK QEAgLTQzLDYgKzQzLDcgQEAgZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxvY2F0b3JfYWxpZ24gPSBzaXpl b2YgKGdydWJfdWludDMyX3QpOwogZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxvY2F0b3JfZm9yd2FyZF9z aXplOwogZ3J1Yl9zaXplX3QgZ3J1Yl9yZWxvY2F0b3JfYmFja3dhcmRfc2l6ZTsKIGdydWJfc2l6 ZV90IGdydWJfcmVsb2NhdG9yX2p1bXBlcl9zaXplID0gSlVNUF9TSVpFT0YgKyBSRUdXX1NJWkVP RjsKK2dydWJfc2l6ZV90IGdydWJfcmVsb2NhdG9yX3ByZWFtYmxlX3NpemUgPSAwOwogCiB2b2lk CiBncnViX2NwdV9yZWxvY2F0b3JfaW5pdCAodm9pZCkKQEAgLTUxLDYgKzUyLDExIEBAIGdydWJf Y3B1X3JlbG9jYXRvcl9pbml0ICh2b2lkKQogICBncnViX3JlbG9jYXRvcl9iYWNrd2FyZF9zaXpl ID0gUkVMT0NBVE9SX1NJWkVPRihiYWNrd2FyZCk7CiB9CiAKK3ZvaWQKK2dydWJfY3B1X3JlbG9j YXRvcl9wcmVhbWJsZSAodm9pZCAqcmVscyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKK30K Kwogc3RhdGljIHZvaWQKIHdyaXRlX3JlZyAoaW50IHJlZ24sIGdydWJfdWludDMyX3QgdmFsLCB2 b2lkICoqdGFyZ2V0KQogewpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2xpYi9yZWxvY2F0b3IuYyBi L2dydWItY29yZS9saWIvcmVsb2NhdG9yLmMKaW5kZXggMzMwNmExYmI3Li5lM2M5Njk2ZjEgMTAw NjQ0Ci0tLSBhL2dydWItY29yZS9saWIvcmVsb2NhdG9yLmMKKysrIGIvZ3J1Yi1jb3JlL2xpYi9y ZWxvY2F0b3IuYwpAQCAtMTEwLDcgKzExMCw3IEBAIGdydWJfcmVsb2NhdG9yX25ldyAodm9pZCkK ICAgICByZXR1cm4gTlVMTDsKIAogICByZXQtPnBvc3RjaHVua3MgPSB+KGdydWJfcGh5c19hZGRy X3QpIDA7Ci0gIHJldC0+cmVsb2NhdG9yc19zaXplID0gZ3J1Yl9yZWxvY2F0b3JfanVtcGVyX3Np emU7CisgIHJldC0+cmVsb2NhdG9yc19zaXplID0gZ3J1Yl9yZWxvY2F0b3JfanVtcGVyX3NpemUg KyBncnViX3JlbG9jYXRvcl9wcmVhbWJsZV9zaXplOwogICBncnViX2RwcmludGYgKCJyZWxvY2F0 b3IiLCAicmVsb2NhdG9yc19zaXplPSVsdVxuIiwKIAkJKHVuc2lnbmVkIGxvbmcpIHJldC0+cmVs b2NhdG9yc19zaXplKTsKICAgcmV0dXJuIHJldDsKQEAgLTE2MDUsNiArMTYwNSw5IEBAIGdydWJf cmVsb2NhdG9yX3ByZXBhcmVfcmVsb2NzIChzdHJ1Y3QgZ3J1Yl9yZWxvY2F0b3IgKnJlbCwgZ3J1 Yl9hZGRyX3QgYWRkciwKICAgICBncnViX2ZyZWUgKHRvKTsKICAgfQogCisgIGdydWJfY3B1X3Jl bG9jYXRvcl9wcmVhbWJsZSAocmVscyk7CisgIHJlbHMgKz0gZ3J1Yl9yZWxvY2F0b3JfcHJlYW1i bGVfc2l6ZTsKKyAgCiAgIGZvciAoaiA9IDA7IGogPCBuY2h1bmtzOyBqKyspCiAgICAgewogICAg ICAgZ3J1Yl9kcHJpbnRmICgicmVsb2NhdG9yIiwgInNvcnRlZCBjaHVuayAlcC0+JXAsIDB4JWx4 XG4iLApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ncnViL3JlbG9jYXRvcl9wcml2YXRlLmggYi9pbmNs dWRlL2dydWIvcmVsb2NhdG9yX3ByaXZhdGUuaAppbmRleCBkOGU5NzJlMDEuLjI3M2FkZDc2ZCAx MDA2NDQKLS0tIGEvaW5jbHVkZS9ncnViL3JlbG9jYXRvcl9wcml2YXRlLmgKKysrIGIvaW5jbHVk ZS9ncnViL3JlbG9jYXRvcl9wcml2YXRlLmgKQEAgLTI3LDYgKzI3LDcgQEAgZXh0ZXJuIGdydWJf c2l6ZV90IGdydWJfcmVsb2NhdG9yX2FsaWduOwogZXh0ZXJuIGdydWJfc2l6ZV90IGdydWJfcmVs b2NhdG9yX2ZvcndhcmRfc2l6ZTsKIGV4dGVybiBncnViX3NpemVfdCBncnViX3JlbG9jYXRvcl9i YWNrd2FyZF9zaXplOwogZXh0ZXJuIGdydWJfc2l6ZV90IGdydWJfcmVsb2NhdG9yX2p1bXBlcl9z aXplOworZXh0ZXJuIGdydWJfc2l6ZV90IGdydWJfcmVsb2NhdG9yX3ByZWFtYmxlX3NpemU7CiAK IHZvaWQKIGdydWJfY3B1X3JlbG9jYXRvcl9pbml0ICh2b2lkKTsKQEAgLTM5LDYgKzQwLDcgQEAg dm9pZCBncnViX2NwdV9yZWxvY2F0b3JfZm9yd2FyZCAodm9pZCAqcmVscywgdm9pZCAqc3JjLCB2 b2lkICp0Z3QsCiB2b2lkIGdydWJfY3B1X3JlbG9jYXRvcl9iYWNrd2FyZCAodm9pZCAqcmVscywg dm9pZCAqc3JjLCB2b2lkICp0Z3QsCiAJCQkJIGdydWJfc2l6ZV90IHNpemUpOwogdm9pZCBncnVi X2NwdV9yZWxvY2F0b3JfanVtcGVyICh2b2lkICpyZWxzLCBncnViX2FkZHJfdCBhZGRyKTsKK3Zv aWQgZ3J1Yl9jcHVfcmVsb2NhdG9yX3ByZWFtYmxlICh2b2lkICpyZWxzKTsKIAogLyogUmVtYXJr OiBHUlVCX1JFTE9DQVRPUl9GSVJNV0FSRV9SRVFVRVNUU19RVUFOVF9MT0cgPSAxIG9yIDIKICAg IGFyZW4ndCBzdXBwb3J0ZWQuICAqLwotLSAKMi40OS4wCgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KR3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1k ZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWIt ZGV2ZWwK