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 EA265C25B78 for ; Fri, 17 May 2024 07:52:49 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s7sOJ-0002SO-Sb; Fri, 17 May 2024 03:52:35 -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 1s7sOH-0002Qp-2r for grub-devel@gnu.org; Fri, 17 May 2024 03:52:34 -0400 Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s7sOD-0004pQ-8V for grub-devel@gnu.org; Fri, 17 May 2024 03:52:31 -0400 Received: by mail-lf1-x12e.google.com with SMTP id 2adb3069b0e04-51fdc9af005so615384e87.3 for ; Fri, 17 May 2024 00:52:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715932345; x=1716537145; 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=jKXz5dOCemSIjPwu6ZVxjtkYfeSmWln/lG82uRQ2r2I=; b=gJwxHsC4AaH4CP3JXTifn7ki8ztcVYIXZk/0dj2eVLjxyXrccEK106o11AblxsGkCh X2BZjTpOYp20mfonGe5LBjt0hDLfbOcE4l5CgY+1lMzFu+Ym6MJaiDTiIb/Ua239Pdme uEBDaxSXgMaTNwnrHQKlnyQizu02ukXGqjbjQj8y6WXBShkwImi3D0XoGuN+0ySDPc4c wPEQ2AZ0ofDOcqtbbWwh2HVSPtumIg+rAO50WA8/0U0s4zvHUzQBEHxCDx/dxWeqGDBk Xm6xOX7VV4NvsmSgDw/yIKDJXLH/ZsUs6Y5bW+GQ0VbMk0cVi4yjGT4CuqdNj7tc3Vzx BOiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715932345; x=1716537145; 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=jKXz5dOCemSIjPwu6ZVxjtkYfeSmWln/lG82uRQ2r2I=; b=j66Ef3JF5GaBBQcE0eIgaG2lpcBjG+hlOxUvZqpyzQDmGGg/f2OaorJbIE4ywtX5E1 /6mzlsk1I57FrSSADglGO5fjhTUdVEmziJRRvSZjt4FhxYSYGbHhu5oi+Mlidz6tz+9+ 0GyJi/33aahG1LTjb9qxvnn68oLnkJhTN0SQCnExQ3+EqQnnA9MM+BrgYymNNGKl4HZn ZuL8JAwKyrFZWCWtUf+8ehabhFVmh/MKqNl/7u9HtmWFmUEqk1p8R/NaXDP2+aLU56bt v8Js4Y5X4wj9H48ZcHAsRfgLvPSyapmmgOM9Ud5HVbazk57g8DFj9EJcD5mvZx8owaJA MbZg== X-Gm-Message-State: AOJu0YzUIsxAPXq0hWjI55PMiNsIr4Lbp8SqrLeFIsQkkPrgEVXWAy+x pX26gOttt1joMGQVcelvjTlNjZwmLOQGp5IHv78C96H8d/67mS+ebIB+lyMAqxYVfg== X-Google-Smtp-Source: AGHT+IFGSCmUJugVzXAm42NMs/oMU7UFi7w5dKwMOAZbrzRV5/nTntjrwRWZgRG3g0WaGmzTJjczug== X-Received: by 2002:ac2:5b0f:0:b0:51c:3f4c:ef6c with SMTP id 2adb3069b0e04-5220fe7aa4cmr15815804e87.40.1715932344595; Fri, 17 May 2024 00:52:24 -0700 (PDT) Received: from localhost ([5.165.219.191]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-521f39d33a9sm3245455e87.302.2024.05.17.00.52.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 May 2024 00:52:24 -0700 (PDT) From: Vladimir Serbinenko To: grub-devel@gnu.org Cc: Vladimir Serbinenko Subject: [PATCH vRESEND] Improve cbfs detection Date: Fri, 17 May 2024 10:52:17 +0300 Message-Id: <20240517075217.2741-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::12e; envelope-from=phcoder@gmail.com; helo=mail-lf1-x12e.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 V2l0aCBGTUFQIGFuZCBub24tY29udGludW91cyBTUEkgb2xkIHdheSBvZiByZWFkaW5nIENCRlMg cG9pbnRlcgppcyBubyBsb25nZXIgcmVsaWFibGUuIEhlbmNlIHVzZSBuZXcgbGJpbyB0YWdzIHRv IGRldGVjdCB0aGUgY29ycmVjdApjYmZzIGxheW91dAoKU2lnbmVkLW9mZi1ieTogVmxhZGltaXIg U2VyYmluZW5rbyA8cGhjb2RlckBnbWFpbC5jb20+Ci0tLQogZ3J1Yi1jb3JlL2ZzL2NiZnMuYyAg ICAgICAgICB8IDEzMSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogaW5jbHVk ZS9ncnViL2NvcmVib290L2xiaW8uaCB8ICAyNSArKysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDEz MSBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ncnViLWNvcmUv ZnMvY2Jmcy5jIGIvZ3J1Yi1jb3JlL2ZzL2NiZnMuYwppbmRleCA4YWI3MTA2YWYuLjcyMzRkYTdl ZSAxMDA2NDQKLS0tIGEvZ3J1Yi1jb3JlL2ZzL2NiZnMuYworKysgYi9ncnViLWNvcmUvZnMvY2Jm cy5jCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSA8Z3J1Yi9kbC5oPgogI2luY2x1ZGUgPGdy dWIvaTE4bi5oPgogI2luY2x1ZGUgPGdydWIvY2Jmc19jb3JlLmg+CisjaW5jbHVkZSA8Z3J1Yi9j b3JlYm9vdC9sYmlvLmg+CiAKIEdSVUJfTU9EX0xJQ0VOU0UgKCJHUEx2MysiKTsKIApAQCAtMjcz LDcgKzI3NCw4IEBAIGdydWJfY2Jmc19jbG9zZSAoZ3J1Yl9maWxlX3QgZmlsZSkKICNpZiAoZGVm aW5lZCAoX19pMzg2X18pIHx8IGRlZmluZWQgKF9feDg2XzY0X18pKSAmJiAhZGVmaW5lZCAoR1JV Ql9VVElMKSBcCiAgICYmICFkZWZpbmVkIChHUlVCX01BQ0hJTkVfRU1VKSAmJiAhZGVmaW5lZCAo R1JVQl9NQUNISU5FX1hFTikKIAotc3RhdGljIGNoYXIgKmNiZnNkaXNrX2FkZHI7CitzdGF0aWMg c3RydWN0IGdydWJfbGludXhiaW9zX2ZsYXNoX21tYXBfd2luZG93ICpjYmZzZGlza19tYXA7Citz dGF0aWMgZ3J1Yl91aW50MzJfdCBjYmZzZGlza19tYXBfc2l6ZTsKIHN0YXRpYyBncnViX29mZl90 IGNiZnNkaXNrX3NpemUgPSAwOwogCiBzdGF0aWMgaW50CkBAIC0yODksMTAgKzI5MSwxMCBAQCBn cnViX2NiZnNkaXNrX2l0ZXJhdGUgKGdydWJfZGlza19kZXZfaXRlcmF0ZV9ob29rX3QgaG9vaywg dm9pZCAqaG9va19kYXRhLAogc3RhdGljIGdydWJfZXJyX3QKIGdydWJfY2Jmc2Rpc2tfb3BlbiAo Y29uc3QgY2hhciAqbmFtZSwgZ3J1Yl9kaXNrX3QgZGlzaykKIHsKLSAgaWYgKGdydWJfc3RyY21w IChuYW1lLCAiY2Jmc2Rpc2siKSkKKyAgaWYgKGdydWJfc3RyY21wIChuYW1lLCAiY2Jmc2Rpc2si KSAmJiBjYmZzZGlza19zaXplID4gMCkKICAgICAgIHJldHVybiBncnViX2Vycm9yIChHUlVCX0VS Ul9VTktOT1dOX0RFVklDRSwgIm5vdCBhIGNiZnNkaXNrIik7CiAKLSAgZGlzay0+dG90YWxfc2Vj dG9ycyA9IGNiZnNkaXNrX3NpemUgLyBHUlVCX0RJU0tfU0VDVE9SX1NJWkU7CisgIGRpc2stPnRv dGFsX3NlY3RvcnMgPSBjYmZzZGlza19zaXplID4+IEdSVUJfRElTS19TRUNUT1JfQklUUzsKICAg ZGlzay0+bWF4X2FnZ2xvbWVyYXRlID0gR1JVQl9ESVNLX01BWF9NQVhfQUdHTE9NRVJBVEU7CiAg IGRpc2stPmlkID0gMDsKIApAQCAtMzA3LDEwICszMDksNDAgQEAgZ3J1Yl9jYmZzZGlza19jbG9z ZSAoZ3J1Yl9kaXNrX3QgZGlzayBfX2F0dHJpYnV0ZSgodW51c2VkKSkpCiBzdGF0aWMgZ3J1Yl9l cnJfdAogZ3J1Yl9jYmZzZGlza19yZWFkIChncnViX2Rpc2tfdCBkaXNrIF9fYXR0cmlidXRlKCh1 bnVzZWQpKSwKIAkJICAgIGdydWJfZGlza19hZGRyX3Qgc2VjdG9yLAotCQkgICAgZ3J1Yl9zaXpl X3Qgc2l6ZSwgY2hhciAqYnVmKQorCQkgICAgZ3J1Yl9zaXplX3Qgc2l6ZV9zZWN0b3JzLCBjaGFy ICpidWYpCiB7Ci0gIGdydWJfbWVtY3B5IChidWYsIGNiZnNkaXNrX2FkZHIgKyAoc2VjdG9yIDw8 IEdSVUJfRElTS19TRUNUT1JfQklUUyksCi0JICAgICAgIHNpemUgPDwgR1JVQl9ESVNLX1NFQ1RP Ul9CSVRTKTsKKyAgZ3J1Yl9vZmZfdCBvZmYgPSBzZWN0b3IgPDwgR1JVQl9ESVNLX1NFQ1RPUl9C SVRTOworICBncnViX3NpemVfdCBzaXplID0gc2l6ZV9zZWN0b3JzIDw8IEdSVUJfRElTS19TRUNU T1JfQklUUzsKKyAgd2hpbGUgKHNpemUgPiAwKQorICAgIHsKKyAgICAgIHVuc2lnbmVkIGludCBp OworICAgICAgZ3J1Yl9zaXplX3QgdG9fcmVhZDsKKyAgICAgIGdydWJfb2ZmX3QgcmVnX29mZnNl dDsKKyAgICAgIGZvciAoaSA9IDA7IGkgPCBjYmZzZGlza19tYXBfc2l6ZTsgaSsrKQorCWlmIChj YmZzZGlza19tYXBbaV0uZmxhc2hfYmFzZSA8PSBvZmYgJiYgb2ZmIDwgY2Jmc2Rpc2tfbWFwW2ld LmZsYXNoX2Jhc2UgKyBjYmZzZGlza19tYXBbaV0uc2l6ZSkKKwkgIGJyZWFrOworICAgICAgaWYg KGkgPT0gY2Jmc2Rpc2tfbWFwX3NpemUpCisJeworCSAgZ3J1Yl9vZmZfdCBuZXh0ID0gLTE7CisJ ICBmb3IgKGkgPSAwOyBpIDwgY2Jmc2Rpc2tfbWFwX3NpemU7IGkrKykKKwkgICAgaWYgKGNiZnNk aXNrX21hcFtpXS5mbGFzaF9iYXNlID4gb2ZmICYmIG5leHQgPiBjYmZzZGlza19tYXBbaV0uZmxh c2hfYmFzZSkKKwkgICAgICBuZXh0ID0gY2Jmc2Rpc2tfbWFwW2ldLmZsYXNoX2Jhc2U7CisJICB0 b19yZWFkID0gZ3J1Yl9taW4gKHNpemUsIG5leHQgLSBvZmYpOworCSAgZ3J1Yl9tZW1zZXQgKGJ1 ZiwgMHhmZiwgdG9fcmVhZCk7CisJICBncnViX2RwcmludGYoImNiZnMiLCAiRmlsbGluZyAweCV4 IGJ5dGVzXG4iLCAodW5zaWduZWQpIHRvX3JlYWQpOworCSAgYnVmICs9IHRvX3JlYWQ7CisJICBz aXplIC09IHRvX3JlYWQ7CisJICBvZmYgKz0gdG9fcmVhZDsKKwkgIGNvbnRpbnVlOworICAgICAg fQorICAgICAgcmVnX29mZnNldCA9IG9mZiAtIGNiZnNkaXNrX21hcFtpXS5mbGFzaF9iYXNlOwor ICAgICAgdG9fcmVhZCA9IGdydWJfbWluIChzaXplLCBjYmZzZGlza19tYXBbaV0uc2l6ZSAtIHJl Z19vZmZzZXQpOworICAgICAgZ3J1Yl9tZW1jcHkgKGJ1ZiwgKHZvaWQgKikgKGdydWJfYWRkcl90 KSAoY2Jmc2Rpc2tfbWFwW2ldLmhvc3RfYmFzZSArIHJlZ19vZmZzZXQpLCB0b19yZWFkKTsKKyAg ICAgIGdydWJfZHByaW50ZigiY2JmcyIsICJDb3B5aW5nICVwLDB4JXggYnl0ZXNcbiIsICh2b2lk ICopIChncnViX2FkZHJfdCkgKGNiZnNkaXNrX21hcFtpXS5ob3N0X2Jhc2UgKyByZWdfb2Zmc2V0 KSwgKHVuc2lnbmVkKSB0b19yZWFkKTsKKyAgICAgIGJ1ZiArPSB0b19yZWFkOworICAgICAgc2l6 ZSAtPSB0b19yZWFkOworICAgICAgb2ZmICs9IHRvX3JlYWQ7CisgICAgfQogICByZXR1cm4gMDsK IH0KIApAQCAtMzM2LDI5ICszNjgsODAgQEAgc3RhdGljIHN0cnVjdCBncnViX2Rpc2tfZGV2IGdy dWJfY2Jmc2Rpc2tfZGV2ID0KICAgICAubmV4dCA9IDAKICAgfTsKIAorc3RydWN0IGNidGFibGVf aXRlcl9jdHh0IHsKKyAgaW50IGhhc19jb3JlYm9vdDsKKyAgc3RydWN0IGdydWJfbGludXhiaW9z X3RhYmxlX3NwaV9mbGFzaCAqc3BpOworICBzdHJ1Y3QgZ3J1Yl9saW51eGJpb3NfdGFibGVfYm9v dF9tZWRpYSAqYm9vdF9tZWRpYTsKK307CisKK3N0YXRpYyBpbnQgY2J0YWJsZV9pdGVyIChncnVi X2xpbnV4Ymlvc190YWJsZV9pdGVtX3QgaXRlbSwKKwkJCSB2b2lkICpjdHh0X2luKQoreworICBz dHJ1Y3QgY2J0YWJsZV9pdGVyX2N0eHQgKmN0eHQgPSBjdHh0X2luOworCisgIGN0eHQtPmhhc19j b3JlYm9vdCA9IDE7CisKKyAgaWYgKGl0ZW0tPnRhZyA9PSBHUlVCX0xJTlVYQklPU19NRU1CRVJf U1BJX0ZMQVNIKQorICAgIGN0eHQtPnNwaSA9ICh2b2lkICopIChpdGVtICsgMSk7CisKKyAgaWYg KGl0ZW0tPnRhZyA9PSBHUlVCX0xJTlVYQklPU19NRU1CRVJfQk9PVF9NRURJQSkKKyAgICBjdHh0 LT5ib290X21lZGlhID0gKHZvaWQgKikgKGl0ZW0gKyAxKTsKKworICByZXR1cm4gMDsKK30KKwog c3RhdGljIHZvaWQKIGluaXRfY2Jmc2Rpc2sgKHZvaWQpCiB7Ci0gIGdydWJfdWludDMyX3QgcHRy OwotICBzdHJ1Y3QgY2Jmc19oZWFkZXIgKmhlYWQ7Ci0KLSAgcHRyID0gKigoZ3J1Yl91aW50MzJf dCAqKSBncnViX2Fic29sdXRlX3BvaW50ZXIgKDB4ZmZmZmZmZmMpKTsKLSAgaGVhZCA9IChzdHJ1 Y3QgY2Jmc19oZWFkZXIgKikgKGdydWJfYWRkcl90KSBwdHI7Ci0gIGdydWJfZHByaW50ZiAoImNi ZnMiLCAiaGVhZD0lcFxuIiwgaGVhZCk7Ci0KLSAgLyogY29yZWJvb3QgY3VycmVudCBzdXBwb3J0 cyBvbmx5IFJPTXMgPD0gMTYgTWlCLiBCaWdnZXIgUk9NcyB3aWxsCi0gICAgIGhhdmUgcHJvYmxl bXMgYXMgUkNCQSBpcyAxOCBNaUIgYmVsb3cgZW5kIG9mIDMyLWJpdCB0eXBpY2FsbHksCi0gICAg IHNvIGVpdGhlciBtZW1vcnkgbWFwIHdvdWxkIGhhdmUgdG8gYmUgcmVhcnJhbmdlZCBvciB3ZSdk IG5lZWQgdG8gc3VwcG9ydAotICAgICByZWFkaW5nIFJPTXMgdGhyb3VnaCBjb250cm9sbGVyIGRp cmVjdGx5LgotICAgKi8KLSAgaWYgKHB0ciA8IDB4ZmYwMDAwMDAKLSAgICAgIHx8IDB4ZmZmZmZm ZmYgLSBwdHIgPCAoZ3J1Yl91aW50MzJfdCkgc2l6ZW9mICgqaGVhZCkgKyAweGYKLSAgICAgIHx8 ICF2YWxpZGF0ZV9oZWFkIChoZWFkKSkKKyAgc3RydWN0IGNidGFibGVfaXRlcl9jdHh0IGN0eHQg PSB7CisgICAgMCwgMCwgMAorICB9OworCisgIGdydWJfbGludXhiaW9zX3RhYmxlX2l0ZXJhdGUg KGNidGFibGVfaXRlciwgJmN0eHQpOworCisgIGlmICghY3R4dC5oYXNfY29yZWJvb3QpCiAgICAg cmV0dXJuOwogCi0gIGNiZnNkaXNrX3NpemUgPSBBTElHTl9VUCAoZ3J1Yl9iZV90b19jcHUzMiAo aGVhZC0+cm9tc2l6ZSksCi0JCQkgICAgR1JVQl9ESVNLX1NFQ1RPUl9TSVpFKTsKLSAgY2Jmc2Rp c2tfYWRkciA9ICh2b2lkICopIChncnViX2FkZHJfdCkgKDB4MTAwMDAwMDAwVUxMIC0gY2Jmc2Rp c2tfc2l6ZSk7CisgIGlmIChjdHh0LnNwaSkKKyAgICB7CisgICAgICBjYmZzZGlza19tYXAgPSBj dHh0LnNwaS0+bW1hcF90YWJsZTsKKyAgICAgIGNiZnNkaXNrX21hcF9zaXplID0gY3R4dC5zcGkt Pm1tYXBfY291bnQ7CisgICAgICBjYmZzZGlza19zaXplID0gY3R4dC5zcGktPmZsYXNoX3NpemU7 CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgaWYgKGN0eHQuYm9vdF9tZWRpYSkKKwljYmZz ZGlza19zaXplID0gQUxJR05fVVAgKGdydWJfYmVfdG9fY3B1MzIgKGN0eHQuYm9vdF9tZWRpYS0+ Ym9vdF9tZWRpYV9zaXplKSwKKwkJCQkgIEdSVUJfRElTS19TRUNUT1JfU0laRSk7CisgICAgICBl bHNlCisJeworCSAgZ3J1Yl91aW50MzJfdCBwdHI7CisJICBzdHJ1Y3QgY2Jmc19oZWFkZXIgKmhl YWQ7CisKKwkgIHB0ciA9ICooKGdydWJfdWludDMyX3QgKikgZ3J1Yl9hYnNvbHV0ZV9wb2ludGVy ICgweGZmZmZmZmZjKSk7CisJICBoZWFkID0gKHN0cnVjdCBjYmZzX2hlYWRlciAqKSAoZ3J1Yl9h ZGRyX3QpIHB0cjsKKwkgIGdydWJfZHByaW50ZiAoImNiZnMiLCAiaGVhZD0lcFxuIiwgaGVhZCk7 CisKKwkgIC8qIGNvcmVib290IGN1cnJlbnQgc3VwcG9ydHMgb25seSBST01zIDw9IDE2IE1pQi4g QmlnZ2VyIFJPTXMgd2lsbAorCSAgICAgaGF2ZSBwcm9ibGVtcyBhcyBSQ0JBIGlzIDE4IE1pQiBi ZWxvdyBlbmQgb2YgMzItYml0IHR5cGljYWxseSwKKwkgICAgIHNvIGVpdGhlciBtZW1vcnkgbWFw IHdvdWxkIGhhdmUgdG8gYmUgcmVhcnJhbmdlZCBvciB3ZSdkIG5lZWQgdG8gc3VwcG9ydAorCSAg ICAgcmVhZGluZyBST01zIHRocm91Z2ggY29udHJvbGxlciBkaXJlY3RseS4KKwkgICovCisJICBp ZiAocHRyIDwgMHhmZjAwMDAwMAorCSAgICAgIHx8IDB4ZmZmZmZmZmYgLSBwdHIgPCAoZ3J1Yl91 aW50MzJfdCkgc2l6ZW9mICgqaGVhZCkgKyAweGYKKwkgICAgICB8fCAhdmFsaWRhdGVfaGVhZCAo aGVhZCkpCisJICAgIHJldHVybjsKKworCSAgY2Jmc2Rpc2tfc2l6ZSA9IEFMSUdOX1VQIChncnVi X2JlX3RvX2NwdTMyIChoZWFkLT5yb21zaXplKSwKKwkJCQkgICAgR1JVQl9ESVNLX1NFQ1RPUl9T SVpFKTsKKwl9CisgICAgICBjYmZzZGlza19tYXBfc2l6ZSA9IDE7CisgICAgICBzdGF0aWMgc3Ry dWN0IGdydWJfbGludXhiaW9zX2ZsYXNoX21tYXBfd2luZG93IHNpbmdsZXRvbjsKKyAgICAgIHNp bmdsZXRvbi5mbGFzaF9iYXNlID0gMDsKKyAgICAgIHNpbmdsZXRvbi5ob3N0X2Jhc2UgPSAweDEw MDAwMDAwMFVMTCAtIGNiZnNkaXNrX3NpemU7CisgICAgICBzaW5nbGV0b24uc2l6ZSA9IGNiZnNk aXNrX3NpemU7CisgICAgICBjYmZzZGlza19tYXAgPSAmc2luZ2xldG9uOworICB9CiAKICAgZ3J1 Yl9kaXNrX2Rldl9yZWdpc3RlciAoJmdydWJfY2Jmc2Rpc2tfZGV2KTsKIH0KZGlmZiAtLWdpdCBh L2luY2x1ZGUvZ3J1Yi9jb3JlYm9vdC9sYmlvLmggYi9pbmNsdWRlL2dydWIvY29yZWJvb3QvbGJp by5oCmluZGV4IDUwNzZkMzZjNy4uZjg2NDFmNDYzIDEwMDY0NAotLS0gYS9pbmNsdWRlL2dydWIv Y29yZWJvb3QvbGJpby5oCisrKyBiL2luY2x1ZGUvZ3J1Yi9jb3JlYm9vdC9sYmlvLmgKQEAgLTcx LDcgKzcxLDkgQEAgZW51bQogICAgIEdSVUJfTElOVVhCSU9TX01FTUJFUl9MSU5LICAgICAgICA9 IDB4MTEsCiAgICAgR1JVQl9MSU5VWEJJT1NfTUVNQkVSX0ZSQU1FQlVGRkVSID0gMHgxMiwKICAg ICBHUlVCX0xJTlVYQklPU19NRU1CRVJfVElNRVNUQU1QUyAgPSAweDE2LAotICAgIEdSVUJfTElO VVhCSU9TX01FTUJFUl9DQk1FTUMgICAgICA9IDB4MTcKKyAgICBHUlVCX0xJTlVYQklPU19NRU1C RVJfQ0JNRU1DICAgICAgPSAweDE3LAorICAgIEdSVUJfTElOVVhCSU9TX01FTUJFUl9TUElfRkxB U0ggICA9IDB4MjksCisgICAgR1JVQl9MSU5VWEJJT1NfTUVNQkVSX0JPT1RfTUVESUEgID0gMHgz MCwKICAgfTsKIAogc3RydWN0IGdydWJfbGludXhiaW9zX3RhYmxlX2ZyYW1lYnVmZmVyIHsKQEAg LTEwMCw2ICsxMDIsMjcgQEAgc3RydWN0IGdydWJfbGludXhiaW9zX21lbV9yZWdpb24KIH0gR1JV Ql9QQUNLRUQ7CiB0eXBlZGVmIHN0cnVjdCBncnViX2xpbnV4Ymlvc19tZW1fcmVnaW9uICptZW1f cmVnaW9uX3Q7CiAKK3N0cnVjdCBncnViX2xpbnV4Ymlvc19mbGFzaF9tbWFwX3dpbmRvdyB7Cisg IGdydWJfdWludDMyX3QgZmxhc2hfYmFzZTsKKyAgZ3J1Yl91aW50MzJfdCBob3N0X2Jhc2U7Cisg IGdydWJfdWludDMyX3Qgc2l6ZTsKK30gR1JVQl9QQUNLRUQ7CisKK3N0cnVjdCBncnViX2xpbnV4 Ymlvc190YWJsZV9zcGlfZmxhc2ggeworICBncnViX3VpbnQzMl90IGZsYXNoX3NpemU7CisgIGdy dWJfdWludDMyX3Qgc2VjdG9yX3NpemU7CisgIGdydWJfdWludDMyX3QgZXJhc2VfY21kOworICBn cnViX3VpbnQzMl90IG1tYXBfY291bnQ7CisgIHN0cnVjdCBncnViX2xpbnV4Ymlvc19mbGFzaF9t bWFwX3dpbmRvdyBtbWFwX3RhYmxlWzBdOworfSBHUlVCX1BBQ0tFRDsKKworc3RydWN0IGdydWJf bGludXhiaW9zX3RhYmxlX2Jvb3RfbWVkaWEgeworICBncnViX3VpbnQ2NF90IGZtYXBfb2Zmc2V0 OworICBncnViX3VpbnQ2NF90IGNiZnNfb2Zmc2V0OworICBncnViX3VpbnQ2NF90IGNiZnNfc2l6 ZTsKKyAgZ3J1Yl91aW50NjRfdCBib290X21lZGlhX3NpemU7Cit9IEdSVUJfUEFDS0VEOworCiBn cnViX2Vycl90CiBFWFBPUlRfRlVOQyhncnViX2xpbnV4Ymlvc190YWJsZV9pdGVyYXRlKSAoaW50 ICgqaG9vaykgKGdydWJfbGludXhiaW9zX3RhYmxlX2l0ZW1fdCwKIAkJCQkJICAgdm9pZCAqKSwK LS0gCjIuMzkuMgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkdydWItZGV2ZWwgbWFpbGluZyBsaXN0CkdydWItZGV2ZWxAZ251Lm9yZwpodHRwczovL2xp c3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9ncnViLWRldmVsCg==