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 DD612C54756 for ; Thu, 22 May 2025 03:21:58 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uHwUP-0001Ah-9x; Wed, 21 May 2025 23:21:01 -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 1uHwUM-0001A7-V4 for grub-devel@gnu.org; Wed, 21 May 2025 23:20:59 -0400 Received: from mail-il1-x135.google.com ([2607:f8b0: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 1uHwUK-00015j-O0 for grub-devel@gnu.org; Wed, 21 May 2025 23:20:58 -0400 Received: by mail-il1-x135.google.com with SMTP id e9e14a558f8ab-3dc75fe4e9bso11507375ab.0 for ; Wed, 21 May 2025 20:20:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747884054; x=1748488854; 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=kHaTta0OAMb0uc+SVGZpI8Fig30/Ypyr42DnM2GNonM=; b=SO6y0gsERCdY98IznJuxi4QTeXZBCqkNdahDKmEruahOBNspP5TdQi4fMAugGWAb8Y V+3r8WWdFKq2fiDsSqfd5HGXpU57yb8lhIwgFiWxSTT7rAHg0/xTSCHcGH8a97H/R4M9 vXexqOWHoW4rDXee4gu/iMYfTCfk18wtglJ63qdySlrKRS6UrwcKAD+J6N7pIheW30qE xxs+uI+lBRwRaor+Qg5lIaVQKP5X/dEcc/yZDlTQCJHirhQts/1rvCKguF1YJvhd2iPd c+hr1vTp/IV4pSR500/l8GzCQFYKNvMMKp04/xP80srb5cCBRHdnY/qATIYU6yasI2bF 7E9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747884054; x=1748488854; 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=kHaTta0OAMb0uc+SVGZpI8Fig30/Ypyr42DnM2GNonM=; b=VsMatK6UPDY6tiZ6xUYTexEF3duJ5EubShhDiasVh20XZzaX2wYBv7ukbCP7bcyNEa ba5AFhLwUPpuL7SYYUhCzhIIyI8Go5lIgzdCWvH2hgIhmQHDizE1+em3b2cRYytBVQwE wRMM2hd4EigOjiqls3+lO+pxeIrlOTYANcBFtunaNunPD2vYG2YLzml3GisocDTMRqS3 97eQ46xASNmhitG81nf5pyW2Oav2Re9aTxfgbZuy3jwVeKwbSpcUg3jCX0IP2nCEoPWd RId9bUgxukXooQ9Ev4qglhksqCByOsK3Ut6GHn2zAOngnubJSCbIPdVfTfWkb0GAoy9K nlBg== X-Gm-Message-State: AOJu0Yxuq320wXBp8gZbYv8tg+sBxIUywSZCF96nwhdRAVLDekgAuCUu Y/W00BY1rStRsTfc5Mr3rrH/u7QXNiT4A5oB0CyndDqJnKePAJCr1/GZ5yBAozxC X-Gm-Gg: ASbGnct1U/+npl/++BTyE2dVm2NA28R7Xyw2Ep9sI+nJwZ6YJWUpmcC70fa0GHp+MYM 16ollGhEr2dizxtePD4uV8q5oLaCuskv6u/Y/FrG7qsQHZkE4mTY1HRKvH3wddK8Y54bd6+e6ec XhePsqoP9Bbg/QyS+tXL1TdWpwCCD6vzdiqJWrIL3ZvpVFul6iYOiHPIYBxR34B0No1x8uSr0RC KOmRDyCbAqYEhxXYn2Cqd2SYke23rSQORlQ9dotqxGqeccmdqPEwopecYppGhCJBRmtq7D4pHYO v3qn50M4DJcsKC8FLjWrQKmbgKfx8oCqV2PTqmBMY89Q8md5/BNNddvP5oR7i3wTHDpo/W6wam8 aD8je0IRpF5TYsQkQUtiSeQGKNDMSC1L6AzCgDfMyaskZ+GV4t4A= X-Google-Smtp-Source: AGHT+IFTuYNFQJ4/p8aFgmmrqJv+H65q/3bjumCHheju2NYehpFXBwWc7uXBCPvaEXdksCrMyIh1qQ== X-Received: by 2002:a05:6e02:b43:b0:3dc:7c44:cfae with SMTP id e9e14a558f8ab-3dc7c44d941mr78600315ab.3.1747884053893; Wed, 21 May 2025 20:20:53 -0700 (PDT) Received: from localhost.localdomain (204-144-197-247.cgn.imoncommunications.net. [204.144.197.247]) by smtp.gmail.com with ESMTPSA id e9e14a558f8ab-3dc669b21b8sm22303335ab.37.2025.05.21.20.20.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 May 2025 20:20:52 -0700 (PDT) From: Andrew Hamilton To: grub-devel@gnu.org Cc: daniel.kiper@oracle.com, phcoder@gmail.com, development@efficientek.com, Andrew Hamilton Subject: [PATCH v3 3/5] fs/ntfs: Correct possible access violations Date: Wed, 21 May 2025 22:20:39 -0500 Message-Id: <20250522032041.32043-4-adhamilt@gmail.com> X-Mailer: git-send-email 2.39.5 In-Reply-To: <20250522032041.32043-1-adhamilt@gmail.com> References: <20250522032041.32043-1-adhamilt@gmail.com> MIME-Version: 1.0 Received-SPF: pass client-ip=2607:f8b0:4864:20::135; envelope-from=adhamilt@gmail.com; helo=mail-il1-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 Q29ycmVjdCBzZXZlcmFsIG1lbW9yeSBhY2Nlc3MgdmlvbGF0aW9ucyBmb3VuZCBkdXJpbmcgZnV6 emluZy4KVGhlIGlzc3VlcyBmaXhlZCBoZXJlIGNvdWxkIG9jY3VyIGlmIGNlcnRhaW4gc3BlY2lm aWMgbWFsZm9ybWVkIE5URlMKZmlsZSBzeXN0ZW1zIHdlcmUgcHJlc2VudGVkIHRvIEdSVUIuIEN1 cnJlbnRseSwgR1JVQiBkb2VzIG5vdCBhbGxvdyBOVEZTCmZpbGUgc3lzdGVtIGFjY2VzcyB3aGVu IGxvY2tkb3duIG1vZGUgaXMgZW5mb3JjZWQsIHNvIHRoZXNlIHNob3VsZCBiZSBvZgptaW5pbWFs IGltcGFjdC4KClRoZSBjaGFuZ2VzIG1hZGUgaW4gdGhpcyBjb21taXQgZ2VuZXJhbGx5IGNvcnJl Y3QgaXNzdWVzIHdoZXJlIHBvaW50ZXJzCmludG8gZGF0YSBidWZmZXJzIHdlcmUgYmVpbmcgY2Fs Y3VsYXRlZCB1c2luZyBsZW5ndGhzIHJlYWQgZnJvbSB0aGUKTlRGUyBmaWxlIHN5c3RlbSB3aXRo b3V0IHN1ZmZpY2llbnQgYm91bmRzIC8gc2FuaXR5IGNoZWNraW5nOyBvcgphdHRlbXB0aW5nIHRv IGFjY2VzcyBlbGVtZW50cyBvZiBhIHN0cnVjdHVyZSB0byBmcmVlIHRoZW0sIHdoZW4gdGhlCnN0 cnVjdHVyZSBwb2ludGVyIGlzIE5VTEwuCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgSGFtaWx0b24g PGFkaGFtaWx0QGdtYWlsLmNvbT4KLS0tCiBncnViLWNvcmUvZnMvbnRmcy5jIHwgNjQgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwg NTMgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3Jl L2ZzL250ZnMuYyBiL2dydWItY29yZS9mcy9udGZzLmMKaW5kZXggMTAwMGE4YzRlLi41ZjdhMWVj YzkgMTAwNjQ0Ci0tLSBhL2dydWItY29yZS9mcy9udGZzLmMKKysrIGIvZ3J1Yi1jb3JlL2ZzL250 ZnMuYwpAQCAtMjQ4LDYgKzI0OCw3IEBAIGZpeHVwIChncnViX3VpbnQ4X3QgKmJ1ZiwgZ3J1Yl9z aXplX3QgbGVuLCBjb25zdCBncnViX3VpbnQ4X3QgKm1hZ2ljKQogICBncnViX3VpbnQxNl90IHNz OwogICBncnViX3VpbnQ4X3QgKnB1OwogICBncnViX3VpbnQxNl90IHVzOworICBncnViX3VpbnQx Nl90IHB1X29mZnNldDsKIAogICBDT01QSUxFX1RJTUVfQVNTRVJUICgoMSA8PCBHUlVCX05URlNf QkxLX1NIUikgPT0gR1JVQl9ESVNLX1NFQ1RPUl9TSVpFKTsKIApAQCAtMjU3LDcgKzI1OCwxMCBA QCBmaXh1cCAoZ3J1Yl91aW50OF90ICpidWYsIGdydWJfc2l6ZV90IGxlbiwgY29uc3QgZ3J1Yl91 aW50OF90ICptYWdpYykKICAgc3MgPSB1MTZhdCAoYnVmLCA2KSAtIDE7CiAgIGlmIChzcyAhPSBs ZW4pCiAgICAgcmV0dXJuIGdydWJfZXJyb3IgKEdSVUJfRVJSX0JBRF9GUywgInNpemUgbm90IG1h dGNoIik7Ci0gIHB1ID0gYnVmICsgdTE2YXQgKGJ1ZiwgNCk7CisgIHB1X29mZnNldCA9IHUxNmF0 IChidWYsIDQpOworICBpZiAocHVfb2Zmc2V0ID49IChsZW4gKiBHUlVCX0RJU0tfU0VDVE9SX1NJ WkUgLSAoMiAqIHNzKSkpCisgICAgcmV0dXJuIGdydWJfZXJyb3IgKEdSVUJfRVJSX0JBRF9GUywg InB1IG9mZnNldCBzaXplIGluY29ycmVjdCIpOworICBwdSA9IGJ1ZiArIHB1X29mZnNldDsKICAg dXMgPSB1MTZhdCAocHUsIDApOwogICBidWYgLT0gMjsKICAgd2hpbGUgKHNzID4gMCkKQEAgLTMx OSw2ICszMjMsNyBAQCBmaW5kX2F0dHIgKHN0cnVjdCBncnViX250ZnNfYXR0ciAqYXQsIGdydWJf dWludDhfdCBhdHRyKQogICBncnViX3VpbnQ4X3QgKm1mdF9lbmQ7CiAgIGdydWJfdWludDE2X3Qg bnNpemU7CiAgIGdydWJfdWludDE2X3Qgbnh0X29mZnNldDsKKyAgZ3J1Yl91aW50MzJfdCBlZGF0 X29mZnNldDsKIAogICAvKiBHUlVCX05URlNfQUZfQUxTVCBpbmRpY2F0ZXMgdGhlIGF0dHJpYnV0 ZSBsaXN0IHR5cGUgKi8KICAgaWYgKGF0LT5mbGFncyAmIEdSVUJfTlRGU19BRl9BTFNUKQpAQCAt Mzc5LDYgKzM4NCw3IEBAIGZpbmRfYXR0ciAoc3RydWN0IGdydWJfbnRmc19hdHRyICphdCwgZ3J1 Yl91aW50OF90IGF0dHIpCiAKIAkgICAgICBuZXdfcG9zID0gJmF0LT5lbWZ0X2J1ZltmaXJzdF9h dHRyX29mZiAoYXQtPmVtZnRfYnVmKV07CiAJICAgICAgZW5kID0gJmF0LT5lbWZ0X2J1ZltlbWZ0 X2J1Zl9zaXplXTsKKwkgICAgICBhdC0+ZW5kID0gZW5kOwogCiAJICAgICAgd2hpbGUgKG5ld19w b3MgJiYgKm5ld19wb3MgIT0gMHhGRikKIAkJewpAQCAtNDAzLDcgKzQwOSw4IEBAIGZpbmRfYXR0 ciAoc3RydWN0IGdydWJfbnRmc19hdHRyICphdCwgZ3J1Yl91aW50OF90IGF0dHIpCiAgICAgfQog ICBhdC0+YXR0cl9jdXIgPSBhdC0+YXR0cl9ueHQ7CiAgIG1mdF9lbmQgPSBhdC0+bWZ0LT5idWYg KyAoYXQtPm1mdC0+ZGF0YS0+bWZ0X3NpemUgPDwgR1JVQl9OVEZTX0JMS19TSFIpOwotICB3aGls ZSAoYXQtPmF0dHJfY3VyID49IGF0LT5tZnQtPmJ1ZiAmJiBhdC0+YXR0cl9jdXIgPCBtZnRfZW5k ICYmICphdC0+YXR0cl9jdXIgIT0gMHhGRikKKyAgd2hpbGUgKGF0LT5hdHRyX2N1ciA+PSBhdC0+ bWZ0LT5idWYgJiYgYXQtPmF0dHJfY3VyIDwgKG1mdF9lbmQgLSA0KQorICAgICAgICAgJiYgKmF0 LT5hdHRyX2N1ciAhPSAweEZGKQogICAgIHsKICAgICAgIC8qCiAgICAgICAgKiBXZSBjYW4ndCB1 c2UgdmFsaWRhdGVfYXR0cmlidXRlIGhlcmUgYmVjYXVzZSB0aGlzIGxvZ2ljCkBAIC00NTEsMTMg KzQ1OCwyNSBAQCBmaW5kX2F0dHIgKHN0cnVjdCBncnViX250ZnNfYXR0ciAqYXQsIGdydWJfdWlu dDhfdCBhdHRyKQogCSAgICAgIHJldHVybiBOVUxMOwogCSAgICB9CiAJICBhdC0+YXR0cl9ueHQg PSBhdC0+ZWRhdF9idWY7Ci0JICBhdC0+YXR0cl9lbmQgPSBhdC0+ZWRhdF9idWYgKyB1MzJhdCAo cGEsIDB4MzApOworCSAgZWRhdF9vZmZzZXQgPSB1MzJhdCAocGEsIDB4MzApOworCSAgaWYgKGVk YXRfb2Zmc2V0ID49IG4pCisJICAgIHsKKwkgICAgICBncnViX2Vycm9yIChHUlVCX0VSUl9CQURf RlMsICJlZGF0IG9mZnNldCBpcyBvdXQgb2YgYm91bmRzIik7CisJICAgICAgcmV0dXJuIE5VTEw7 CisJICAgIH0KKwkgIGF0LT5hdHRyX2VuZCA9IGF0LT5lZGF0X2J1ZiArIGVkYXRfb2Zmc2V0Owog CSAgcGFfZW5kID0gYXQtPmVkYXRfYnVmICsgbjsKIAl9CiAgICAgICBlbHNlCiAJewogCSAgYXQt PmF0dHJfbnh0ID0gYXQtPmF0dHJfZW5kICsgcmVzX2F0dHJfZGF0YV9vZmYgKHBhKTsKLQkgIGF0 LT5hdHRyX2VuZCA9IGF0LT5hdHRyX2VuZCArIHUzMmF0IChwYSwgNCk7CisJICBlZGF0X29mZnNl dCA9IHUzMmF0IChwYSwgNCk7CisJICBpZiAoKGF0LT5hdHRyX2VuZCArIGVkYXRfb2Zmc2V0KSA+ PSAoYXQtPmVuZCkpCisJICAgIHsKKwkgICAgICBncnViX2Vycm9yIChHUlVCX0VSUl9CQURfRlMs ICJlZGF0IG9mZnNldCBpcyBvdXQgb2YgYm91bmRzIik7CisJICAgICAgcmV0dXJuIE5VTEw7CisJ ICAgIH0KKwkgIGF0LT5hdHRyX2VuZCA9IGF0LT5hdHRyX2VuZCArIGVkYXRfb2Zmc2V0OwogCSAg cGFfZW5kID0gYXQtPm1mdC0+YnVmICsgKGF0LT5tZnQtPmRhdGEtPm1mdF9zaXplIDw8IEdSVUJf TlRGU19CTEtfU0hSKTsKIAl9CiAgICAgICBhdC0+ZmxhZ3MgfD0gR1JVQl9OVEZTX0FGX0FMU1Q7 CkBAIC00ODYsNyArNTA1LDcgQEAgZmluZF9hdHRyIChzdHJ1Y3QgZ3J1Yl9udGZzX2F0dHIgKmF0 LCBncnViX3VpbnQ4X3QgYXR0cikKIAkgICAgYXQtPmF0dHJfbnh0ID0gTlVMTDsKIAl9CiAKLSAg ICAgIGlmIChhdC0+YXR0cl9ueHQgPj0gYXQtPmF0dHJfZW5kIHx8IGF0LT5hdHRyX254dCA9PSBO VUxMKQorICAgICAgaWYgKChhdC0+YXR0cl9ueHQgKyBHUlVCX05URlNfQVRUUklCVVRFX0hFQURF Ul9TSVpFKSA+PSBhdC0+YXR0cl9lbmQgfHwgYXQtPmF0dHJfbnh0ID09IE5VTEwpCiAJcmV0dXJu IE5VTEw7CiAKICAgICAgIGlmICgoYXQtPmZsYWdzICYgR1JVQl9OVEZTX0FGX01NRlQpICYmIChh dHRyID09IEdSVUJfTlRGU19BVF9EQVRBKSkKQEAgLTY1NSw2ICs2NzQsOCBAQCByZWFkX2RhdGEg KHN0cnVjdCBncnViX250ZnNfYXR0ciAqYXQsIGdydWJfdWludDhfdCAqcGEsIGdydWJfdWludDhf dCAqZGVzdCwKIAkgICBncnViX2Rpc2tfcmVhZF9ob29rX3QgcmVhZF9ob29rLCB2b2lkICpyZWFk X2hvb2tfZGF0YSkKIHsKICAgc3RydWN0IGdydWJfbnRmc19ybHN0IGNjLCAqY3R4OworICBncnVi X3VpbnQ4X3QgKmVuZF9wdHIgPSAocGEgKyBsZW4pOworICBncnViX3VpbnQxNl90IHJ1bl9vZmZz ZXQ7CiAKICAgaWYgKGxlbiA9PSAwKQogICAgIHJldHVybiAwOwpAQCAtNjg3LDcgKzcwOCwxMSBA QCByZWFkX2RhdGEgKHN0cnVjdCBncnViX250ZnNfYXR0ciAqYXQsIGdydWJfdWludDhfdCAqcGEs IGdydWJfdWludDhfdCAqZGVzdCwKICAgICAgIHJldHVybiAwOwogICAgIH0KIAotICBjdHgtPmN1 cl9ydW4gPSBwYSArIHUxNmF0IChwYSwgMHgyMCk7CisgIHJ1bl9vZmZzZXQgPSB1MTZhdCAocGEs IDB4MjApOworICBpZiAoKHJ1bl9vZmZzZXQgKyBwYSkgPj0gZW5kX3B0ciB8fCAoKHJ1bl9vZmZz ZXQgKyBwYSkgPj0gKGF0LT5lbmQpKSkKKyAgICAgIHJldHVybiBncnViX2Vycm9yIChHUlVCX0VS Ul9CQURfRlMsICJydW4gb2Zmc2V0IG91dCBvZiByYW5nZSIpOworCisgIGN0eC0+Y3VyX3J1biA9 IHBhICsgcnVuX29mZnNldDsKIAogICBjdHgtPm5leHRfdmNuID0gdTMyYXQgKHBhLCAweDEwKTsK ICAgY3R4LT5jdXJyX2xjbiA9IDA7CkBAIC03NTAsNiArNzc1LDggQEAgcmVhZF9hdHRyIChzdHJ1 Y3QgZ3J1Yl9udGZzX2F0dHIgKmF0LCBncnViX3VpbnQ4X3QgKmRlc3QsIGdydWJfZGlza19hZGRy X3Qgb2ZzLAogICBncnViX3VpbnQ4X3QgKnBwOwogICBncnViX2Vycl90IHJldDsKIAorICBpZiAo YXQgPT0gTlVMTCB8fCBhdC0+YXR0cl9jdXIgPT0gTlVMTCkKKyAgICByZXR1cm4gZ3J1Yl9lcnJv ciAoR1JVQl9FUlJfQkFEX0ZTLCAiYXR0cmlidXRlIG5vdCBmb3VuZCIpOwogICBzYXZlX2N1ciA9 IGF0LT5hdHRyX2N1cjsKICAgYXQtPmF0dHJfbnh0ID0gYXQtPmF0dHJfY3VyOwogICBhdHRyID0g KmF0LT5hdHRyX254dDsKQEAgLTg0Niw4ICs4NzMsMTEgQEAgaW5pdF9maWxlIChzdHJ1Y3QgZ3J1 Yl9udGZzX2ZpbGUgKm1mdCwgZ3J1Yl91aW50NjRfdCBtZnRubykKIHN0YXRpYyB2b2lkCiBmcmVl X2ZpbGUgKHN0cnVjdCBncnViX250ZnNfZmlsZSAqbWZ0KQogewotICBmcmVlX2F0dHIgKCZtZnQt PmF0dHIpOwotICBncnViX2ZyZWUgKG1mdC0+YnVmKTsKKyAgaWYgKG1mdCkKKyAgeworICAgIGZy ZWVfYXR0ciAoJm1mdC0+YXR0cik7CisgICAgZ3J1Yl9mcmVlIChtZnQtPmJ1Zik7CisgIH0KIH0K IAogc3RhdGljIGNoYXIgKgpAQCAtMTA1MSw2ICsxMDgxLDcgQEAgZ3J1Yl9udGZzX2l0ZXJhdGVf ZGlyIChncnViX2ZzaGVscF9ub2RlX3QgZGlyLAogICBpbnQgcmV0ID0gMDsKICAgZ3J1Yl9zaXpl X3QgYml0bWFwX2xlbjsKICAgc3RydWN0IGdydWJfbnRmc19maWxlICptZnQ7CisgIGdydWJfdWlu dDMyX3QgdG1wX2xlbjsKIAogICBtZnQgPSAoc3RydWN0IGdydWJfbnRmc19maWxlICopIGRpcjsK IApAQCAtMTA4Miw2ICsxMTEzLDggQEAgZ3J1Yl9udGZzX2l0ZXJhdGVfZGlyIChncnViX2ZzaGVs cF9ub2RlX3QgZGlyLAogCSAgKHUzMmF0IChjdXJfcG9zLCAweDFDKSAhPSAweDMwMDAzMykpCiAJ Y29udGludWU7CiAgICAgICBjdXJfcG9zICs9IHJlc19hdHRyX2RhdGFfb2ZmIChjdXJfcG9zKTsK KyAgICAgIGlmKGN1cl9wb3MgPj0gYXQtPmVuZCkKKyAgICAgICAgY29udGludWU7CiAgICAgICBp ZiAoKmN1cl9wb3MgIT0gMHgzMCkJLyogTm90IGZpbGVuYW1lIGluZGV4ICovCiAJY29udGludWU7 CiAgICAgICBicmVhazsKQEAgLTExNTEsNyArMTE4NCwxNSBAQCBncnViX250ZnNfaXRlcmF0ZV9k aXIgKGdydWJfZnNoZWxwX25vZGVfdCBkaXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiZmFpbHMgdG8gcmVhZCBub24tcmVzaWRlbnQgJEJJVE1BUCIpOwogICAgICAgICAgICAgICAg ICAgZ290byBkb25lOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgYml0bWFwX2xl biA9IHUzMmF0IChjdXJfcG9zLCAweDMwKTsKKyAgICAgICAgICAgICAgICB0bXBfbGVuID0gdTMy YXQgKGN1cl9wb3MsIDB4MzApOworICAgICAgICAgICAgICAgIGlmICh0bXBfbGVuIDw9IGJpdG1h cF9sZW4pCisgICAgICAgICAgICAgICAgICBiaXRtYXBfbGVuID0gdG1wX2xlbjsKKyAgICAgICAg ICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgZ3J1Yl9l cnJvciAoR1JVQl9FUlJfQkFEX0ZTLAorICAgICAgICAgICAgICAgICAgICAiYml0bWFwIGxlbiB0 b28gbGFyZ2UgZm9yIG5vbi1yZXNpZGVudCAkQklUTUFQIik7CisgICAgICAgICAgICAgICAgICBn b3RvIGRvbmU7CisgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogCiAgICAgICAgICAg Yml0bWFwID0gYm1wOwpAQCAtMTQ5Niw3ICsxNTM3LDcgQEAgZ3J1Yl9udGZzX2xhYmVsIChncnVi X2RldmljZV90IGRldmljZSwgY2hhciAqKmxhYmVsKQogCiAgIHBhID0gZmluZF9hdHRyICgmbWZ0 LT5hdHRyLCBHUlVCX05URlNfQVRfVk9MVU1FX05BTUUpOwogCi0gIGlmIChwYSA+PSBtZnQtPmJ1 ZiArIChtZnQtPmRhdGEtPm1mdF9zaXplIDw8IEdSVUJfTlRGU19CTEtfU0hSKSkKKyAgaWYgKHBh ID09IE5VTEwgfHwgcGEgPj0gbWZ0LT5idWYgKyAobWZ0LT5kYXRhLT5tZnRfc2l6ZSA8PCBHUlVC X05URlNfQkxLX1NIUikpCiAgICAgewogICAgICAgZ3J1Yl9lcnJvciAoR1JVQl9FUlJfQkFEX0ZT LCAiY2FuXCd0IHBhcnNlIHZvbHVtZSBsYWJlbCIpOwogICAgICAgZ290byBmYWlsOwpAQCAtMTUx NCw3ICsxNTU1LDggQEAgZ3J1Yl9udGZzX2xhYmVsIChncnViX2RldmljZV90IGRldmljZSwgY2hh ciAqKmxhYmVsKQogCiAgICAgICBsZW4gPSByZXNfYXR0cl9kYXRhX2xlbiAocGEpIC8gMjsKICAg ICAgIHBhICs9IHJlc19hdHRyX2RhdGFfb2ZmIChwYSk7Ci0gICAgICBpZiAobWZ0LT5idWYgKyAo bWZ0LT5kYXRhLT5tZnRfc2l6ZSA8PCBHUlVCX05URlNfQkxLX1NIUikgLSBwYSA+PSAyICogbGVu KQorICAgICAgaWYgKG1mdC0+YnVmICsgKG1mdC0+ZGF0YS0+bWZ0X3NpemUgPDwgR1JVQl9OVEZT X0JMS19TSFIpIC0gcGEgPj0gMiAqIGxlbiAmJgorICAgICAgICAgIHBhID49IG1mdC0+YnVmICYm IChwYSArIGxlbiA8IChtZnQtPmJ1ZiArIChtZnQtPmRhdGEtPm1mdF9zaXplIDw8IEdSVUJfTlRG U19CTEtfU0hSKSkpKQogICAgICAgICAqbGFiZWwgPSBnZXRfdXRmOCAocGEsIGxlbik7CiAgICAg ICBlbHNlCiAgICAgICAgIGdydWJfZXJyb3IgKEdSVUJfRVJSX0JBRF9GUywgImNhblwndCBwYXJz ZSB2b2x1bWUgbGFiZWwiKTsKLS0gCjIuMzkuNQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkdydWItZGV2ZWwgbWFpbGluZyBsaXN0CkdydWItZGV2ZWxA Z251Lm9yZwpodHRwczovL2xpc3RzLmdudS5vcmcvbWFpbG1hbi9saXN0aW5mby9ncnViLWRldmVs Cg==