* [PATCH v3] misc: fastrpc: possible double-free of cctx->remote_heap
@ 2026-01-17 14:09 Xingjing Deng
2026-01-26 15:24 ` Greg KH
0 siblings, 1 reply; 4+ messages in thread
From: Xingjing Deng @ 2026-01-17 14:09 UTC (permalink / raw)
To: srini, amahesh, arnd, gregkh
Cc: dri-devel, linux-arm-msm, linux-kernel, Xingjing Deng, stable
fastrpc_init_create_static_process() may free cctx->remote_heap on the
err_map path but does not clear the pointer. Later, fastrpc_rpmsg_remove()
frees cctx->remote_heap again if it is non-NULL, which can lead to a
double-free if the INIT_CREATE_STATIC ioctl hits the error path and the rpmsg
device is subsequently removed/unbound.
Clear cctx->remote_heap after freeing it in the error path to prevent the
later cleanup from freeing it again.
Fixes: 0871561055e66 ("misc: fastrpc: Add support for audiopd")
Cc: stable@vger.kernel.org # 6.2+
Signed-off-by: Xingjing Deng <xjdeng@buaa.edu.cn>
---
v3:
- Adjust the email format.
- Link to v2: https://lore.kernel.org/linux-arm-msm/2026011650-gravitate-happily-5d0c@gregkh/T/#t
v2:
- Add Fixes: and Cc: stable@vger.kernel.org.
- Link to v1: https://lore.kernel.org/linux-arm-msm/2026011227-casualty-rephrase-9381@gregkh/T/#t
drivers/misc/fastrpc.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
index ee652ef01534..fb3b54e05928 100644
--- a/drivers/misc/fastrpc.c
+++ b/drivers/misc/fastrpc.c
@@ -1370,6 +1370,7 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl,
}
err_map:
fastrpc_buf_free(fl->cctx->remote_heap);
+ fl->cctx->remote_heap = NULL;
err_name:
kfree(name);
err:
--
2.25.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH v3] misc: fastrpc: possible double-free of cctx->remote_heap
2026-01-17 14:09 [PATCH v3] misc: fastrpc: possible double-free of cctx->remote_heap Xingjing Deng
@ 2026-01-26 15:24 ` Greg KH
2026-01-27 2:19 ` Xingjing Deng
0 siblings, 1 reply; 4+ messages in thread
From: Greg KH @ 2026-01-26 15:24 UTC (permalink / raw)
To: Xingjing Deng
Cc: srini, amahesh, arnd, dri-devel, linux-arm-msm, linux-kernel,
Xingjing Deng, stable
On Sat, Jan 17, 2026 at 10:09:59PM +0800, Xingjing Deng wrote:
> fastrpc_init_create_static_process() may free cctx->remote_heap on the
> err_map path but does not clear the pointer. Later, fastrpc_rpmsg_remove()
> frees cctx->remote_heap again if it is non-NULL, which can lead to a
> double-free if the INIT_CREATE_STATIC ioctl hits the error path and the rpmsg
> device is subsequently removed/unbound.
> Clear cctx->remote_heap after freeing it in the error path to prevent the
> later cleanup from freeing it again.
>
> Fixes: 0871561055e66 ("misc: fastrpc: Add support for audiopd")
> Cc: stable@vger.kernel.org # 6.2+
> Signed-off-by: Xingjing Deng <xjdeng@buaa.edu.cn>
>
> ---
>
> v3:
> - Adjust the email format.
> - Link to v2: https://lore.kernel.org/linux-arm-msm/2026011650-gravitate-happily-5d0c@gregkh/T/#t
>
> v2:
> - Add Fixes: and Cc: stable@vger.kernel.org.
> - Link to v1: https://lore.kernel.org/linux-arm-msm/2026011227-casualty-rephrase-9381@gregkh/T/#t
>
> drivers/misc/fastrpc.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> index ee652ef01534..fb3b54e05928 100644
> --- a/drivers/misc/fastrpc.c
> +++ b/drivers/misc/fastrpc.c
> @@ -1370,6 +1370,7 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl,
> }
> err_map:
> fastrpc_buf_free(fl->cctx->remote_heap);
> + fl->cctx->remote_heap = NULL;
> err_name:
> kfree(name);
> err:
> --
> 2.25.1
>
>
How was this found and tested?
And randomly setting a pointer to null doesn't really document what is
happening here, what would you want to see here if you were to look at
this code in 5 years?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3] misc: fastrpc: possible double-free of cctx->remote_heap
2026-01-26 15:24 ` Greg KH
@ 2026-01-27 2:19 ` Xingjing Deng
2026-01-27 7:11 ` Greg KH
0 siblings, 1 reply; 4+ messages in thread
From: Xingjing Deng @ 2026-01-27 2:19 UTC (permalink / raw)
To: Greg KH
Cc: srini, amahesh, arnd, dri-devel, linux-arm-msm, linux-kernel,
Xingjing Deng, stable
This issue was also identified through static program analysis and
subsequently verified via manual inspection. I believe I have
uncovered a potential risk of abnormal execution here, hence I’m
reporting this problem.
Greg KH <gregkh@linuxfoundation.org> 于2026年1月26日周一 23:24写道:
>
> On Sat, Jan 17, 2026 at 10:09:59PM +0800, Xingjing Deng wrote:
> > fastrpc_init_create_static_process() may free cctx->remote_heap on the
> > err_map path but does not clear the pointer. Later, fastrpc_rpmsg_remove()
> > frees cctx->remote_heap again if it is non-NULL, which can lead to a
> > double-free if the INIT_CREATE_STATIC ioctl hits the error path and the rpmsg
> > device is subsequently removed/unbound.
> > Clear cctx->remote_heap after freeing it in the error path to prevent the
> > later cleanup from freeing it again.
> >
> > Fixes: 0871561055e66 ("misc: fastrpc: Add support for audiopd")
> > Cc: stable@vger.kernel.org # 6.2+
> > Signed-off-by: Xingjing Deng <xjdeng@buaa.edu.cn>
> >
> > ---
> >
> > v3:
> > - Adjust the email format.
> > - Link to v2: https://lore.kernel.org/linux-arm-msm/2026011650-gravitate-happily-5d0c@gregkh/T/#t
> >
> > v2:
> > - Add Fixes: and Cc: stable@vger.kernel.org.
> > - Link to v1: https://lore.kernel.org/linux-arm-msm/2026011227-casualty-rephrase-9381@gregkh/T/#t
> >
> > drivers/misc/fastrpc.c | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> > index ee652ef01534..fb3b54e05928 100644
> > --- a/drivers/misc/fastrpc.c
> > +++ b/drivers/misc/fastrpc.c
> > @@ -1370,6 +1370,7 @@ static int fastrpc_init_create_static_process(struct fastrpc_user *fl,
> > }
> > err_map:
> > fastrpc_buf_free(fl->cctx->remote_heap);
> > + fl->cctx->remote_heap = NULL;
> > err_name:
> > kfree(name);
> > err:
> > --
> > 2.25.1
> >
> >
>
> How was this found and tested?
>
> And randomly setting a pointer to null doesn't really document what is
> happening here, what would you want to see here if you were to look at
> this code in 5 years?
>
> thanks,
>
> greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3] misc: fastrpc: possible double-free of cctx->remote_heap
2026-01-27 2:19 ` Xingjing Deng
@ 2026-01-27 7:11 ` Greg KH
0 siblings, 0 replies; 4+ messages in thread
From: Greg KH @ 2026-01-27 7:11 UTC (permalink / raw)
To: Xingjing Deng
Cc: srini, amahesh, arnd, dri-devel, linux-arm-msm, linux-kernel,
Xingjing Deng, stable
On Tue, Jan 27, 2026 at 10:19:50AM +0800, Xingjing Deng wrote:
> This issue was also identified through static program analysis and
> subsequently verified via manual inspection. I believe I have
> uncovered a potential risk of abnormal execution here, hence I’m
> reporting this problem.
Again, you need to document this fact, please read the rules for
submitting patches that are found by tools. And say you have not tested
this, because that means there is a much lower chance that the change is
correct.
thanks,
greg k-h
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-01-27 7:11 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-17 14:09 [PATCH v3] misc: fastrpc: possible double-free of cctx->remote_heap Xingjing Deng
2026-01-26 15:24 ` Greg KH
2026-01-27 2:19 ` Xingjing Deng
2026-01-27 7:11 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox