If SGX memory model is configured for domain then we need to
allow QEMU access some additional files:
1) /dev/sgx_vepc needs to be RW
2) /dev/sgx_provision needs to be RO
We already do this in SELinux driver but not in AppArmor.
Resolves: https://gitlab.com/libvirt/libvirt/-/issues/751
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
if (vah_add_file(&buf, mem->source.virtio_pmem.path, "rw") != 0)
goto cleanup;
break;
+ case VIR_DOMAIN_MEMORY_MODEL_SGX_EPC:
+ if (vah_add_file(&buf, DEV_SGX_VEPC, "rw") != 0 ||
+ vah_add_file(&buf, DEV_SGX_PROVISION, "r") != 0) {
+ goto cleanup;
+ }
+ break;
+
case VIR_DOMAIN_MEMORY_MODEL_DIMM:
case VIR_DOMAIN_MEMORY_MODEL_VIRTIO_MEM:
- case VIR_DOMAIN_MEMORY_MODEL_SGX_EPC:
case VIR_DOMAIN_MEMORY_MODEL_NONE:
case VIR_DOMAIN_MEMORY_MODEL_LAST:
break;