Use new crypt_generate_volume_key to generate weaker keys.

There were two different use cases for weaker keys:

1) empty keys (zero filled buffer)
2) weak 'random' keys not sucking entropy while being generated

Those key types must not be used to encrypt real data. It's used either
to check cipher can be configured sucessfully on the system or as
a fake envelope during metadata repair.
This commit is contained in:
Ondrej Kozina
2025-01-29 14:49:12 +01:00
parent 1326dfbac1
commit 88b3da6042
2 changed files with 12 additions and 11 deletions

View File

@@ -3016,7 +3016,10 @@ static int _crypt_format_integrity(struct crypt_device *cd,
cd->u.integrity.params.journal_crypt = journal_crypt;
if (params->integrity_key_size) {
ik = crypt_alloc_volume_key(params->integrity_key_size, integrity_key);
if (!integrity_key)
ik = crypt_generate_volume_key(cd, params->integrity_key_size, KEY_QUALITY_EMPTY);
else
ik = crypt_alloc_volume_key(params->integrity_key_size, integrity_key);
if (!ik) {
r = -ENOMEM;
goto out;