]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/amd/amdxcp: use kasprintf for XCP platform device names
authorCandice Li <candice.li@amd.com>
Tue, 19 May 2026 04:47:24 +0000 (12:47 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 3 Jun 2026 17:53:08 +0000 (13:53 -0400)
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>
drivers/gpu/drm/amd/amdxcp/amdgpu_xcp_drv.c

index 44009aa8216ed005219b61dac399f40e691b80d2..995cae6be144a075caac7e7e9db29f2a33c0a8b4 100644 (file)
@@ -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);