RE: [PATCH rfcv4 05/13] conf: add tdx as launch security type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




>-----Original Message-----
>From: Daniel P. Berrangé <berrange@xxxxxxxxxx>
>Subject: Re: [PATCH rfcv4 05/13] conf: add tdx as launch security type
>
>On Fri, May 24, 2024 at 02:21:20PM +0800, Zhenzhong Duan wrote:
>> When 'tdx' is used, the VM will launched with Intel TDX feature enabled.
>> TDX feature supports running encrypted VM (Trust Domain, TD) under the
>> control of KVM. A TD runs in a CPU model which protects the
>> confidentiality of its memory and its CPU state from other software
>>
>> There is a child element 'policy' and three optional element for tdx type.
>> In 'policy', bit 0 is set to enable TDX debug, bit 28 set to enable
>> sept-ve-disable, other bits are reserved currently. mrConfigId, mrOwner
>> and mrOwnerConfig are base64 encoded SHA384 digest.
>>
>> For example:
>>
>>  <launchSecurity type='tdx'>
>>    <policy>0x10000001</policy>
>>    <mrConfigId>xxx</mrConfigId>
>>    <mrOwner>xxx</mrOwner>
>>    <mrOwnerConfig>xxx</mrOwnerConfig>
>>  </launchSecurity>
>>
>> Signed-off-by: Zhenzhong Duan <zhenzhong.duan@xxxxxxxxx>
>> ---
>>  src/conf/domain_conf.c            | 42
>+++++++++++++++++++++++++++++++
>>  src/conf/domain_conf.h            |  9 +++++++
>>  src/conf/schemas/domaincommon.rng | 29 +++++++++++++++++++++
>>  src/conf/virconftypes.h           |  2 ++
>>  src/qemu/qemu_command.c           |  2 ++
>>  src/qemu/qemu_firmware.c          |  1 +
>>  src/qemu/qemu_namespace.c         |  1 +
>>  src/qemu/qemu_process.c           |  1 +
>>  src/qemu/qemu_validate.c          |  1 +
>>  9 files changed, 88 insertions(+)
>>
>> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>> index a0912062ff..c557da0c65 100644
>> --- a/src/conf/domain_conf.c
>> +++ b/src/conf/domain_conf.c
>> @@ -1508,6 +1508,7 @@ VIR_ENUM_IMPL(virDomainLaunchSecurity,
>>                "",
>>                "sev",
>>                "s390-pv",
>> +              "tdx",
>>  );
>>
>>  typedef enum {
>> @@ -3832,6 +3833,10 @@ virDomainSecDefFree(virDomainSecDef *def)
>>          g_free(def->data.sev.dh_cert);
>>          g_free(def->data.sev.session);
>>          break;
>> +    case VIR_DOMAIN_LAUNCH_SECURITY_TDX:
>> +        g_free(def->data.tdx.mrconfigid);
>> +        g_free(def->data.tdx.mrowner);
>> +        g_free(def->data.tdx.mrownerconfig);
>
>Missing 'break' here. I'm surprised the compiler didn't complain,
>as we have warning flags set to require explicit marking of case
>fallthroughs.

Will do.

Thanks
Zhenzhong

>
>>      case VIR_DOMAIN_LAUNCH_SECURITY_PV:
>>      case VIR_DOMAIN_LAUNCH_SECURITY_NONE:
>>      case VIR_DOMAIN_LAUNCH_SECURITY_LAST:
>
>
>
>
>With regards,
>Daniel
>--
>|: https://berrange.com      -o-
>https://www.flickr.com/photos/dberrange :|
>|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
>|: https://entangle-photo.org    -o-
>https://www.instagram.com/dberrange :|





[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux