From 29400cbbae01472ddb103fe6bd8a3a8619f63f80 Mon Sep 17 00:00:00 2001 From: Terje Bergstrom Date: Thu, 19 Jan 2017 15:32:50 -0800 Subject: gpu: nvgpu: Free board_obj_ptr in case of error If construct_clk_prog() gets an error reported in status, it returns NULL instead of the constructed board_obj_ptr. Call a destructor to prevent leaking any possibly constructed board_obj_ptr. Coverity ID 490171 Change-Id: Icf359da6511b108a03dd86d4556c5cbb288e90de Signed-off-by: Terje Bergstrom Reviewed-on: http://git-master/r/1291682 Reviewed-by: svccoveritychecker GVS: Gerrit_Virtual_Submit --- drivers/gpu/nvgpu/clk/clk_prog.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'drivers/gpu/nvgpu') diff --git a/drivers/gpu/nvgpu/clk/clk_prog.c b/drivers/gpu/nvgpu/clk/clk_prog.c index d4876da8..b8c8d9a2 100644 --- a/drivers/gpu/nvgpu/clk/clk_prog.c +++ b/drivers/gpu/nvgpu/clk/clk_prog.c @@ -751,8 +751,11 @@ static struct clk_prog *construct_clk_prog(struct gk20a *g, void *pargs) return NULL; } - if (status) + if (status) { + if (board_obj_ptr) + board_obj_ptr->destruct(board_obj_ptr); return NULL; + } gk20a_dbg_info(" Done"); -- cgit v1.2.2