diff options
| author | Jianping Li <jianping.li@oss.qualcomm.com> | 2026-08-26 11:38:03 +0800 |
|---|---|---|
| committer | Srinivas Kandagatla <srini@kernel.org> | 2026-09-14 09:03:52 +0100 |
| commit | 9981fbe599e80d0fa264b714ebf14d8d80d9790a (patch) | |
| tree | 83296f7b4ede545603784c72f65f3a0ddf749d06 /tools/perf/scripts/python | |
| parent | 2159430fe26068ca3c89557ddd2d5eb17a5a8cf0 (diff) | |
| download | linux-next-9981fbe599e80d0fa264b714ebf14d8d80d9790a.tar.gz linux-next-9981fbe599e80d0fa264b714ebf14d8d80d9790a.zip | |
misc: fastrpc: Allocate entire reserved memory for Audio PD in probe
Allocating and freeing Audio PD memory from userspace is unsafe because
the kernel cannot reliably determine when the DSP has finished using the
memory. Userspace may free buffers while they are still in use by the DSP,
and remote free requests cannot be safely trusted.
Additionally, the current implementation allows userspace to repeatedly
grow the Audio PD heap, but does not support shrinking it. This can lead
to unbounded memory usage over time, effectively causing a memory leak.
Fix this by allocating the entire Audio PD reserved-memory region during
rpmsg probe and tying its lifetime to the rpmsg channel. This removes
userspace-controlled alloc/free and ensures that memory is reclaimed only
when the DSP process is torn down.
The reserved-memory region is now mandatory for the Audio PD domain.
Rather than failing rpmsg probe when it is missing, validate it in
fastrpc_init_create_static_process() and reject only the static-process
creation. This keeps the fastrpc device probing for all other domains
even on a misconfigured device tree.
Fixes: 0871561055e66 ("misc: fastrpc: Add support for audiopd")
Cc: stable@kernel.org
Signed-off-by: Jianping Li <jianping.li@oss.qualcomm.com>
Reviewed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Link: https://lore.kernel.org/all/20260814101955.234238-1-jianping.li@oss.qualcomm.com/
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
