Messages in this thread | | | Date | Mon, 27 Feb 2023 07:35:51 +0300 | From | Dan Carpenter <> | Subject | drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_factory.c:365 dc_link_construct_phy() warn: variable dereferenced before check 'link->link_enc' (see line 362) |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 2fcd07b7ccd5fd10b2120d298363e4e6c53ccf9c commit: 54618888d1ea7a26f8bccfb89e3c2420350c8047 drm/amd/display: break down dc_link.c config: m68k-randconfig-m031-20230226 (https://download.01.org/0day-ci/archive/20230226/202302261837.dKavRZA5-lkp@intel.com/config) compiler: m68k-linux-gcc (GCC) 12.1.0
If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Reported-by: Dan Carpenter <error27@gmail.com> | Link: https://lore.kernel.org/r/202302261837.dKavRZA5-lkp@intel.com/
New smatch warnings: drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_factory.c:365 dc_link_construct_phy() warn: variable dereferenced before check 'link->link_enc' (see line 362) drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_dpms.c:2307 link_set_dpms_on() warn: if statement not indented
Old smatch warnings: drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_factory.c:145 get_ddc_line() warn: inconsistent indenting drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_factory.c:201 dc_link_construct_phy() warn: inconsistent indenting
vim +365 drivers/gpu/drm/amd/amdgpu/../display/dc/link/link_factory.c
54618888d1ea7a Wenjing Liu 2023-01-18 348 enc_init_data.ctx = dc_ctx; 54618888d1ea7a Wenjing Liu 2023-01-18 349 bp_funcs->get_src_obj(dc_ctx->dc_bios, link->link_id, 0, 54618888d1ea7a Wenjing Liu 2023-01-18 350 &enc_init_data.encoder); 54618888d1ea7a Wenjing Liu 2023-01-18 351 enc_init_data.connector = link->link_id; 54618888d1ea7a Wenjing Liu 2023-01-18 352 enc_init_data.channel = get_ddc_line(link); 54618888d1ea7a Wenjing Liu 2023-01-18 353 enc_init_data.hpd_source = get_hpd_line(link); 54618888d1ea7a Wenjing Liu 2023-01-18 354 54618888d1ea7a Wenjing Liu 2023-01-18 355 link->hpd_src = enc_init_data.hpd_source; 54618888d1ea7a Wenjing Liu 2023-01-18 356 54618888d1ea7a Wenjing Liu 2023-01-18 357 enc_init_data.transmitter = 54618888d1ea7a Wenjing Liu 2023-01-18 358 translate_encoder_to_transmitter(enc_init_data.encoder); 54618888d1ea7a Wenjing Liu 2023-01-18 359 link->link_enc = 54618888d1ea7a Wenjing Liu 2023-01-18 360 link->dc->res_pool->funcs->link_enc_create(dc_ctx, &enc_init_data); 54618888d1ea7a Wenjing Liu 2023-01-18 361 54618888d1ea7a Wenjing Liu 2023-01-18 @362 DC_LOG_DC("BIOS object table - DP_IS_USB_C: %d", link->link_enc->features.flags.bits.DP_IS_USB_C); ^^^^^^^^^^^^^^^^
54618888d1ea7a Wenjing Liu 2023-01-18 363 DC_LOG_DC("BIOS object table - IS_DP2_CAPABLE: %d", link->link_enc->features.flags.bits.IS_DP2_CAPABLE); ^^^^^^^^^^^^^^^^
54618888d1ea7a Wenjing Liu 2023-01-18 364 54618888d1ea7a Wenjing Liu 2023-01-18 @365 if (!link->link_enc) { ^^^^^^^^^^^^^^ Too late.
54618888d1ea7a Wenjing Liu 2023-01-18 366 DC_ERROR("Failed to create link encoder!\n"); 54618888d1ea7a Wenjing Liu 2023-01-18 367 goto link_enc_create_fail; 54618888d1ea7a Wenjing Liu 2023-01-18 368 } 54618888d1ea7a Wenjing Liu 2023-01-18 369 54618888d1ea7a Wenjing Liu 2023-01-18 370 /* Update link encoder tracking variables. These are used for the dynamic 54618888d1ea7a Wenjing Liu 2023-01-18 371 * assignment of link encoders to streams. 54618888d1ea7a Wenjing Liu 2023-01-18 372 */ 54618888d1ea7a Wenjing Liu 2023-01-18 373 link->eng_id = link->link_enc->preferred_engine; 54618888d1ea7a Wenjing Liu 2023-01-18 374 link->dc->res_pool->link_encoders[link->eng_id - ENGINE_ID_DIGA] = link->link_enc; 54618888d1ea7a Wenjing Liu 2023-01-18 375 link->dc->res_pool->dig_link_enc_count++; 54618888d1ea7a Wenjing Liu 2023-01-18 376 54618888d1ea7a Wenjing Liu 2023-01-18 377 link->link_enc_hw_inst = link->link_enc->transmitter;
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests
| |