On Tue, Oct 10, 2023 at 2:07 AM Bob Zhou <bob.zhou@xxxxxxx> wrote: > > Recently, the driver introduce DML2 for future ASIC support. > But, some ASIC's hubbub pointer is null before calling. > It cause the below null pointer issue, so add null check to fix it. > > BUG: kernel NULL pointer dereference, address: 0000000000000000 > RIP: 0010:dc_create_resource_pool+0xc1/0x2c0 [amdgpu] Call Trace: > <TASK> > ? show_regs.cold+0x1a/0x1f > ? __die_body+0x20/0x70 > ? __die+0x2b/0x37 > ? page_fault_oops+0x136/0x2c0 > ? do_user_addr_fault+0x303/0x660 > ? exc_page_fault+0x77/0x170 > ? asm_exc_page_fault+0x27/0x30 > ? dc_create_resource_pool+0xc1/0x2c0 [amdgpu] ? dc_create_resource_pool+0x243/0x2c0 [amdgpu] > dc_create+0x23f/0x6b0 [amdgpu] > ? dmi_matches+0xa3/0x200 > amdgpu_dm_init+0x2bd/0x22a0 [amdgpu] > > Fixes: a2815ada8616 ("drm/amd/display: Introduce DML2") > > Signed-off-by: Bob Zhou <bob.zhou@xxxxxxx> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx> > --- > drivers/gpu/drm/amd/display/dc/core/dc_resource.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c > index 25562b262555..d20e01226353 100644 > --- a/drivers/gpu/drm/amd/display/dc/core/dc_resource.c > +++ b/drivers/gpu/drm/amd/display/dc/core/dc_resource.c > @@ -321,7 +321,7 @@ struct resource_pool *dc_create_resource_pool(struct dc *dc, > res_pool->ref_clocks.xtalin_clock_inKhz; > res_pool->ref_clocks.dchub_ref_clock_inKhz = > res_pool->ref_clocks.xtalin_clock_inKhz; > - if ((res_pool->hubbub->funcs->get_dchub_ref_freq)) > + if (res_pool->hubbub && res_pool->hubbub->funcs->get_dchub_ref_freq) > res_pool->hubbub->funcs->get_dchub_ref_freq(res_pool->hubbub, > res_pool->ref_clocks.dccg_ref_clock_inKhz, > &res_pool->ref_clocks.dchub_ref_clock_inKhz); > -- > 2.34.1 >