From: Dave Airlie <airl...@redhat.com>

Reported-by smatch:
drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:966 
dc_commit_planes_to_stream() error: potential null dereference 'flip_addr'.  
(kcalloc returns null)
drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:968 
dc_commit_planes_to_stream() error: potential null dereference 'plane_info'.  
(kcalloc returns null)
drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc.c:978 
dc_commit_planes_to_stream() error: potential null dereference 'scaling_info'.  
(kcalloc returns null)

Signed-off-by: Dave Airlie <airl...@redhat.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c 
b/drivers/gpu/drm/amd/display/dc/core/dc.c
index a71392f..ce3c57b 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -952,6 +952,14 @@ bool dc_commit_planes_to_stream(
        scaling_info = kcalloc(MAX_SURFACES, sizeof(struct dc_scaling_info),
                               GFP_KERNEL);
 
+       if (!flip_addr || !plane_info || !scaling_info) {
+               kfree(flip_addr);
+               kfree(plane_info);
+               kfree(scaling_info);
+               kfree(stream_update);
+               return false;
+       }
+
        memset(updates, 0, sizeof(updates));
 
        stream_update->src = dc_stream->src;
-- 
2.9.5

_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to