From: Ondrej Kozina Date: Mon, 31 May 2021 17:08:14 +0000 (+0200) Subject: cryptsetup: Fix misplaced assert. X-Git-Tag: v249-rc1~78 X-Git-Url: http://git-history.diyao.me/?a=commitdiff_plain;h=26fbc5aa05562103bc96d87fd379b1dfc2951577;p=systemd%2F.git cryptsetup: Fix misplaced assert. Seems the assert should be placed in-before decrypted_key pointer is passed to libcryptsetup API. Original placement would trigger abort in case tpm2 hw was not present in the system while required to activate crypt devices. --- diff --git a/src/cryptsetup/cryptsetup.c b/src/cryptsetup/cryptsetup.c index dd84018c17..287069766c 100644 --- a/src/cryptsetup/cryptsetup.c +++ b/src/cryptsetup/cryptsetup.c @@ -1140,7 +1140,6 @@ static int attach_luks_or_plain_or_bitlk_by_tpm2( if (r != -EAGAIN) /* EAGAIN means: no tpm2 chip found */ return r; } - assert(decrypted_key); if (!monitor) { /* We didn't find the TPM2 device. In this case, watch for it via udev. Let's create @@ -1181,6 +1180,7 @@ static int attach_luks_or_plain_or_bitlk_by_tpm2( log_debug("Got one or more potentially relevant udev events, rescanning for TPM2..."); } + assert(decrypted_key); if (pass_volume_key) r = crypt_activate_by_volume_key(cd, name, decrypted_key, decrypted_key_size, flags);