On Wed, Jan 28, 2026 at 11:34:54AM +0800, Xingjing Deng wrote:
> 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 detected by a private static analysis tool.
> No actual hardware testing was performed as the issue is purely
> code-level and verified via static analysis.
> 
> Fixes: c3c0363bc72d4 ("misc: fastrpc: support complete DMA pool access to the 
> DSP")
> Cc: [email protected] # 6.11-rc1
> Signed-off-by: Xingjing Deng <[email protected]>
> ---
> v6:
> - Add description of the detection tool.
> - Link to v5: 
> https://lore.kernel.org/linux-arm-msm/[email protected]/T/#u
> 
> v5:
> - Squash the functional change and indentation fix into a single patch.
> - Link to v4: 
> https://lore.kernel.org/linux-arm-msm/2026011637-statute-showy-2c3f@gregkh/T/#t
> 
> v4:
> - Format the indentation
> - Link to v3: 
> https://lore.kernel.org/linux-arm-msm/[email protected]/T/#t
> 
> v3:
> - Add missing [email protected] to cc list.
> - Standarlize changelog placement/format.
> - Link to v2: 
> https://lore.kernel.org/linux-arm-msm/[email protected]/T/#t
> 
> v2:
> - Add Fixes: and Cc: stable tags.
> - Link to v1: 
> https://lore.kernel.org/linux-arm-msm/[email protected]/T/#u
> ---
>  drivers/misc/fastrpc.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/misc/fastrpc.c b/drivers/misc/fastrpc.c
> index ee652ef01534..8bac2216cb20 100644
> --- a/drivers/misc/fastrpc.c
> +++ b/drivers/misc/fastrpc.c
> @@ -2337,8 +2337,11 @@ 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;
> +                     }
>               }
>  
>       }
> -- 
> 2.25.1
> 
> 

Always run checkpatch.pl on your changes so that you don't get grumpy
maintainers asking why you didn't run checkpatch.pl on your change :)

thanks,

greg k-h

Reply via email to