mirror of
https://github.com/qemu/qemu.git
synced 2024-11-23 10:53:37 +08:00
crypto: strengthen the check for key slots overlapping with LUKS header
The LUKS header data on disk is a fixed size, however, there's expected to be a gap between the end of the header and the first key slot to get alignment with the 2nd sector on 4k drives. This wasn't originally part of the LUKS spec, but was always part of the reference implementation, so it is worth validating this. Reviewed-by: Richard W.M. Jones <rjones@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
d233fbc327
commit
c5f6962801
@ -602,7 +602,7 @@ qcrypto_block_luks_check_header(const QCryptoBlockLUKS *luks, Error **errp)
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (start1 < DIV_ROUND_UP(sizeof(QCryptoBlockLUKSHeader),
|
||||
if (start1 < DIV_ROUND_UP(QCRYPTO_BLOCK_LUKS_KEY_SLOT_OFFSET,
|
||||
QCRYPTO_BLOCK_LUKS_SECTOR_SIZE)) {
|
||||
error_setg(errp,
|
||||
"Keyslot %zu is overlapping with the LUKS header",
|
||||
|
Loading…
Reference in New Issue
Block a user