rproc_mem_entry_init() interprets its name argument as a printf format
string. Passing the device name directly allows percent conversions in a
DT-derived platform device name to consume nonexistent variadic arguments.

Pass the device name through a constant format so it is always handled as
data. Limit the formatted name to 31 characters to match the space
available in rproc_mem_entry::name while leaving room for its terminating
null byte.

Fixes: f87b4998994e ("remoteproc: Add AMD MicroBlaze/V BRAM-based remote 
processor driver")
Reviewed-by: Tanmay Shah <[email protected]>
Signed-off-by: Ben Levinsky <[email protected]>
---
 drivers/remoteproc/amd_mbv_bram_rproc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/remoteproc/amd_mbv_bram_rproc.c 
b/drivers/remoteproc/amd_mbv_bram_rproc.c
index e4a103cf8455..6cf33c7b7e64 100644
--- a/drivers/remoteproc/amd_mbv_bram_rproc.c
+++ b/drivers/remoteproc/amd_mbv_bram_rproc.c
@@ -72,7 +72,7 @@ static int amd_bram_rproc_prepare(struct rproc *rproc)
                                   resource_size(&res), da,
                                   rproc_mem_entry_ioremap_wc,
                                   rproc_mem_entry_iounmap,
-                                  dev_name(priv->dev));
+                                  "%.31s", dev_name(priv->dev));
        if (!mem)
                return -ENOMEM;
 
-- 
2.34.1


Reply via email to