Commit 6a502776 authored by Xingjing Deng's avatar Xingjing Deng Committed by Greg Kroah-Hartman
Browse files

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: c3c0363b ("misc: fastrpc: support complete DMA pool access to the DSP")
Cc: stable@vger.kernel.org # 6.11-rc1
Signed-off-by: default avatarXingjing Deng <xjdeng@buaa.edu.cn>
Reviewed-by: default avatarDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://patch.msgid.link/20260131065539.2124047-1-xjdeng@buaa.edu.cn


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ba2c8316
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -2390,8 +2390,10 @@ static int fastrpc_rpmsg_probe(struct rpmsg_device *rpdev)
		if (!err) {
			src_perms = BIT(QCOM_SCM_VMID_HLOS);

			qcom_scm_assign_mem(res.start, resource_size(&res), &src_perms,
			err = qcom_scm_assign_mem(res.start, resource_size(&res), &src_perms,
				    data->vmperms, data->vmcount);
			if (err)
				goto err_free_data;
		}

	}