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 5C35EC4345F for ; Sun, 28 Apr 2024 00:49:13 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s0sij-0003ON-Iw; Sat, 27 Apr 2024 20:48:45 -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 1s0sib-0003NS-4O for grub-devel@gnu.org; Sat, 27 Apr 2024 20:48:37 -0400 Received: from c.mail.sonic.net ([64.142.111.80]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s0siY-0005pP-RJ for grub-devel@gnu.org; Sat, 27 Apr 2024 20:48:36 -0400 Received: from 192-184-191-19.static.sonic.net (192-184-191-19.static.sonic.net [192.184.191.19]) (authenticated bits=0) by c.mail.sonic.net (8.16.1/8.16.1) with ESMTPA id 43S0mVk8027873; Sat, 27 Apr 2024 17:48:31 -0700 From: Forest To: grub-devel@gnu.org Cc: Glenn Washburn , Daniel Kiper Subject: [PATCH v4] cryptodisk: allow user to retry failed passphrase Date: Sat, 27 Apr 2024 17:48:31 -0700 Message-ID: MIME-Version: 1.0 X-Sonic-CAuth: UmFuZG9tSVbUKXvkqEFZbCzKEHuaBgYPVz8vkKwiVV4TtGklqw9Xvx5Rz7Y00qz9PHkswSaN4xgrB4w6nAIVRJLZHWZsBnab X-Sonic-ID: C;SILKCPkE7xG7BoQfwL7DjQ== M;7vrTCPkE7xG7BoQfwL7DjQ== X-Sonic-Spam-Details: 0.0/5.0 by cerberusd Received-SPF: pass client-ip=64.142.111.80; envelope-from=forestix@nom.one; helo=c.mail.sonic.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, 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 R2l2ZSB0aGUgdXNlciBhIGNoYW5jZSB0byByZS1lbnRlciB0aGVpciBjcnlwdG9kaXNrIHBhc3Nw aHJhc2UgYWZ0ZXIgYSB0eXBvLApyYXRoZXIgdGhhbiBpbW1lZGlhdGVseSBmYWlsaW5nIChhbmQg bGlrZWx5IGR1bXBpbmcgdGhlbSBpbnRvIGEgZ3J1YiBzaGVsbCkuCgpCeSBkZWZhdWx0LCB3ZSBh bGxvdyAzIHRyaWVzIGJlZm9yZSBnaXZpbmcgdXAuIEEgdmFsdWUgaW4gdGhlCmNyeXB0b2Rpc2tf cGFzc3BocmFzZV90cmllcyBlbnZpcm9ubWVudCB2YXJpYWJsZSB3aWxsIG92ZXJyaWRlIHRoaXMg ZGVmYXVsdC4KClRoZSB1c2VyIGNhbiBnaXZlIHVwIGVhcmx5IGJ5IGVudGVyaW5nIGFuIGVtcHR5 IHBhc3NwaHJhc2UsIGp1c3QgYXMgdGhleQpjb3VsZCBiZWZvcmUgdGhpcyBwYXRjaC4KClNpZ25l ZC1vZmYtYnk6IEZvcmVzdCA8Zm9yZXN0aXhAbm9tLm9uZT4KLS0tCk5vdGU6IFRoaXMgaXMgaWRl bnRpY2FsIHRvIHRoZSB2MyBwYXRjaC4gVGhlIGNoYW5nZSBJIGhhZCBpbiBtaW5kIHByb3ZlZCB1 bnZpYWJsZS4KCiBkb2NzL2dydWIudGV4aSAgICAgICAgICAgICAgfCAgOSArKysrKwogZ3J1Yi1j b3JlL2Rpc2svY3J5cHRvZGlzay5jIHwgNzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kb2NzL2dydWIudGV4aSBiL2RvY3MvZ3J1Yi50ZXhpCmluZGV4IGEy MjVmOWE4OC4uNmFjNjAzYTMyIDEwMDY0NAotLS0gYS9kb2NzL2dydWIudGV4aQorKysgYi9kb2Nz L2dydWIudGV4aQpAQCAtMzI3Nyw2ICszMjc3LDcgQEAgVGhlc2UgdmFyaWFibGVzIGhhdmUgc3Bl Y2lhbCBtZWFuaW5nIHRvIEdSVUIuCiAqIGNvbG9yX25vcm1hbDo6CiAqIGNvbmZpZ19kaXJlY3Rv cnk6OgogKiBjb25maWdfZmlsZTo6CisqIGNyeXB0b2Rpc2tfcGFzc3BocmFzZV90cmllczo6CiAq IGRlYnVnOjoKICogZGVmYXVsdDo6CiAqIGZhbGxiYWNrOjoKQEAgLTM0NDEsNiArMzQ0MiwxNCBA QCBwcm9jZXNzZWQgYnkgY29tbWFuZHMgQGNvbW1hbmR7Y29uZmlnZmlsZX0gKEBweHJlZntjb25m aWdmaWxlfSkgb3IgQGNvbW1hbmR7bm9ybQogKEBweHJlZntub3JtYWx9KS4gIEl0IGlzIHJlc3Rv cmVkIHRvIHRoZSBwcmV2aW91cyB2YWx1ZSB3aGVuIGNvbW1hbmQgY29tcGxldGVzLgogCiAKK0Bu b2RlIGNyeXB0b2Rpc2tfcGFzc3BocmFzZV90cmllcworQHN1YnNlY3Rpb24gY3J5cHRvZGlza19w YXNzcGhyYXNlX3RyaWVzCisKK1doZW4gcHJvbXB0aW5nIHRoZSB1c2VyIGZvciBhIGNyeXB0b2Rp c2sgcGFzc3BocmFzZSwgYWxsb3cgdGhpcyBtYW55IGF0dGVtcHRzCitiZWZvcmUgZ2l2aW5nIHVw LiBUaGUgZGVmYXVsdCBpcyBAc2FtcHszfS4gKFRoZSB1c2VyIGNhbiBnaXZlIHVwIGVhcmx5IGJ5 CitlbnRlcmluZyBhbiBlbXB0eSBwYXNzcGhyYXNlLikKKworCiBAbm9kZSBkZWJ1ZwogQHN1YnNl Y3Rpb24gZGVidWcKIApkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2Rpc2svY3J5cHRvZGlzay5jIGIv Z3J1Yi1jb3JlL2Rpc2svY3J5cHRvZGlzay5jCmluZGV4IDIyNDZhZjUxYi4uNGZhN2RjNThkIDEw MDY0NAotLS0gYS9ncnViLWNvcmUvZGlzay9jcnlwdG9kaXNrLmMKKysrIGIvZ3J1Yi1jb3JlL2Rp c2svY3J5cHRvZGlzay5jCkBAIC0xNyw2ICsxNyw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGdydWIv Y3J5cHRvZGlzay5oPgorI2luY2x1ZGUgPGdydWIvZW52Lmg+CiAjaW5jbHVkZSA8Z3J1Yi9tbS5o PgogI2luY2x1ZGUgPGdydWIvbWlzYy5oPgogI2luY2x1ZGUgPGdydWIvZGwuaD4KQEAgLTEwNjMs NiArMTA2NCw4IEBAIGdydWJfY3J5cHRvZGlza19zY2FuX2RldmljZV9yZWFsIChjb25zdCBjaGFy ICpuYW1lLAogICBncnViX2NyeXB0b2Rpc2tfZGV2X3QgY3I7CiAgIHN0cnVjdCBjcnlwdG9kaXNr X3JlYWRfaG9va19jdHggcmVhZF9ob29rX2RhdGEgPSB7MH07CiAgIGludCBhc2twYXNzID0gMDsK KyAgdW5zaWduZWQgbG9uZyB0cmllcyA9IDM7CisgIGNvbnN0IGNoYXIgKnRyaWVzX2VudjsKICAg Y2hhciAqcGFydCA9IE5VTEw7CiAKICAgZGV2ID0gZ3J1Yl9jcnlwdG9kaXNrX2dldF9ieV9zb3Vy Y2VfZGlzayAoc291cmNlKTsKQEAgLTExMTQsMzIgKzExMTcsNzEgQEAgZ3J1Yl9jcnlwdG9kaXNr X3NjYW5fZGV2aWNlX3JlYWwgKGNvbnN0IGNoYXIgKm5hbWUsCiAgICAgaWYgKCFkZXYpCiAgICAg ICBjb250aW51ZTsKIAotICAgIGlmICghY2FyZ3MtPmtleV9sZW4pCisgICAgaWYgKGNhcmdzLT5r ZXlfbGVuKQorICAgICAgeworCXJldCA9IGNyLT5yZWNvdmVyX2tleSAoc291cmNlLCBkZXYsIGNh cmdzKTsKKwlpZiAocmV0ICE9IEdSVUJfRVJSX05PTkUpCisJICBnb3RvIGVycm9yOworICAgICAg fQorICAgIGVsc2UKICAgICAgIHsKIAkvKiBHZXQgdGhlIHBhc3NwaHJhc2UgZnJvbSB0aGUgdXNl ciwgaWYgbm8ga2V5IGRhdGEuICovCiAJYXNrcGFzcyA9IDE7Ci0JcGFydCA9IGdydWJfcGFydGl0 aW9uX2dldF9uYW1lIChzb3VyY2UtPnBhcnRpdGlvbik7Ci0JZ3J1Yl9wcmludGZfIChOXygiRW50 ZXIgcGFzc3BocmFzZSBmb3IgJXMlcyVzICglcyk6ICIpLCBzb3VyY2UtPm5hbWUsCi0JCSAgICAg c291cmNlLT5wYXJ0aXRpb24gIT0gTlVMTCA/ICIsIiA6ICIiLAotCQkgICAgIHBhcnQgIT0gTlVM TCA/IHBhcnQgOiBOXygiVU5LTk9XTiIpLAotCQkgICAgIGRldi0+dXVpZCk7Ci0JZ3J1Yl9mcmVl IChwYXJ0KTsKLQogCWNhcmdzLT5rZXlfZGF0YSA9IGdydWJfbWFsbG9jIChHUlVCX0NSWVBUT0RJ U0tfTUFYX1BBU1NQSFJBU0UpOwogCWlmIChjYXJncy0+a2V5X2RhdGEgPT0gTlVMTCkKIAkgIGdv dG8gZXJyb3Jfbm9fY2xvc2U7CiAKLQlpZiAoIWdydWJfcGFzc3dvcmRfZ2V0ICgoY2hhciAqKSBj YXJncy0+a2V5X2RhdGEsIEdSVUJfQ1JZUFRPRElTS19NQVhfUEFTU1BIUkFTRSkpCisJdHJpZXNf ZW52ID0gZ3J1Yl9lbnZfZ2V0ICgiY3J5cHRvZGlza19wYXNzcGhyYXNlX3RyaWVzIik7CisJaWYg KHRyaWVzX2VudiAhPSBOVUxMICYmIHRyaWVzX2VudlswXSAhPSAnXDAnKQogCSAgewotCSAgICBn cnViX2Vycm9yIChHUlVCX0VSUl9CQURfQVJHVU1FTlQsICJwYXNzcGhyYXNlIG5vdCBzdXBwbGll ZCIpOwotCSAgICBnb3RvIGVycm9yOworCSAgICBjb25zdCBjaGFyICpwID0gTlVMTDsKKwkgICAg dHJpZXMgPSBncnViX3N0cnRvdWwgKHRyaWVzX2VudiwgJnAsIDApOworCSAgICBpZiAoKnAgIT0g J1wwJykKKwkgICAgICB7CisJCS8qIEFjY291bnQgZm9yIGdydWJfc3RydG91bCgpIGlnbm9yaW5n IHRyYWlsaW5nIHRleHQuICovCisJCWdydWJfZXJyX3QgZXJyID0gZ3J1Yl9lcnJubzsKKwkJaWYg KHAgPiB0cmllc19lbnYgJiYgdHJpZXMgIT0gfjBVTCkKKwkJICBlcnIgPSBHUlVCX0VSUl9CQURf TlVNQkVSOworCisJCWdydWJfZXJyb3IgKGVyciwKKwkJCSAgICBOXygibm9uLW51bWVyaWMgb3Ig aW52YWxpZCB2YWx1ZSBmb3IgY3J5cHRvZGlza19wYXNzcGhyYXNlX3RyaWVzOiBgJXMnIiksCisJ CQkgICAgdHJpZXNfZW52KTsKKwkJZ290byBlcnJvcjsKKwkgICAgICB9CiAJICB9Ci0JY2FyZ3Mt PmtleV9sZW4gPSBncnViX3N0cmxlbiAoKGNoYXIgKikgY2FyZ3MtPmtleV9kYXRhKTsKLSAgICAg IH0KIAotICAgIHJldCA9IGNyLT5yZWNvdmVyX2tleSAoc291cmNlLCBkZXYsIGNhcmdzKTsKLSAg ICBpZiAocmV0ICE9IEdSVUJfRVJSX05PTkUpCi0gICAgICBnb3RvIGVycm9yOworCWZvciAoOyB0 cmllcyA+IDA7IHRyaWVzLS0pCisJICB7CisJICAgIHBhcnQgPSBncnViX3BhcnRpdGlvbl9nZXRf bmFtZSAoc291cmNlLT5wYXJ0aXRpb24pOworCSAgICBncnViX3ByaW50Zl8gKE5fKCJFbnRlciBw YXNzcGhyYXNlIGZvciAlcyVzJXMgKCVzKTogIiksIHNvdXJjZS0+bmFtZSwKKwkJCSBzb3VyY2Ut PnBhcnRpdGlvbiAhPSBOVUxMID8gIiwiIDogIiIsCisJCQkgcGFydCAhPSBOVUxMID8gcGFydCA6 IE5fKCJVTktOT1dOIiksCisJCQkgZGV2LT51dWlkKTsKKwkgICAgZ3J1Yl9mcmVlIChwYXJ0KTsK KworCSAgICBpZiAoIWdydWJfcGFzc3dvcmRfZ2V0ICgoY2hhciAqKSBjYXJncy0+a2V5X2RhdGEs IEdSVUJfQ1JZUFRPRElTS19NQVhfUEFTU1BIUkFTRSkpCisJICAgICAgeworCQlncnViX2Vycm9y IChHUlVCX0VSUl9CQURfQVJHVU1FTlQsICJwYXNzcGhyYXNlIG5vdCBzdXBwbGllZCIpOworCQln b3RvIGVycm9yOworCSAgICAgIH0KKwkgICAgY2FyZ3MtPmtleV9sZW4gPSBncnViX3N0cmxlbiAo KGNoYXIgKikgY2FyZ3MtPmtleV9kYXRhKTsKKworCSAgICByZXQgPSBjci0+cmVjb3Zlcl9rZXkg KHNvdXJjZSwgZGV2LCBjYXJncyk7CisJICAgIGlmIChyZXQgPT0gR1JVQl9FUlJfTk9ORSkKKwkg ICAgICBicmVhazsKKwkgICAgaWYgKHJldCAhPSBHUlVCX0VSUl9BQ0NFU1NfREVOSUVEIHx8IHRy aWVzID09IDEpCisJICAgICAgZ290byBlcnJvcjsKKwkgICAgZ3J1Yl9wdXRzXyAoTl8oIkludmFs aWQgcGFzc3BocmFzZS4iKSk7CisKKwkgICAgLyoKKwkgICAgICogU2luY2UgcmVjb3Zlcl9rZXko KSBjYWxscyBhIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBncnViX2Vycm5vLAorCSAgICAgKiBhIGxl ZnRvdmVyIGVycm9yIHZhbHVlIGZyb20gYSBwcmV2aW91c2x5IHJlamVjdGVkIHBhc3NwaHJhc2UK KwkgICAgICogd2lsbCB0cmlnZ2VyIGEgcGhhbnRvbSBmYWlsdXJlLiBXZSB0aGVyZWZvcmUgY2xl YXIgaXQgYmVmb3JlCisJICAgICAqIHRyeWluZyBhIG5ldyBwYXNzcGhyYXNlLgorCSAgICAgKi8K KwkgICAgZ3J1Yl9lcnJubyA9IEdSVUJfRVJSX05PTkU7CisJICB9CisgICAgICB9CiAKICAgICBy ZXQgPSBncnViX2NyeXB0b2Rpc2tfaW5zZXJ0IChkZXYsIG5hbWUsIHNvdXJjZSk7CiAgICAgaWYg KHJldCAhPSBHUlVCX0VSUl9OT05FKQotLSAKMi4zOS4yCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpHcnViLWRldmVsIG1haWxpbmcgbGlzdApHcnViLWRl dmVsQGdudS5vcmcKaHR0cHM6Ly9saXN0cy5nbnUub3JnL21haWxtYW4vbGlzdGluZm8vZ3J1Yi1k ZXZlbAo=