drm/amdkfd: Check for null pointer after calling kmemdup
authorJiasheng Jiang <jiasheng@iscas.ac.cn>
Wed, 5 Jan 2022 09:09:43 +0000 (17:09 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 11 Jan 2022 20:44:27 +0000 (15:44 -0500)
As the possible failure of the allocation, kmemdup() may return NULL
pointer.
Therefore, it should be better to check the 'props2' in order to prevent
the dereference of NULL pointer.

Fixes: 3a87177eb141 ("drm/amdkfd: Add topology support for dGPUs")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdkfd/kfd_crat.c

index f187596..9624bbe 100644 (file)
@@ -1060,6 +1060,9 @@ static int kfd_parse_subtype_iolink(struct crat_subtype_iolink *iolink,
                        return -ENODEV;
                /* same everything but the other direction */
                props2 = kmemdup(props, sizeof(*props2), GFP_KERNEL);
+               if (!props2)
+                       return -ENOMEM;
+
                props2->node_from = id_to;
                props2->node_to = id_from;
                props2->kobj = NULL;