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 2B586C54756 for ; Thu, 22 May 2025 03:21:25 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1uHwUM-00019k-9z; Wed, 21 May 2025 23:20:58 -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 1uHwUK-00017Y-SR for grub-devel@gnu.org; Wed, 21 May 2025 23:20:56 -0400 Received: from mail-io1-xd31.google.com ([2607:f8b0:4864:20::d31]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1uHwUI-00015L-LQ for grub-devel@gnu.org; Wed, 21 May 2025 23:20:56 -0400 Received: by mail-io1-xd31.google.com with SMTP id ca18e2360f4ac-8644aa73dfcso237862339f.0 for ; Wed, 21 May 2025 20:20:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747884052; x=1748488852; 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=fwU5zkEl6Bhddr3m4zYMxqfNv+CmxkjnZHkwmDMaadM=; b=EErENjKWm90gAb5EqGxSvabvNDxflSm6s69Xas53l3ru0dHojLa8WD4y/5h22HZzQf yDKj57pJT9oxbp0dO516+Am8cklQk/eImicqyY+DTGMi6IV96D0haqSgKZCZFfL/Na0B uLnbE82O3zNX7IPZmklDNCZjXYOFty1FBDBFxe75DwAUMZDSxMuKCwPXUG38aI4cp2WY T8+O8wsZjoXxPEsfIbbq91a8P8mc/azC/7Lrtc0r4TXd08WlFNdJgIGjcwAOBUcVR9Pb ub3NPgjaragaFKAMe4eOOxOEDuFrjafH6yC25ltStbyy59hGBs/S0aObK40KZvB9HDiR /M+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747884052; x=1748488852; 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=fwU5zkEl6Bhddr3m4zYMxqfNv+CmxkjnZHkwmDMaadM=; b=AUohhG094JL0RvzPA/+OfnyroTtXQ0sWlIQb2uveMV/la2A4RoWmFEE37/+wdHE8BM r3UbKvnqj+hX2eHLYsZ+tajV4PhPhrnPdLwYiwqncJfEL+RU8KSC4tpB2tlgvPgogEFV BCS/ZUj9UFQ0Lyg+KLgSj5P9ZJy6QaTxR6pM2dz7k/Cts7edPjvAli6g3//u67UYhHTF kW9ARrpcQ+91aHTzOcv+b1UdBe801JnAi0CjZS6FxjgHcPZ0yaeQwj6fbY9Ry+QlixLL IYwcRJKyJuvt69VxI9VsvMddOa/dlcHjM0IVu2IyPfmTs4txqrOfAPHvxUgBL78Q1Dfp AN7g== X-Gm-Message-State: AOJu0YyehBs/ahjvd5GBBnhb4Y2hZVnJB7oY1F1VdpEiH9joZOU14Ne8 LkY1FBNeZ2igGPSsDlmVQpAeG0MEs/lXbI0mMVtZrD2HFcUxn9qLiNP6M1te5ErU X-Gm-Gg: ASbGnctrrg0AuVjFLX9j68NU3U/9vyj/n400de1YQh0ZbNt0dQgpIUVm49YLTJrXyHn SmqKwCMqB6kU5uLTviRJe0hdjHAWoumyBltmfYxNTF+MbmjyDSeEvPaNovn57SGTxUNQ6TFHnXd q/N5oe5yPlZqiJeVq57SGtxrtlWObdrnjxaJg+pKB982OXTI+ZP/vxeSEHKSx+wHNM01eR0npk8 vA0NKLNovE0TydKCiln0E7CqIyfEBhuiTcLtbz9WwKXywrXGmgww0TQIRHSDrxzPQarTNd5sX4b yETmNactviQs3bndg8cERCX8FRJ8P9OMkVgv31sLiVdZ6pr6LRDHYx9YeXexCHT7ycjNOAj8F9b 1olkViF77swRHZtOia/mEq0wpmRZJwpEk2LPTJLYthTGPWpliI2Y= X-Google-Smtp-Source: AGHT+IG9d8QehrXUF01W4aeFnOjNxD6hJgVQRB+nqdn9hEQ+3wnyZmYY9w+NakWh7oh1GapHB3vUNw== X-Received: by 2002:a05:6e02:156d:b0:3dc:79e5:e6b7 with SMTP id e9e14a558f8ab-3dc79e5e943mr109078185ab.20.1747884051297; Wed, 21 May 2025 20:20:51 -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.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 May 2025 20:20:50 -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 2/5] fs/ntfs: Correct attribute vs attribute list validation Date: Wed, 21 May 2025 22:20:38 -0500 Message-Id: <20250522032041.32043-3-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::d31; envelope-from=adhamilt@gmail.com; helo=mail-io1-xd31.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 Q29ycmVjdCBudGZzX3Rlc3QgdGVzdCBmYWlsdXJlcyBhcm91bmQgYXR0ZW1wdGluZyB0byB2YWxp ZGF0ZSBhdHRyaWJ1dGUKbGlzdCBlbnRyaWVzIGFzIGF0dHJpYnV0ZXMuIFRoZSBOVEZTIGNvZGUg dXNlcyBjb21tb24gbG9naWMgaW4gc29tZQpwbGFjZXMgdG8gcGFyc2UgYm90aCBhdHRyaWJ1dGVz IGFuZCBhdHRyaWJ1dGVfbGlzdHMgd2hpY2ggY29tcGxpY2F0ZXMKdmFsaWRhdGlvbi4gQXR0cmli dXRlIGxpc3RzIGNvbnRhaW4gZGlmZmVyZW50IGhlYWRlcnMgaW5jbHVkaW5nIGEKZGlmZmVyZW50 IHNpemUgb2YgdGhlIGxlbmd0aCBmaWVsZCAoMiBieXRlcykgYXQgb2Zmc2V0IDQgaW5zdGVhZCBv ZiB0aGUKNCBieXRlIGxlbmd0aCBmaWVsZCB1c2VkIGluIGF0dHJpYnV0ZXMgYXQgb2Zmc2V0IDQu IFRoZXJlIGFyZSBvdGhlcgpkaWZmZXJlbmNlcyBhcyB3ZWxsLCBidXQgYXR0ZW1wdGluZyB0byB2 YWxpZGF0ZSBhdHRyaWJ1dGUgbGlzdCB0eXBlcwp1c2luZyBhdHRyaWJ1dGUgaGVhZGVyIHZhbGlk YXRpb24gd2FzIGNhdXNpbmcgZmFpbHVyZSBvZiB0aGUgTlRGUyB0ZXN0CnN1aXRlLiBUaGlzIGNo YW5nZSByZXN0b3JlcyBzb21lIG9mIHRoZSB2YWxpZGF0aW9uIGxvZ2ljIHdoaWNoIG1heSBiZQpz aGFyZWQgYmV0d2VlbiBhdHRyaWJ1dGVzIGFuZCBhdHRyaWJ1dGUgbGlzdHMgdG8gYmUgY2xvc2Vy IHRvIHRoZQpvcmlnaW5hbCBsb2dpYyBwcmlvciB0byBmaXhlcyBmb3IgcHJldmlvdXMgQ1ZFcy4g QSBmb2xsb3dpbmcgY29tbWl0IHdpbGwKYWRkcmVzcyBzb21lIG9mIHRoZSBpbXBsaWNhdGlvbnMg b2YgcmVtb3ZpbmcgdGhpcyB2YWxpZGF0aW9uIGxvZ2ljIGJ5CmNvcnJlY3Rpbmcgc29tZSBmdXp6 ZXIgZmFpbHVyZXMgKHNvbWUgd2hpY2ggYXJlIGV4cG9zZWQgYnkgcmVtb3ZpbmcgdGhlCnZhbGlk YXRpb24gaW4gc29tZSBvZiB0aGUgY2FzZXMpLgoKRml4ZXM6IDA2N2I2ZDIyNSAoZnMvbnRmczog SW1wbGVtZW50IGF0dHJpYnV0ZSB2ZXJpZmljYXRpb24pCgpTaWduZWQtb2ZmLWJ5OiBBbmRyZXcg SGFtaWx0b24gPGFkaGFtaWx0QGdtYWlsLmNvbT4KLS0tCiBncnViLWNvcmUvZnMvbnRmcy5jIHwg NTkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUg Y2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv Z3J1Yi1jb3JlL2ZzL250ZnMuYyBiL2dydWItY29yZS9mcy9udGZzLmMKaW5kZXggMjdkOWJiMTFj Li4xMDAwYThjNGUgMTAwNjQ0Ci0tLSBhL2dydWItY29yZS9mcy9udGZzLmMKKysrIGIvZ3J1Yi1j b3JlL2ZzL250ZnMuYwpAQCAtMjIxLDcgKzIyMSw3IEBAIHZhbGlkYXRlX2F0dHJpYnV0ZSAoZ3J1 Yl91aW50OF90ICphdHRyLCB2b2lkICplbmQpCiAKIC8qIFJldHVybiB0aGUgbmV4dCBhdHRyaWJ1 dGUgaWYgaXQgZXhpc3RzLCBvdGhlcndpc2UgcmV0dXJuIE5VTEwuICovCiBzdGF0aWMgZ3J1Yl91 aW50OF90ICoKLW5leHRfYXR0cmlidXRlIChncnViX3VpbnQ4X3QgKmN1cnJfYXR0cmlidXRlLCB2 b2lkICplbmQpCituZXh0X2F0dHJpYnV0ZSAoZ3J1Yl91aW50OF90ICpjdXJyX2F0dHJpYnV0ZSwg dm9pZCAqZW5kLCBib29sIHZhbGlkYXRlKQogewogICBncnViX3VpbnQ4X3QgKm5leHQgPSBjdXJy X2F0dHJpYnV0ZTsKIApAQCAtMjMzLDcgKzIzMyw3IEBAIG5leHRfYXR0cmlidXRlIChncnViX3Vp bnQ4X3QgKmN1cnJfYXR0cmlidXRlLCB2b2lkICplbmQpCiAgICAgcmV0dXJuIE5VTEw7CiAKICAg bmV4dCArPSB1MTZhdCAoY3Vycl9hdHRyaWJ1dGUsIDQpOwotICBpZiAodmFsaWRhdGVfYXR0cmli dXRlIChuZXh0LCBlbmQpID09IGZhbHNlKQorICBpZiAodmFsaWRhdGUgJiYgdmFsaWRhdGVfYXR0 cmlidXRlIChuZXh0LCBlbmQpID09IGZhbHNlKQogICAgIHJldHVybiBOVUxMOwogCiAgIHJldHVy biBuZXh0OwpAQCAtMzE3LDE0ICszMTcsMjEgQEAgc3RhdGljIGdydWJfdWludDhfdCAqCiBmaW5k X2F0dHIgKHN0cnVjdCBncnViX250ZnNfYXR0ciAqYXQsIGdydWJfdWludDhfdCBhdHRyKQogewog ICBncnViX3VpbnQ4X3QgKm1mdF9lbmQ7CisgIGdydWJfdWludDE2X3QgbnNpemU7CisgIGdydWJf dWludDE2X3Qgbnh0X29mZnNldDsKIAorICAvKiBHUlVCX05URlNfQUZfQUxTVCBpbmRpY2F0ZXMg dGhlIGF0dHJpYnV0ZSBsaXN0IHR5cGUgKi8KICAgaWYgKGF0LT5mbGFncyAmIEdSVUJfTlRGU19B Rl9BTFNUKQogICAgIHsKICAgICByZXRyeToKICAgICAgIHdoaWxlIChhdC0+YXR0cl9ueHQpCiAJ ewogCSAgYXQtPmF0dHJfY3VyID0gYXQtPmF0dHJfbnh0OwotCSAgYXQtPmF0dHJfbnh0ID0gbmV4 dF9hdHRyaWJ1dGUgKGF0LT5hdHRyX2N1ciwgYXQtPmF0dHJfZW5kKTsKKwkgIC8qCisJICAgKiBH byB0byB0aGUgbmV4dCBhdHRyaWJ1dGUgaW4gdGhlIGxpc3QgYnV0IGRvIG5vdCB2YWxpZGF0ZQor CSAgICogYmVjYXVzZSB0aGlzIGlzIHRoZSBhdHRyaWJ1dGUgbGlzdCB0eXBlLgorCSAgICovCisJ ICBhdC0+YXR0cl9ueHQgPSBuZXh0X2F0dHJpYnV0ZSAoYXQtPmF0dHJfY3VyLCBhdC0+YXR0cl9l bmQsIGZhbHNlKTsKIAkgIGlmICgoKmF0LT5hdHRyX2N1ciA9PSBhdHRyKSB8fCAoYXR0ciA9PSAw KSkKIAkgICAgewogCSAgICAgIGdydWJfdWludDhfdCAqbmV3X3BvcywgKmVuZDsKQEAgLTM4MCw3 ICszODcsMTEgQEAgZmluZF9hdHRyIChzdHJ1Y3QgZ3J1Yl9udGZzX2F0dHIgKmF0LCBncnViX3Vp bnQ4X3QgYXR0cikKIAkJICAgIHsKIAkJICAgICAgcmV0dXJuIG5ld19wb3M7CiAJCSAgICB9Ci0J CSAgbmV3X3BvcyA9IG5leHRfYXR0cmlidXRlIChuZXdfcG9zLCBlbmQpOworCQkgICAgLyoKKwkJ ICAgICAqIEdvIHRvIHRoZSBuZXh0IGF0dHJpYnV0ZSBpbiB0aGUgbGlzdCBidXQgZG8gbm90IHZh bGlkYXRlCisJCSAgICAgKiBiZWNhdXNlIHRoaXMgaXMgdGhlIGF0dHJpYnV0ZSBsaXN0IHR5cGUu CisJCSAgICAgKi8KKwkJICAgIG5ld19wb3MgPSBuZXh0X2F0dHJpYnV0ZSAobmV3X3BvcywgZW5k LCBmYWxzZSk7CiAJCX0KIAkgICAgICBncnViX2Vycm9yIChHUlVCX0VSUl9CQURfRlMsCiAJCQkg ICJjYW5cJ3QgZmluZCAweCVYIGluIGF0dHJpYnV0ZSBsaXN0IiwKQEAgLTM5NCw3ICs0MDUsMjAg QEAgZmluZF9hdHRyIChzdHJ1Y3QgZ3J1Yl9udGZzX2F0dHIgKmF0LCBncnViX3VpbnQ4X3QgYXR0 cikKICAgbWZ0X2VuZCA9IGF0LT5tZnQtPmJ1ZiArIChhdC0+bWZ0LT5kYXRhLT5tZnRfc2l6ZSA8 PCBHUlVCX05URlNfQkxLX1NIUik7CiAgIHdoaWxlIChhdC0+YXR0cl9jdXIgPj0gYXQtPm1mdC0+ YnVmICYmIGF0LT5hdHRyX2N1ciA8IG1mdF9lbmQgJiYgKmF0LT5hdHRyX2N1ciAhPSAweEZGKQog ICAgIHsKLSAgICAgIGF0LT5hdHRyX254dCA9IG5leHRfYXR0cmlidXRlIChhdC0+YXR0cl9jdXIs IGF0LT5lbmQpOworICAgICAgLyoKKyAgICAgICAqIFdlIGNhbid0IHVzZSB2YWxpZGF0ZV9hdHRy aWJ1dGUgaGVyZSBiZWNhdXNlIHRoaXMgbG9naWMKKyAgICAgICAqIHNlZW1zIHRvIGJlIHVzZWQg Zm9yIGJvdGggcGFyc2luZyB0aHJvdWdoIGF0dHJpYnV0ZXMKKyAgICAgICAqIGFuZCBhdHRyaWJ1 dGUgbGlzdHMuCisgICAgICAgKi8KKyAgICAgIG5zaXplID0gdTE2YXQgKGF0LT5hdHRyX2N1ciwg NCk7CisgICAgICBpZiAoYXQtPmF0dHJfY3VyICsgZ3J1Yl9tYXggKEdSVUJfTlRGU19BVFRSSUJV VEVfSEVBREVSX1NJWkUsIG5zaXplKSA+PSBhdC0+ZW5kKQorICAgICAgeworICAgICAgICBhdC0+ YXR0cl9ueHQgPSBhdC0+YXR0cl9jdXI7CisgICAgICAgIGJyZWFrOworICAgICAgfQorICAgICAg ZWxzZQorICAgICAgICBhdC0+YXR0cl9ueHQgPSBhdC0+YXR0cl9jdXIgKyBuc2l6ZTsKKwogICAg ICAgaWYgKCphdC0+YXR0cl9jdXIgPT0gR1JVQl9OVEZTX0FUX0FUVFJJQlVURV9MSVNUKQogCWF0 LT5hdHRyX2VuZCA9IGF0LT5hdHRyX2N1cjsKICAgICAgIGlmICgoKmF0LT5hdHRyX2N1ciA9PSBh dHRyKSB8fCAoYXR0ciA9PSAwKSkKQEAgLTQ0MSwxNCArNDY1LDI1IEBAIGZpbmRfYXR0ciAoc3Ry dWN0IGdydWJfbnRmc19hdHRyICphdCwgZ3J1Yl91aW50OF90IGF0dHIpCiAgICAgICAvKiBGcm9t IHRoaXMgcG9pbnQgb24gcGFfZW5kIGlzIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlciAqLwogICAgICAg YXQtPmVuZCA9IHBhX2VuZDsKIAotICAgICAgaWYgKHZhbGlkYXRlX2F0dHJpYnV0ZSAoYXQtPmF0 dHJfbnh0LCBwYV9lbmQpID09IGZhbHNlKQotCXJldHVybiBOVUxMOworICAgICAgaWYgKGF0LT5h dHRyX2VuZCA+PSBwYV9lbmQgfHwgYXQtPmF0dHJfbnh0ID49IHBhX2VuZCkKKyAgICAgICAgcmV0 dXJuIE5VTEw7CiAKICAgICAgIHdoaWxlIChhdC0+YXR0cl9ueHQpCiAJewogCSAgaWYgKCgqYXQt PmF0dHJfbnh0ID09IGF0dHIpIHx8IChhdHRyID09IDApKQogCSAgICBicmVhazsKLQkgIGF0LT5h dHRyX254dCA9IG5leHRfYXR0cmlidXRlIChhdC0+YXR0cl9ueHQsIHBhX2VuZCk7CisKKwkgIG54 dF9vZmZzZXQgPSB1MTZhdCAoYXQtPmF0dHJfbnh0LCA0KTsKKwkgIGF0LT5hdHRyX254dCArPSBu eHRfb2Zmc2V0OworCisJICAvKgorCSAgICogU3RvcCBhbmQgc2V0IGF0dHJfbnh0IHRvIE5VTEwg d2hlbiBlaXRoZXIgdGhlIG5leHQgb2Zmc2V0IGlzIHplcm8sCisJICAgKiBvciB3aGVuIHRoZSBw b2ludGVyIGlzIHdpdGhpbiBmb3VyIGJ5dGVzIG9mIHRoZSBlbmQgb2YgdGhlIGJ1ZmZlcgorCSAg ICogc2luY2Ugd2UgY291bGQgYXR0ZW1wdCB0byBhY2Nlc3MgYXR0cl9ueHQgKyA0IGJ5dGVzIG9m ZnNldCBhYm92ZSB0bworCSAgICogZ2V0IHRoZSBuZXh0IDE2LWJpdCAnbnh0X29mZnNldCcgdmFs dWUuCisJICAgKi8KKwkgIGlmIChueHRfb2Zmc2V0ID09IDAgfHwgYXQtPmF0dHJfbnh0ID49IChw YV9lbmQgLSA0KSkKKwkgICAgYXQtPmF0dHJfbnh0ID0gTlVMTDsKIAl9CiAKICAgICAgIGlmIChh dC0+YXR0cl9ueHQgPj0gYXQtPmF0dHJfZW5kIHx8IGF0LT5hdHRyX254dCA9PSBOVUxMKQpAQCAt NDczLDcgKzUwOCw3IEBAIGZpbmRfYXR0ciAoc3RydWN0IGdydWJfbnRmc19hdHRyICphdCwgZ3J1 Yl91aW50OF90IGF0dHIpCiAJCQkJCQkgICsgMSkpOwogCSAgcGEgPSBhdC0+YXR0cl9ueHQgKyB1 MTZhdCAocGEsIDQpOwogCi0JICBpZiAodmFsaWRhdGVfYXR0cmlidXRlIChwYSwgcGFfZW5kKSA9 PSB0cnVlKQorCSAgaWYgKHBhID49IHBhX2VuZCkKIAkgICAgcGEgPSBOVUxMOwogCiAJICB3aGls ZSAocGEpCkBAIC00OTIsNyArNTI3LDkgQEAgZmluZF9hdHRyIChzdHJ1Y3QgZ3J1Yl9udGZzX2F0 dHIgKmF0LCBncnViX3VpbnQ4X3QgYXR0cikKIAkJICAgdTMyYXQgKHBhLCAweDEwKSAqIChhdC0+ bWZ0LT5kYXRhLT5tZnRfc2l6ZSA8PCBHUlVCX05URlNfQkxLX1NIUiksCiAJCSAgIGF0LT5tZnQt PmRhdGEtPm1mdF9zaXplIDw8IEdSVUJfTlRGU19CTEtfU0hSLCAwLCAwLCAwKSkKIAkJcmV0dXJu IE5VTEw7Ci0JICAgICAgcGEgPSBuZXh0X2F0dHJpYnV0ZSAocGEsIHBhX2VuZCk7CisJICAgICAg cGEgKz0gdTE2YXQgKHBhLCA0KTsKKwkgICAgICBpZiAocGEgPj0gcGFfZW5kKQorCSAgICAgICAg cGEgPSBOVUxMOwogCSAgICB9CiAJICBhdC0+YXR0cl9ueHQgPSBhdC0+YXR0cl9jdXI7CiAJICBh dC0+ZmxhZ3MgJj0gfkdSVUJfTlRGU19BRl9HUE9TOwpAQCAtNzM5LDcgKzc3Niw3IEBAIHJlYWRf YXR0ciAoc3RydWN0IGdydWJfbnRmc19hdHRyICphdCwgZ3J1Yl91aW50OF90ICpkZXN0LCBncnVi X2Rpc2tfYWRkcl90IG9mcywKIAkgIGlmICh1MzJhdCAocGEsIDgpID4gdmNuKQogCSAgICBicmVh azsKIAkgIGF0LT5hdHRyX254dCA9IHBhOwotCSAgcGEgPSBuZXh0X2F0dHJpYnV0ZSAocGEsIGF0 LT5hdHRyX2VuZCk7CisJICBwYSA9IG5leHRfYXR0cmlidXRlIChwYSwgYXQtPmF0dHJfZW5kLCB0 cnVlKTsKIAl9CiAgICAgfQogICBwcCA9IGZpbmRfYXR0ciAoYXQsIGF0dHIpOwotLSAKMi4zOS41 CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KR3J1Yi1k ZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlzdHMuZ251Lm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK