Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

misc: fastrpc: check qcom_scm_assign_mem() return in rpmsg_probe

In the SDSP probe path, qcom_scm_assign_mem() is used to assign the
reserved memory to the configured VMIDs, but its return value was not checked.

Fail the probe if the SCM call fails to avoid continuing with an
unexpected/incorrect memory permission configuration.

This issue was found by an in-house analysis workflow that extracts AST-based
information and runs static checks, with LLM assistance for triage, and was
confirmed by manual code review.
No hardware testing was performed.

Fixes: c3c0363bc72d4 ("misc: fastrpc: support complete DMA pool access to the DSP")
Cc: stable@vger.kernel.org # 6.11-rc1
Signed-off-by: Xingjing Deng <xjdeng@buaa.edu.cn>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://patch.msgid.link/20260131065539.2124047-1-xjdeng@buaa.edu.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Xingjing Deng and committed by
Greg Kroah-Hartman
6a502776 ba2c8316

+3 -1
+3 -1
drivers/misc/fastrpc.c
··· 2390 2390 if (!err) { 2391 2391 src_perms = BIT(QCOM_SCM_VMID_HLOS); 2392 2392 2393 - qcom_scm_assign_mem(res.start, resource_size(&res), &src_perms, 2393 + err = qcom_scm_assign_mem(res.start, resource_size(&res), &src_perms, 2394 2394 data->vmperms, data->vmcount); 2395 + if (err) 2396 + goto err_free_data; 2395 2397 } 2396 2398 2397 2399 }