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 A14D9C4345F for ; Sun, 28 Apr 2024 00:16:01 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s0sCp-00076D-LX; Sat, 27 Apr 2024 20:15:47 -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 1s0sCo-00075Q-0o for grub-devel@gnu.org; Sat, 27 Apr 2024 20:15:46 -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 1s0sCm-00005a-5G for grub-devel@gnu.org; Sat, 27 Apr 2024 20:15:45 -0400 Received: from 192-184-191-122.static.sonic.net (192-184-191-122.static.sonic.net [192.184.191.122]) (authenticated bits=0) by c.mail.sonic.net (8.16.1/8.16.1) with ESMTPA id 43S0Ffux029994; Sat, 27 Apr 2024 17:15:42 -0700 From: Forest To: grub-devel@gnu.org Cc: Glenn Washburn , Daniel Kiper Subject: [PATCH v3] cryptodisk: allow user to retry failed passphrase Date: Sat, 27 Apr 2024 17:15:42 -0700 Message-ID: MIME-Version: 1.0 X-Sonic-CAuth: UmFuZG9tSVarLVAdIffxGbTlxGtJHq9NK02wfdxRxgkxJ4I5MO80skfWbp3levMOMSESuWFLoTSNZmJbxjZvy+DD2+nQEmrG X-Sonic-ID: C;0tv+cvQE7xG7cYQfwL7DjQ== M;xgAJc/QE7xG7cYQfwL7DjQ== 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 ZC1vZmYtYnk6IEZvcmVzdCA8Zm9yZXN0aXhAbm9tLm9uZT4KLS0tCiBkb2NzL2dydWIudGV4aSAg ICAgICAgICAgICAgfCAgOSArKysrKwogZ3J1Yi1jb3JlL2Rpc2svY3J5cHRvZGlzay5jIHwgNzQg KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA2 NyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL2dydWIu dGV4aSBiL2RvY3MvZ3J1Yi50ZXhpCmluZGV4IGEyMjVmOWE4OC4uNmFjNjAzYTMyIDEwMDY0NAot LS0gYS9kb2NzL2dydWIudGV4aQorKysgYi9kb2NzL2dydWIudGV4aQpAQCAtMzI3Nyw2ICszMjc3 LDcgQEAgVGhlc2UgdmFyaWFibGVzIGhhdmUgc3BlY2lhbCBtZWFuaW5nIHRvIEdSVUIuCiAqIGNv bG9yX25vcm1hbDo6CiAqIGNvbmZpZ19kaXJlY3Rvcnk6OgogKiBjb25maWdfZmlsZTo6CisqIGNy eXB0b2Rpc2tfcGFzc3BocmFzZV90cmllczo6CiAqIGRlYnVnOjoKICogZGVmYXVsdDo6CiAqIGZh bGxiYWNrOjoKQEAgLTM0NDEsNiArMzQ0MiwxNCBAQCBwcm9jZXNzZWQgYnkgY29tbWFuZHMgQGNv bW1hbmR7Y29uZmlnZmlsZX0gKEBweHJlZntjb25maWdmaWxlfSkgb3IgQGNvbW1hbmR7bm9ybQog KEBweHJlZntub3JtYWx9KS4gIEl0IGlzIHJlc3RvcmVkIHRvIHRoZSBwcmV2aW91cyB2YWx1ZSB3 aGVuIGNvbW1hbmQgY29tcGxldGVzLgogCiAKK0Bub2RlIGNyeXB0b2Rpc2tfcGFzc3BocmFzZV90 cmllcworQHN1YnNlY3Rpb24gY3J5cHRvZGlza19wYXNzcGhyYXNlX3RyaWVzCisKK1doZW4gcHJv bXB0aW5nIHRoZSB1c2VyIGZvciBhIGNyeXB0b2Rpc2sgcGFzc3BocmFzZSwgYWxsb3cgdGhpcyBt YW55IGF0dGVtcHRzCitiZWZvcmUgZ2l2aW5nIHVwLiBUaGUgZGVmYXVsdCBpcyBAc2FtcHszfS4g KFRoZSB1c2VyIGNhbiBnaXZlIHVwIGVhcmx5IGJ5CitlbnRlcmluZyBhbiBlbXB0eSBwYXNzcGhy YXNlLikKKworCiBAbm9kZSBkZWJ1ZwogQHN1YnNlY3Rpb24gZGVidWcKIApkaWZmIC0tZ2l0IGEv Z3J1Yi1jb3JlL2Rpc2svY3J5cHRvZGlzay5jIGIvZ3J1Yi1jb3JlL2Rpc2svY3J5cHRvZGlzay5j CmluZGV4IDIyNDZhZjUxYi4uNGZhN2RjNThkIDEwMDY0NAotLS0gYS9ncnViLWNvcmUvZGlzay9j cnlwdG9kaXNrLmMKKysrIGIvZ3J1Yi1jb3JlL2Rpc2svY3J5cHRvZGlzay5jCkBAIC0xNyw2ICsx Nyw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGdydWIvY3J5cHRvZGlzay5oPgorI2luY2x1ZGUgPGdy dWIvZW52Lmg+CiAjaW5jbHVkZSA8Z3J1Yi9tbS5oPgogI2luY2x1ZGUgPGdydWIvbWlzYy5oPgog I2luY2x1ZGUgPGdydWIvZGwuaD4KQEAgLTEwNjMsNiArMTA2NCw4IEBAIGdydWJfY3J5cHRvZGlz a19zY2FuX2RldmljZV9yZWFsIChjb25zdCBjaGFyICpuYW1lLAogICBncnViX2NyeXB0b2Rpc2tf ZGV2X3QgY3I7CiAgIHN0cnVjdCBjcnlwdG9kaXNrX3JlYWRfaG9va19jdHggcmVhZF9ob29rX2Rh dGEgPSB7MH07CiAgIGludCBhc2twYXNzID0gMDsKKyAgdW5zaWduZWQgbG9uZyB0cmllcyA9IDM7 CisgIGNvbnN0IGNoYXIgKnRyaWVzX2VudjsKICAgY2hhciAqcGFydCA9IE5VTEw7CiAKICAgZGV2 ID0gZ3J1Yl9jcnlwdG9kaXNrX2dldF9ieV9zb3VyY2VfZGlzayAoc291cmNlKTsKQEAgLTExMTQs MzIgKzExMTcsNzEgQEAgZ3J1Yl9jcnlwdG9kaXNrX3NjYW5fZGV2aWNlX3JlYWwgKGNvbnN0IGNo YXIgKm5hbWUsCiAgICAgaWYgKCFkZXYpCiAgICAgICBjb250aW51ZTsKIAotICAgIGlmICghY2Fy Z3MtPmtleV9sZW4pCisgICAgaWYgKGNhcmdzLT5rZXlfbGVuKQorICAgICAgeworCXJldCA9IGNy LT5yZWNvdmVyX2tleSAoc291cmNlLCBkZXYsIGNhcmdzKTsKKwlpZiAocmV0ICE9IEdSVUJfRVJS X05PTkUpCisJICBnb3RvIGVycm9yOworICAgICAgfQorICAgIGVsc2UKICAgICAgIHsKIAkvKiBH ZXQgdGhlIHBhc3NwaHJhc2UgZnJvbSB0aGUgdXNlciwgaWYgbm8ga2V5IGRhdGEuICovCiAJYXNr cGFzcyA9IDE7Ci0JcGFydCA9IGdydWJfcGFydGl0aW9uX2dldF9uYW1lIChzb3VyY2UtPnBhcnRp dGlvbik7Ci0JZ3J1Yl9wcmludGZfIChOXygiRW50ZXIgcGFzc3BocmFzZSBmb3IgJXMlcyVzICgl cyk6ICIpLCBzb3VyY2UtPm5hbWUsCi0JCSAgICAgc291cmNlLT5wYXJ0aXRpb24gIT0gTlVMTCA/ ICIsIiA6ICIiLAotCQkgICAgIHBhcnQgIT0gTlVMTCA/IHBhcnQgOiBOXygiVU5LTk9XTiIpLAot CQkgICAgIGRldi0+dXVpZCk7Ci0JZ3J1Yl9mcmVlIChwYXJ0KTsKLQogCWNhcmdzLT5rZXlfZGF0 YSA9IGdydWJfbWFsbG9jIChHUlVCX0NSWVBUT0RJU0tfTUFYX1BBU1NQSFJBU0UpOwogCWlmIChj YXJncy0+a2V5X2RhdGEgPT0gTlVMTCkKIAkgIGdvdG8gZXJyb3Jfbm9fY2xvc2U7CiAKLQlpZiAo IWdydWJfcGFzc3dvcmRfZ2V0ICgoY2hhciAqKSBjYXJncy0+a2V5X2RhdGEsIEdSVUJfQ1JZUFRP RElTS19NQVhfUEFTU1BIUkFTRSkpCisJdHJpZXNfZW52ID0gZ3J1Yl9lbnZfZ2V0ICgiY3J5cHRv ZGlza19wYXNzcGhyYXNlX3RyaWVzIik7CisJaWYgKHRyaWVzX2VudiAhPSBOVUxMICYmIHRyaWVz X2VudlswXSAhPSAnXDAnKQogCSAgewotCSAgICBncnViX2Vycm9yIChHUlVCX0VSUl9CQURfQVJH VU1FTlQsICJwYXNzcGhyYXNlIG5vdCBzdXBwbGllZCIpOwotCSAgICBnb3RvIGVycm9yOworCSAg ICBjb25zdCBjaGFyICpwID0gTlVMTDsKKwkgICAgdHJpZXMgPSBncnViX3N0cnRvdWwgKHRyaWVz X2VudiwgJnAsIDApOworCSAgICBpZiAoKnAgIT0gJ1wwJykKKwkgICAgICB7CisJCS8qIEFjY291 bnQgZm9yIGdydWJfc3RydG91bCgpIGlnbm9yaW5nIHRyYWlsaW5nIHRleHQuICovCisJCWdydWJf ZXJyX3QgZXJyID0gZ3J1Yl9lcnJubzsKKwkJaWYgKHAgPiB0cmllc19lbnYgJiYgdHJpZXMgIT0g fjBVTCkKKwkJICBlcnIgPSBHUlVCX0VSUl9CQURfTlVNQkVSOworCisJCWdydWJfZXJyb3IgKGVy ciwKKwkJCSAgICBOXygibm9uLW51bWVyaWMgb3IgaW52YWxpZCB2YWx1ZSBmb3IgY3J5cHRvZGlz a19wYXNzcGhyYXNlX3RyaWVzOiBgJXMnIiksCisJCQkgICAgdHJpZXNfZW52KTsKKwkJZ290byBl cnJvcjsKKwkgICAgICB9CiAJICB9Ci0JY2FyZ3MtPmtleV9sZW4gPSBncnViX3N0cmxlbiAoKGNo YXIgKikgY2FyZ3MtPmtleV9kYXRhKTsKLSAgICAgIH0KIAotICAgIHJldCA9IGNyLT5yZWNvdmVy X2tleSAoc291cmNlLCBkZXYsIGNhcmdzKTsKLSAgICBpZiAocmV0ICE9IEdSVUJfRVJSX05PTkUp Ci0gICAgICBnb3RvIGVycm9yOworCWZvciAoOyB0cmllcyA+IDA7IHRyaWVzLS0pCisJICB7CisJ ICAgIHBhcnQgPSBncnViX3BhcnRpdGlvbl9nZXRfbmFtZSAoc291cmNlLT5wYXJ0aXRpb24pOwor CSAgICBncnViX3ByaW50Zl8gKE5fKCJFbnRlciBwYXNzcGhyYXNlIGZvciAlcyVzJXMgKCVzKTog IiksIHNvdXJjZS0+bmFtZSwKKwkJCSBzb3VyY2UtPnBhcnRpdGlvbiAhPSBOVUxMID8gIiwiIDog IiIsCisJCQkgcGFydCAhPSBOVUxMID8gcGFydCA6IE5fKCJVTktOT1dOIiksCisJCQkgZGV2LT51 dWlkKTsKKwkgICAgZ3J1Yl9mcmVlIChwYXJ0KTsKKworCSAgICBpZiAoIWdydWJfcGFzc3dvcmRf Z2V0ICgoY2hhciAqKSBjYXJncy0+a2V5X2RhdGEsIEdSVUJfQ1JZUFRPRElTS19NQVhfUEFTU1BI UkFTRSkpCisJICAgICAgeworCQlncnViX2Vycm9yIChHUlVCX0VSUl9CQURfQVJHVU1FTlQsICJw YXNzcGhyYXNlIG5vdCBzdXBwbGllZCIpOworCQlnb3RvIGVycm9yOworCSAgICAgIH0KKwkgICAg Y2FyZ3MtPmtleV9sZW4gPSBncnViX3N0cmxlbiAoKGNoYXIgKikgY2FyZ3MtPmtleV9kYXRhKTsK KworCSAgICByZXQgPSBjci0+cmVjb3Zlcl9rZXkgKHNvdXJjZSwgZGV2LCBjYXJncyk7CisJICAg IGlmIChyZXQgPT0gR1JVQl9FUlJfTk9ORSkKKwkgICAgICBicmVhazsKKwkgICAgaWYgKHJldCAh PSBHUlVCX0VSUl9BQ0NFU1NfREVOSUVEIHx8IHRyaWVzID09IDEpCisJICAgICAgZ290byBlcnJv cjsKKwkgICAgZ3J1Yl9wdXRzXyAoTl8oIkludmFsaWQgcGFzc3BocmFzZS4iKSk7CisKKwkgICAg LyoKKwkgICAgICogU2luY2UgcmVjb3Zlcl9rZXkoKSBjYWxscyBhIGZ1bmN0aW9uIHRoYXQgcmV0 dXJucyBncnViX2Vycm5vLAorCSAgICAgKiBhIGxlZnRvdmVyIGVycm9yIHZhbHVlIGZyb20gYSBw cmV2aW91c2x5IHJlamVjdGVkIHBhc3NwaHJhc2UKKwkgICAgICogd2lsbCB0cmlnZ2VyIGEgcGhh bnRvbSBmYWlsdXJlLiBXZSB0aGVyZWZvcmUgY2xlYXIgaXQgYmVmb3JlCisJICAgICAqIHRyeWlu ZyBhIG5ldyBwYXNzcGhyYXNlLgorCSAgICAgKi8KKwkgICAgZ3J1Yl9lcnJubyA9IEdSVUJfRVJS X05PTkU7CisJICB9CisgICAgICB9CiAKICAgICByZXQgPSBncnViX2NyeXB0b2Rpc2tfaW5zZXJ0 IChkZXYsIG5hbWUsIHNvdXJjZSk7CiAgICAgaWYgKHJldCAhPSBHUlVCX0VSUl9OT05FKQotLSAK Mi4zOS4yCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K R3J1Yi1kZXZlbCBtYWlsaW5nIGxpc3QKR3J1Yi1kZXZlbEBnbnUub3JnCmh0dHBzOi8vbGlzdHMu Z251Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2dydWItZGV2ZWwK