kmemdup could fail and return NULL. To avoid null pointer
dereference, the fix checkes its return value and returns
ENOMEM upon failures.

Signed-off-by: Kangjie Lu <k...@umn.edu>
---
 drivers/gpu/drm/amd/amdkfd/kfd_crat.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c 
b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
index 2e7c44955f43..7ef62d4e7598 100644
--- a/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
+++ b/drivers/gpu/drm/amd/amdkfd/kfd_crat.c
@@ -404,6 +404,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;
-- 
2.17.1

Reply via email to