[PATCH v17 12/35] virt: gunyah: Add resource tickets
Srivatsa Vaddagiri
quic_svaddagi at quicinc.com
Sun Mar 10 22:38:06 PDT 2024
* Elliot Berman <quic_eberman at quicinc.com> [2024-02-22 15:16:35]:
> Gunyah doesn't process the label and that makes it
> possible for userspace to create multiple resources with the same label.
I think that description conflicts with what is implemented in this patch?
int gunyah_vm_add_resource_ticket(struct gunyah_vm *ghvm,
struct gunyah_vm_resource_ticket *ticket)
{
mutex_lock(&ghvm->resources_lock);
list_for_each_entry(iter, &ghvm->resource_tickets, vm_list) {
if (iter->resource_type == ticket->resource_type &&
iter->label == ticket->label) {
ret = -EEXIST;
goto out;
}
}
//
> @@ -134,6 +246,25 @@ static int gunyah_vm_start(struct gunyah_vm *ghvm)
> }
> ghvm->vm_status = GUNYAH_RM_VM_STATUS_READY;
>
> + ret = gunyah_rm_get_hyp_resources(ghvm->rm, ghvm->vmid, &resources);
> + if (ret) {
> + dev_warn(ghvm->parent,
> + "Failed to get hypervisor resources for VM: %d\n",
> + ret);
> + goto err;
> + }
Where do we free memory pointed by 'resources' ptr?
> +
> + for (i = 0, n = le32_to_cpu(resources->n_entries); i < n; i++) {
> + ghrsc = gunyah_rm_alloc_resource(ghvm->rm,
> + &resources->entries[i]);
> + if (!ghrsc) {
> + ret = -ENOMEM;
> + goto err;
> + }
> +
> + gunyah_vm_add_resource(ghvm, ghrsc);
> + }
More information about the linux-arm-kernel
mailing list