summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCandice Li <candice.li@amd.com>2026-05-19 12:47:24 +0800
committerAlex Deucher <alexander.deucher@amd.com>2026-06-03 13:53:08 -0400
commit79a9f51ab989af7136908072b493d642f8e9c4bb (patch)
tree4fa2d248f78b65fdc630093b954483be462fdc6f
parent05465e2a13f138258a0c77116fd8fd9f2f41952e (diff)
downloadlinux-79a9f51ab989af7136908072b493d642f8e9c4bb.tar.gz
linux-79a9f51ab989af7136908072b493d642f8e9c4bb.zip
drm/amd/amdxcp: use kasprintf for XCP platform device names
Replace the fixed stack buffer with kasprintf() so platform device names are always fully formatted. Signed-off-by: Candice Li <candice.li@amd.com> Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c b/drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c
index 44009aa8216e..995cae6be144 100644
--- a/drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c
+++ b/drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c
@@ -25,6 +25,7 @@
#include <linux/init.h>
#include <linux/module.h>
#include <linux/platform_device.h>
+#include <linux/slab.h>
#include <drm/drm_drv.h>
@@ -52,7 +53,7 @@ int amdgpu_xcp_drm_dev_alloc(struct drm_device **ddev)
{
struct platform_device *pdev;
struct xcp_device *pxcp_dev;
- char dev_name[20];
+ char *dev_name;
int ret, i;
guard(mutex)(&xcp_mutex);
@@ -68,8 +69,12 @@ int amdgpu_xcp_drm_dev_alloc(struct drm_device **ddev)
if (i >= MAX_XCP_PLATFORM_DEVICE)
return -ENODEV;
- snprintf(dev_name, sizeof(dev_name), "amdgpu_xcp_%d", i);
+ dev_name = kasprintf(GFP_KERNEL, "amdgpu_xcp_%d", i);
+ if (!dev_name)
+ return -ENOMEM;
+
pdev = platform_device_register_simple(dev_name, -1, NULL, 0);
+ kfree(dev_name);
if (IS_ERR(pdev))
return PTR_ERR(pdev);