i386/tdx: Clarify the error message of mrconfigid/mrowner/mrownerconfig

The error message is misleading - we successfully decoded the data,
the decoded data was simply with the wrong length.

Change the error message to show it is an length check failure with both
the received and expected values.

Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Link: https://lore.kernel.org/r/20250603050305.1704586-4-xiaoyao.li@intel.com
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Xiaoyao Li 2025-06-03 01:03:05 -04:00 committed by Paolo Bonzini
parent a38da9f487
commit 41cd354d35

View file

@ -1032,7 +1032,9 @@ int tdx_pre_create_vcpu(CPUState *cpu, Error **errp)
return -1;
}
if (data_len != QCRYPTO_HASH_DIGEST_LEN_SHA384) {
error_setg(errp, "TDX: failed to decode mrconfigid");
error_setg(errp, "TDX 'mrconfigid' sha384 digest was %ld bytes, "
"expected %d bytes", data_len,
QCRYPTO_HASH_DIGEST_LEN_SHA384);
return -1;
}
memcpy(init_vm->mrconfigid, data, data_len);
@ -1045,7 +1047,9 @@ int tdx_pre_create_vcpu(CPUState *cpu, Error **errp)
return -1;
}
if (data_len != QCRYPTO_HASH_DIGEST_LEN_SHA384) {
error_setg(errp, "TDX: failed to decode mrowner");
error_setg(errp, "TDX 'mrowner' sha384 digest was %ld bytes, "
"expected %d bytes", data_len,
QCRYPTO_HASH_DIGEST_LEN_SHA384);
return -1;
}
memcpy(init_vm->mrowner, data, data_len);
@ -1058,7 +1062,9 @@ int tdx_pre_create_vcpu(CPUState *cpu, Error **errp)
return -1;
}
if (data_len != QCRYPTO_HASH_DIGEST_LEN_SHA384) {
error_setg(errp, "TDX: failed to decode mrownerconfig");
error_setg(errp, "TDX 'mrownerconfig' sha384 digest was %ld bytes, "
"expected %d bytes", data_len,
QCRYPTO_HASH_DIGEST_LEN_SHA384);
return -1;
}
memcpy(init_vm->mrownerconfig, data, data_len);