Re: [PATCH v5 1/5] misc: fastrpc: Fix initial memory allocation for Audio PD memory pool
From: Dmitry Baryshkov
Date: Fri May 15 2026 - 09:43:34 EST
On Fri, May 15, 2026 at 08:42:13PM +0800, Jianping Li wrote:
> From: Ekansh Gupta <ekansh.gupta@xxxxxxxxxxxxxxxx>
>
> The initial buffer allocated for the Audio PD memory pool is never added
> to the pool because pageslen is set to 0. As a result, the buffer is not
> registered with Audio PD and is never used, causing a memory leak. Audio
> PD immediately falls back to allocating memory from the remote heap since
> the pool starts out empty.
>
> Fix this by setting pageslen to 1 so that the initially allocated buffer
> is correctly registered and becomes part of the Audio PD memory pool.
>
> Fixes: 0871561055e66 ("misc: fastrpc: Add support for audiopd")
> Cc: stable@xxxxxxxxxx
> Co-developed-by: Ekansh Gupta <ekansh.gupta@xxxxxxxxxxxxxxxx>
> Signed-off-by: Ekansh Gupta <ekansh.gupta@xxxxxxxxxxxxxxxx>
If it's From:Ekansh, it can't be CDB: Ekansh. How can Ekansh co-develop
the patch with himself?
> Signed-off-by: Jianping Li <jianping.li@xxxxxxxxxxxxxxxx>
> ---
> drivers/misc/fastrpc.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> index 1080f9acf70a..8b21f85cd9f4 100644
> --- a/drivers/misc/fastrpc.c
> +++ b/drivers/misc/fastrpc.c
> @@ -1324,7 +1324,9 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl,
> err = PTR_ERR(name);
> goto err;
> }
> -
> + inbuf.client_id = fl->client_id;
> + inbuf.namelen = init.namelen;
> + inbuf.pageslen = 0;
> if (!fl->cctx->remote_heap) {
> err = fastrpc_remote_heap_alloc(fl, fl->sctx->dev, init.memlen,
> &fl->cctx->remote_heap);
> @@ -1347,12 +1349,10 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl,
> goto err_map;
> }
> scm_done = true;
> + inbuf.pageslen = 1;
> }
> }
>
> - inbuf.client_id = fl->client_id;
> - inbuf.namelen = init.namelen;
> - inbuf.pageslen = 0;
> fl->pd = USER_PD;
>
> args[0].ptr = (u64)(uintptr_t)&inbuf;
> --
> 2.43.0
>
--
With best wishes
Dmitry