Просмотр исходного кода

msm: camera: tfe: Fix null pointer deference during acquire failure

Fix null pointer deference during acquire failure for tfe bus
composite group pointer.

CRs-Fixed: 3696470
Signed-off-by: Alok Chauhan <[email protected]>
Change-Id: I20745c805dd29c65f179b27d388a60752c420d2d
Alok Chauhan 1 год назад
Родитель
Сommit
56dcfa4e56
1 измененных файлов с 4 добавлено и 4 удалено
  1. 4 4
      drivers/cam_isp/isp_hw_mgr/cam_tfe_hw_mgr.c

+ 4 - 4
drivers/cam_isp/isp_hw_mgr/cam_tfe_hw_mgr.c

@@ -2475,13 +2475,15 @@ free_res:
 	cam_tfe_hw_mgr_release_hw_for_ctx(tfe_ctx);
 	tfe_ctx->ctx_in_use = 0;
 	tfe_ctx->is_rdi_only_context = 0;
-	tfe_ctx->cdm_handle = 0;
-	tfe_ctx->cdm_ops = NULL;
 	tfe_ctx->init_done = false;
 	tfe_ctx->is_dual = false;
 free_cdm:
 	cam_cdm_release(tfe_ctx->cdm_handle);
+	tfe_ctx->cdm_handle = 0;
+	tfe_ctx->cdm_ops = NULL;
 free_ctx:
+	kfree(tfe_ctx->tfe_bus_comp_grp);
+	tfe_ctx->tfe_bus_comp_grp = NULL;
 	cam_tfe_hw_mgr_put_ctx(&tfe_hw_mgr->free_ctx_list, &tfe_ctx);
 	if (in_port) {
 		for (i = 0; i < acquire_hw_info->num_inputs; i++) {
@@ -2492,8 +2494,6 @@ free_ctx:
 		kfree(in_port);
 		in_port = NULL;
 	}
-	kfree(tfe_ctx->tfe_bus_comp_grp);
-	tfe_ctx->tfe_bus_comp_grp = NULL;
 err:
 	/* Dump all the current acquired HW */
 	cam_tfe_hw_mgr_dump_all_ctx();