drm/amd/display: memory leak
authorNavid Emamdoost <navid.emamdoost@gmail.com>
Tue, 17 Sep 2019 03:20:44 +0000 (22:20 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 2 Oct 2019 17:58:33 +0000 (12:58 -0500)
In dcn*_clock_source_create when dcn20_clk_src_construct fails allocated
clk_src needs release.

Signed-off-by: Navid Emamdoost <navid.emamdoost@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dce100/dce100_resource.c
drivers/gpu/drm/amd/display/dc/dce110/dce110_resource.c
drivers/gpu/drm/amd/display/dc/dce112/dce112_resource.c
drivers/gpu/drm/amd/display/dc/dce120/dce120_resource.c
drivers/gpu/drm/amd/display/dc/dce80/dce80_resource.c
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_resource.c
drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c

index 1787b9bf800a0c70c165a7ff477df485dbdb24de..76d54885374abbf08df4b16041004da78d934afd 100644 (file)
@@ -668,6 +668,7 @@ struct clock_source *dce100_clock_source_create(
                return &clk_src->base;
        }
 
+       kfree(clk_src);
        BREAK_TO_DEBUGGER();
        return NULL;
 }
index 318e9c2e2ca88c56f03c68099cd1a6bc71393736..89620adc81d8b338115b07775a1b7f2452188283 100644 (file)
@@ -714,6 +714,7 @@ struct clock_source *dce110_clock_source_create(
                return &clk_src->base;
        }
 
+       kfree(clk_src);
        BREAK_TO_DEBUGGER();
        return NULL;
 }
index 83e1878161c922108027fdd1a9697a5e164d44cb..21a657e79306362432bf0f3d7a8723d849716e2f 100644 (file)
@@ -687,6 +687,7 @@ struct clock_source *dce112_clock_source_create(
                return &clk_src->base;
        }
 
+       kfree(clk_src);
        BREAK_TO_DEBUGGER();
        return NULL;
 }
index 8b85e5274bbadd97b89691b346bcb98e46d74d45..7c52f7f9196c9595d60064d0b05ecbe41a792dad 100644 (file)
@@ -500,6 +500,7 @@ static struct clock_source *dce120_clock_source_create(
                return &clk_src->base;
        }
 
+       kfree(clk_src);
        BREAK_TO_DEBUGGER();
        return NULL;
 }
index 4625df9f9fd2f867bc248836e3b7c149150db7b7..643ccb0ade006fac359c70aa74e323712771336f 100644 (file)
@@ -701,6 +701,7 @@ struct clock_source *dce80_clock_source_create(
                return &clk_src->base;
        }
 
+       kfree(clk_src);
        BREAK_TO_DEBUGGER();
        return NULL;
 }
index 59305e411a666319bf87f4f621f7ea62b0d7f205..1599bb97111114dc2eec402f7fdb99e377799830 100644 (file)
@@ -786,6 +786,7 @@ struct clock_source *dcn10_clock_source_create(
                return &clk_src->base;
        }
 
+       kfree(clk_src);
        BREAK_TO_DEBUGGER();
        return NULL;
 }
index b4e3ce22ed5294ee3b96c0df73109f5856e931de..5a2763daff4d65980733292d652ad9770c3615ca 100644 (file)
@@ -1077,6 +1077,7 @@ struct clock_source *dcn20_clock_source_create(
                return &clk_src->base;
        }
 
+       kfree(clk_src);
        BREAK_TO_DEBUGGER();
        return NULL;
 }