[PATCH v8 12/28] gunyah: vm_mgr: Introduce basic VM Manager

Srivatsa Vaddagiri quic_svaddagi at quicinc.com
Mon Jan 9 01:05:53 PST 2023


* Elliot Berman <quic_eberman at quicinc.com> [2022-12-19 14:58:33]:

> +config GUNYAH_VM_MANAGER

Any reason why this needs to be a separate config? IOW CONFIG_GUNYAH should
enable VM management functionality also.

> @@ -550,14 +580,29 @@ static int gh_rm_drv_probe(struct platform_device *pdev)
>  	rsc_mgr->msgq_client.rx_callback = gh_rm_msgq_rx_data;
>  	rsc_mgr->msgq_client.tx_done = gh_rm_msgq_tx_done;
>  
> -	return gh_msgq_init(&pdev->dev, &rsc_mgr->msgq, &rsc_mgr->msgq_client,
> +	ret = gh_msgq_init(&pdev->dev, &rsc_mgr->msgq, &rsc_mgr->msgq_client,
>  				&rsc_mgr->tx_ghrsc, &rsc_mgr->rx_ghrsc);

Bail on error here.

[snip]

> +static __must_check struct gunyah_vm *gunyah_vm_alloc(struct gh_rm_rpc *rm)
> +{
> +	struct gunyah_vm *ghvm;
> +	int vmid;
> +
> +	vmid = gh_rm_alloc_vmid(rm, 0);
> +	if (vmid < 0)
> +		return ERR_PTR(vmid);
> +
> +	ghvm = kzalloc(sizeof(*ghvm), GFP_KERNEL);
> +	if (!ghvm)

dealloc_vmid here (as well as few other error paths)?

> +		return ghvm;
> +
> +	get_gh_rm(rm);



More information about the linux-arm-kernel mailing list