mirror of
https://github.com/mii443/qemu.git
synced 2025-08-22 15:15:46 +00:00
crypto: enforce that LUKS stripes is always a fixed value
Although the LUKS stripes are encoded in the keyslot header and so potentially configurable, in pratice the cryptsetup impl mandates this has the fixed value 4000. To avoid incompatibility apply the same enforcement in QEMU too. This also caps the memory usage for key material when QEMU tries to open a LUKS volume. Reviewed-by: Richard W.M. Jones <rjones@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
@ -582,8 +582,9 @@ qcrypto_block_luks_check_header(const QCryptoBlockLUKS *luks, Error **errp)
|
||||
header_sectors,
|
||||
slot1->stripes);
|
||||
|
||||
if (slot1->stripes == 0) {
|
||||
error_setg(errp, "Keyslot %zu is corrupted (stripes == 0)", i);
|
||||
if (slot1->stripes != QCRYPTO_BLOCK_LUKS_STRIPES) {
|
||||
error_setg(errp, "Keyslot %zu is corrupted (stripes %d != %d)",
|
||||
i, slot1->stripes, QCRYPTO_BLOCK_LUKS_STRIPES);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user