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 CE46CCDB474 for ; Wed, 18 Oct 2023 03:04:20 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qswqr-0005tM-5r; Tue, 17 Oct 2023 23:04:06 -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 1qswql-0005Zv-RH for grub-devel@gnu.org; Tue, 17 Oct 2023 23:03:59 -0400 Received: from pinero.vault24.org ([69.164.212.126]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_CHACHA20_POLY1305:256) (Exim 4.90_1) (envelope-from ) id 1qswqg-0001ha-0x for grub-devel@gnu.org; Tue, 17 Oct 2023 23:03:57 -0400 Received: from feynman.vault24.org (unknown [76.20.183.4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by pinero.vault24.org (Postfix) with ESMTPS id E80E06129 for ; Tue, 17 Oct 2023 23:03:52 -0400 (EDT) Received: by feynman.vault24.org (Postfix, from userid 1000) id 3952E302DCA8; Tue, 17 Oct 2023 23:03:52 -0400 (EDT) From: Jon DeVree To: grub-devel@gnu.org Cc: Jon DeVree Subject: [PATCH v4] fs/xfs: Fix XFS directory extent parsing Date: Tue, 17 Oct 2023 23:03:47 -0400 Message-ID: <20231018030347.36174-1-nuxi@vault24.org> X-Mailer: git-send-email 2.42.0 MIME-Version: 1.0 Received-SPF: pass client-ip=69.164.212.126; envelope-from=nuxi@vault24.org; helo=pinero.vault24.org X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_PASS=-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 VGhlIFhGUyBkaXJlY3RvcnkgZW50cnkgcGFyc2luZyBjb2RlIGhhcyBuZXZlciBiZWVuIGNvbXBs ZXRlbHkgY29ycmVjdApmb3IgZXh0ZW50IGJhc2VkIGRpcmVjdG9yaWVzLiBUaGUgcGFyc2VyIGNv cnJlY3RseSBoYW5kbGVzIHRoZSBjYXNlCndoZXJlIHRoZSBkaXJlY3RvcnkgaXMgY29udGFpbmVk IGluIGEgc2luZ2xlIGV4dGVudCwgYnV0IHRoZW4gbWlzdGFrZW5seQphc3N1bWVzIHRoZSBkYXRh IGJsb2NrcyBmb3IgdGhlIG11bHRpcGxlIGV4dGVudCBjYXNlIGFyZSBlYWNoIGlkZW50aWNhbAp0 byB0aGUgc2luZ2xlIGV4dGVudCBjYXNlLiBUaGUgZGlmZmVyZW5jZSBpbiB0aGUgZm9ybWF0IG9m IHRoZSBkYXRhCmJsb2NrcyBiZXR3ZWVuIHRoZSB0d28gY2FzZXMgaXMgdGlueSBlbm91Z2ggdGhh dCBpdHMgZ29uZSB1bm5vdGljZWQgZm9yCmEgdmVyeSBsb25nIHRpbWUuCgpBIHJlY2VudCBjaGFu Z2UgaW50cm9kdWNlZCBzb21lIGFkZGl0aW9uYWwgYm91bmRzIGNoZWNraW5nIGludG8gdGhlIFhG UwpwYXJzZXIuIExpa2UgR1JVQidzIGV4aXN0aW5nIHBhcnNlciwgaXQgaXMgY29ycmVjdCBmb3Ig dGhlIHNpbmdsZSBleHRlbnQKY2FzZSBidXQgaW5jb3JyZWN0IGZvciB0aGUgbXVsdGlwbGUgZXh0 ZW50IGNhc2UuIFdoZW4gcGFyc2luZyBhCmRpcmVjdG9yeSB3aXRoIG11bHRpcGxlIGV4dGVudHMs IHRoaXMgbmV3IGJvdW5kcyBjaGVja2luZyBpcyBzb21ldGltZXMKKGJ1dCBub3QgYWx3YXlzKSB0 cmlwcGVkIGFuZCB0cmlnZ2VycyBhbiAiaW52YWxpZCBYRlMgZGlyZXRvcnkgZW50cnkiCmVycm9y LiBUaGlzIHByb2JhYmx5IHdvdWxkIGhhdmUgY29udGludWVkIHRvIGdvIHVubm90aWNlZCBidXQg dGhlCi9ib290L2dydWIvPGFyY2g+IGRpcmVjdG9yeSBpcyBsYXJnZSBlbm91Z2ggdGhhdCBpdCBv ZnRlbiBoYXMgbXVsdGlwbGUKZXh0ZW50cy4KClRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIHR3 byBjYXNlcyBpcyB0aGF0IHdoZW4gdGhlcmUgYXJlIG11bHRpcGxlCmV4dGVudHMsIHRoZSBkYXRh IGJsb2NrcyBkbyBub3QgY29udGFpbiBhIHRyYWlsZXIgbm9yIGRvIHRoZXkgY29udGFpbgphbnkg bGVhZiBpbmZvcm1hdGlvbi4gVGhhdCBpbmZvcm1hdGlvbiBpcyBzdG9yZWQgaW4gYSBzZXBhcmF0 ZSBzZXQgb2YKZXh0ZW50cyBkZWRpY2F0ZWQgdG8ganVzdCB0aGUgbGVhZiBpbmZvcm1hdGlvbi4g VGhlc2UgZXh0ZW50cyBjb21lIGFmdGVyCnRoZSBkaXJlY3RvcnkgZW50cnkgZXh0ZW50cyBhbmQg YXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgaW5vZGUgc2l6ZS4gU28KdGhlIGV4aXN0aW5nIHBhcnNl ciBhbHJlYWR5IGlnbm9yZXMgdGhlIGxlYWYgZXh0ZW50cy4KClRoZSBvbmx5IHJlYXNvbiB0byBy ZWFkIHRoZSB0cmFpbGVyL2xlYWYgaW5mb3JtYXRpb24gYXQgYWxsIGlzIHNvIHRoYXQKdGhlIHBh cnNlciBjYW4gYXZvaWQgbWlzaW50ZXJwcmV0aW5nIHRoYXQgZGF0YSBhcyBkaXJlY3RvcnkgZW50 cmllcy4gU28KdGhpcyB1cGRhdGVzIHRoZSBwYXJzZXIgYXMgZm9sbG93czoKCkZvciB0aGUgc2lu Z2xlIGV4dGVudCBjYXNlIHRoZSBwYXJzZXIgZG9lc24ndCBjaGFuZ2UgbXVjaDoKMS4gUmVhZCB0 aGUgc2l6ZSBvZiB0aGUgbGVhZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSB0cmFpbGVyCjIuIFNldCB0 aGUgZW5kIHBvaW50ZXIgZm9yIHRoZSBwYXJzZXIgdG8gdGhlIHN0YXJ0IG9mIHRoZSBsZWFmCiAg IGluZm9ybWF0aW9uLiAoVGhlIHByZXZpb3VzIGJvdW5kcyBjaGVja2luZyBzZXQgdGhlIGVuZCBw b2ludGVyIHRvIHRoZQogICBzdGFydCBvZiB0aGUgdHJhaWxlciwgc28gdGhpcyBpcyBhY3R1YWxs eSBhIHNtYWxsIGltcHJvdmVtZW50LikKMy4gU2V0IHRoZSBlbnRyaWVzIHZhcmlhYmxlIHRvIHRo ZSBleHBlY3RlZCBudW1iZXIgb2YgZGlyZWN0b3J5IGVudHJpZXMuCgpGb3IgdGhlIG11bHRpcGxl IGV4dGVudCBjYXNlOgoxLiBTZXQgdGhlIGVuZCBwb2ludGVyIHRvIHRoZSBlbmQgb2YgdGhlIGJs b2NrLgoyLiBEbyBub3Qgc2V0IHVwIHRoZSBlbnRyaWVzIHZhcmlhYmxlLiBGaWd1cmluZyBvdXQg aG93IG1hbnkgZW50cmllcyBhcmUKICAgaW4gZWFjaCBpbmRpdmlkdWFsIGJsb2NrIGlzIGNvbXBs ZXggYW5kIGRvZXMgbm90IHNlZW0gd29ydGggaXQgd2hlbgogICBpdCBhcHBlYXJzIHRvIGJlIHNh ZmUgdG8ganVzdCBpdGVyYXRlIG92ZXIgdGhlIGVudGlyZSBibG9jay4KClRoZSBib3VuZHMgY2hl Y2sgaXRzZWxmIHdhcyBhbHNvIGRlcGVuZGVudCB1cG9uIHRoZSBmYXVsdHkgWEZTIHBhcnNlcgpi ZWNhdXNlIGl0IGFjY2lkZW50YWxseSB1c2VkICJmaWxlbmFtZSArIGxlbmd0aCAtIDEiLiBQcmVz dW1hYmx5IHRoaXMKd2FzIGFibGUgdG8gcGFzcyB0aGUgZnV6emVyIGJlY2F1c2UgaW4gdGhlIG9s ZCBwYXJzZXIgdGhlcmUgd2FzIGFsd2F5cyA4CmJ5dGVzIG9mIHNsYWNrIHNwYWNlIGJldHdlZW4g dGhlIHRhaWwgcG9pbnRlciBhbmQgdGhlIGFjdHVhbCBlbmQgb2YgdGhlCmJsb2NrLiBTaW5jZSB0 aGlzIGlzIG5vIGxvbmdlciB0aGUgY2FzZSB0aGUgYm91bmRzIGNoZWNrIG5lZWRzIHRvIGJlCnVw ZGF0ZWQgdG8gImZpbGVuYW1lICsgbGVuZ3RoICsgMSIgaW4gb3JkZXIgdG8gcHJldmVudCBhIHJl Z3Jlc3Npb25uIGluCnRoZSBoYW5kbGluZyBvZiBjb3JydXB0IGZsaWVzeXN0ZW1zLgoKTm90ZXM6 CiogV2hlbiB0aGVyZSBpcyBvbmx5IG9uZSBleHRlbnQgdGhlcmUgd2lsbCBvbmx5IGV2ZXIgYmUg b25lIGJsb2NrLiBJZgogIG1vcmUgdGhhbiBvbmUgYmxvY2sgaXMgcmVxdWlyZWQgdGhlbiBYRlMg d2lsbCBhbHdheXMgc3dpdGNoIHRvIGhvbGRpbmcKICBsZWFmIGluZm9ybWF0aW9uIGluIGEgc2Vw YXJhdGUgZXh0ZW50LgoqIEItdHJlZSBiYXNlZCBkaXJlY3RvcmllcyBzZWVtcyB0byBiZSBwYXJz ZWQgcHJvcGVybHkgYnkgdGhlIHNhbWUgY29kZQogIHRoYXQgaGFuZGxlcyBtdWx0aXBsZSBleHRl bnRzLiBUaGlzIGlzIHVubGlrZWx5IHRvIGV2ZXIgb2NjdXIgd2l0aGluCiAgL2Jvb3QgdGhvdWdo IGJlY2F1c2UgaXRzIG9ubHkgdXNlZCB3aGVuIHRoZXJlIGFyZSBhbiBleHRyZW1lbHkgbGFyZ2UK ICBudW1iZXIgb2YgZGlyZWN0b3J5IGVudHJpZXMuCgpGaXhlczogZWY3ODUwYzc1IChmcy94ZnM6 IEZpeCBpc3N1ZXMgZm91bmQgd2hpbGUgZnV6emluZyB0aGUgWEZTIGZpbGVzeXN0ZW0pCkZpeGVz OiBiMjQ5OWIyOWMgKEFkZHMgc3VwcG9ydCBmb3IgdGhlIFhGUyBmaWxlc3lzdGVtLikKRml4ZXM6 IGh0dHBzOi8vc2F2YW5uYWguZ251Lm9yZy9idWdzLz82NDM3NgoKU2lnbmVkLW9mZi1ieTogSm9u IERlVnJlZSA8bnV4aUB2YXVsdDI0Lm9yZz4KLS0tCiBncnViLWNvcmUvZnMveGZzLmMgfCA1MSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hh bmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZ3J1 Yi1jb3JlL2ZzL3hmcy5jIGIvZ3J1Yi1jb3JlL2ZzL3hmcy5jCmluZGV4IGI5MWNkMzJiNC4uYWNk ZmIxYTdiIDEwMDY0NAotLS0gYS9ncnViLWNvcmUvZnMveGZzLmMKKysrIGIvZ3J1Yi1jb3JlL2Zz L3hmcy5jCkBAIC0yMjMsNiArMjIzLDEyIEBAIHN0cnVjdCBncnViX3hmc19pbm9kZQogLyogU2l6 ZSBvZiBzdHJ1Y3QgZ3J1Yl94ZnNfaW5vZGUgdjIsIHVwIHRvIHVudXNlZDQgbWVtYmVyIGluY2x1 ZGVkLiAqLwogI2RlZmluZSBYRlNfVjJfSU5PREVfU0laRQkoWEZTX1YzX0lOT0RFX1NJWkUgLSA3 NikKIAorc3RydWN0IGdydWJfeGZzX2Rpcl9sZWFmX2VudHJ5Cit7CisgIGdydWJfdWludDMyX3Qg aGFzaHZhbDsKKyAgZ3J1Yl91aW50MzJfdCBhZGRyZXNzOworfSBHUlVCX1BBQ0tFRDsKKwogc3Ry dWN0IGdydWJfeGZzX2RpcmJsb2NrX3RhaWwKIHsKICAgZ3J1Yl91aW50MzJfdCBsZWFmX2NvdW50 OwpAQCAtODc3LDkgKzg4Myw4IEBAIGdydWJfeGZzX2l0ZXJhdGVfZGlyIChncnViX2ZzaGVscF9u b2RlX3QgZGlyLAogCSAgewogCSAgICBzdHJ1Y3QgZ3J1Yl94ZnNfZGlyMl9lbnRyeSAqZGlyZW50 cnkgPQogCQkJCQlncnViX3hmc19maXJzdF9kZShkaXItPmRhdGEsIGRpcmJsb2NrKTsKLQkgICAg aW50IGVudHJpZXM7Ci0JICAgIHN0cnVjdCBncnViX3hmc19kaXJibG9ja190YWlsICp0YWlsID0K LQkJCQkJZ3J1Yl94ZnNfZGlyX3RhaWwoZGlyLT5kYXRhLCBkaXJibG9jayk7CisJICAgIGludCBl bnRyaWVzID0gLTE7CisJICAgIGNoYXIgKmVuZCA9IGRpcmJsb2NrICsgZGlyYmxrX3NpemU7CiAK IAkgICAgbnVtcmVhZCA9IGdydWJfeGZzX3JlYWRfZmlsZSAoZGlyLCAwLCAwLAogCQkJCQkgIGJs ayA8PCBkaXJibGtfbG9nMiwKQEAgLTg5MCwxNCArODk1LDI3IEBAIGdydWJfeGZzX2l0ZXJhdGVf ZGlyIChncnViX2ZzaGVscF9ub2RlX3QgZGlyLAogCSAgICAgICAgcmV0dXJuIDA7CiAJICAgICAg fQogCi0JICAgIGVudHJpZXMgPSAoZ3J1Yl9iZV90b19jcHUzMiAodGFpbC0+bGVhZl9jb3VudCkK LQkJICAgICAgIC0gZ3J1Yl9iZV90b19jcHUzMiAodGFpbC0+bGVhZl9zdGFsZSkpOworCSAgICAv KiBsZWFmIGFuZCB0YWlsIGluZm9ybWF0aW9uIGFyZSBvbmx5IGluIHRoZSBkYXRhIGJsb2NrIGlm IHRoZSBudW1iZXIKKwkgICAgICogb2YgZXh0ZW50cyBpcyAxICovCisJICAgIGlmIChkaXItPmlu b2RlLm5leHRlbnRzID09IGdydWJfY3B1X3RvX2JlMzJfY29tcGlsZV90aW1lICgxKSkKKwkgICAg ICB7CisJCXN0cnVjdCBncnViX3hmc19kaXJibG9ja190YWlsICp0YWlsID0KKwkJICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGdydWJfeGZzX2Rpcl90YWlsKGRpci0+ZGF0YSwgZGlyYmxv Y2spOworCQllbmQgPSAoY2hhciAqKXRhaWw7CiAKLQkgICAgaWYgKCFlbnRyaWVzKQotCSAgICAg IGNvbnRpbnVlOworCQkvKiBzdWJ0cmFjdCB0aGUgc3BhY2UgdXNlZCBieSBsZWFmIG5vZGVzICov CisJCWVuZCAtPSBncnViX2JlX3RvX2NwdTMyICh0YWlsLT5sZWFmX2NvdW50KSAqCisJCSAgICAg ICBzaXplb2YgKHN0cnVjdCBncnViX3hmc19kaXJfbGVhZl9lbnRyeSk7CisKKwkJZW50cmllcyA9 IChncnViX2JlX3RvX2NwdTMyICh0YWlsLT5sZWFmX2NvdW50KQorCQkgICAgICAgICAgIC0gZ3J1 Yl9iZV90b19jcHUzMiAodGFpbC0+bGVhZl9zdGFsZSkpOworCisJCWlmICghZW50cmllcykKKwkJ ICBjb250aW51ZTsKKwkgICAgICB9CiAKIAkgICAgLyogSXRlcmF0ZSBvdmVyIGFsbCBlbnRyaWVz IHdpdGhpbiB0aGlzIGJsb2NrLiAgKi8KLQkgICAgd2hpbGUgKChjaGFyICopZGlyZW50cnkgPCAo Y2hhciAqKXRhaWwpCisJICAgIHdoaWxlICgoY2hhciAqKWRpcmVudHJ5IDwgKGNoYXIgKillbmQp CiAJICAgICAgewogCQlncnViX3VpbnQ4X3QgKmZyZWV0YWc7CiAJCWNoYXIgKmZpbGVuYW1lOwpA QCAtOTE3LDcgKzkzNSw3IEBAIGdydWJfeGZzX2l0ZXJhdGVfZGlyIChncnViX2ZzaGVscF9ub2Rl X3QgZGlyLAogCQkgIH0KIAogCQlmaWxlbmFtZSA9IChjaGFyICopKGRpcmVudHJ5ICsgMSk7Ci0J CWlmIChmaWxlbmFtZSArIGRpcmVudHJ5LT5sZW4gLSAxID4gKGNoYXIgKikgdGFpbCkKKwkJaWYg KGZpbGVuYW1lICsgZGlyZW50cnktPmxlbiArIDEgPiAoY2hhciAqKSBlbmQpCiAJCSAgcmV0dXJu IGdydWJfZXJyb3IgKEdSVUJfRVJSX0JBRF9GUywgImludmFsaWQgWEZTIGRpcmVjdG9yeSBlbnRy eSIpOwogCiAJCS8qIFRoZSBieXRlIGFmdGVyIHRoZSBmaWxlbmFtZSBpcyBmb3IgdGhlIGZpbGV0 eXBlLCBwYWRkaW5nLCBvcgpAQCAtOTMxLDExICs5NDksMTYgQEAgZ3J1Yl94ZnNfaXRlcmF0ZV9k aXIgKGdydWJfZnNoZWxwX25vZGVfdCBkaXIsCiAJCSAgICByZXR1cm4gMTsKIAkJICB9CiAKLQkJ LyogQ2hlY2sgaWYgbGFzdCBkaXJlbnRyeSBpbiB0aGlzIGJsb2NrIGlzCi0JCSAgIHJlYWNoZWQu ICAqLwotCQllbnRyaWVzLS07Ci0JCWlmICghZW50cmllcykKLQkJICBicmVhazsKKwkJLyogdGhl IGV4cGVjdGVkIG51bWJlciBvZiBkaXJlY3RvcnkgZW50cmllcyBpcyBvbmx5IHRyYWNrZWQgZm9y IHRoZQorCQkgKiBzaW5nbGUgZXh0ZW50IGNhc2UgKi8KKwkJaWYgKGRpci0+aW5vZGUubmV4dGVu dHMgPT0gZ3J1Yl9jcHVfdG9fYmUzMl9jb21waWxlX3RpbWUgKDEpKQorCQkgIHsKKwkJICAgIC8q IENoZWNrIGlmIGxhc3QgZGlyZW50cnkgaW4gdGhpcyBibG9jayBpcworCQkgICAgICAgcmVhY2hl ZC4gICovCisJCSAgICBlbnRyaWVzLS07CisJCSAgICBpZiAoIWVudHJpZXMpCisJCSAgICAgIGJy ZWFrOworCQkgIH0KIAogCQkvKiBTZWxlY3QgdGhlIG5leHQgZGlyZWN0b3J5IGVudHJ5LiAgKi8K IAkJZGlyZW50cnkgPSBncnViX3hmc19uZXh0X2RlKGRpci0+ZGF0YSwgZGlyZW50cnkpOwotLSAK Mi40Mi4wCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K R3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlzdHMu Z251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK