drm/amd/display: Release clck_src memory if clk_src_construct fails
[Why] Coverity reports RESOURCE_LEAK for some implemenations of clock_source_create. Do not release memory of clk_src if contructor fails. [How] Free clk_src if contructor fails. Reviewed-by: Harry Wentland <harry.wentland@amd.com> Acked-by: Tom Chung <chiahsuan.chung@amd.com> Signed-off-by: Hersen Wu <hersenxs.wu@amd.com> Tested-by: Daniel Wheeler <daniel.wheeler@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -1538,6 +1538,7 @@ struct resource_pool *dce83_create_resource_pool(
|
||||
if (dce83_construct(num_virtual_links, dc, pool))
|
||||
return &pool->base;
|
||||
|
||||
kfree(pool);
|
||||
BREAK_TO_DEBUGGER();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -1864,6 +1864,7 @@ static struct clock_source *dcn30_clock_source_create(
|
||||
return &clk_src->base;
|
||||
}
|
||||
|
||||
kfree(clk_src);
|
||||
BREAK_TO_DEBUGGER();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -1660,8 +1660,8 @@ static struct clock_source *dcn31_clock_source_create(
|
||||
return &clk_src->base;
|
||||
}
|
||||
|
||||
BREAK_TO_DEBUGGER();
|
||||
kfree(clk_src);
|
||||
BREAK_TO_DEBUGGER();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -1821,8 +1821,8 @@ static struct clock_source *dcn30_clock_source_create(
|
||||
return &clk_src->base;
|
||||
}
|
||||
|
||||
BREAK_TO_DEBUGGER();
|
||||
kfree(clk_src);
|
||||
BREAK_TO_DEBUGGER();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -1716,6 +1716,7 @@ static struct clock_source *dcn35_clock_source_create(
|
||||
return &clk_src->base;
|
||||
}
|
||||
|
||||
kfree(clk_src);
|
||||
BREAK_TO_DEBUGGER();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -1696,6 +1696,7 @@ static struct clock_source *dcn35_clock_source_create(
|
||||
return &clk_src->base;
|
||||
}
|
||||
|
||||
kfree(clk_src);
|
||||
BREAK_TO_DEBUGGER();
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user