The function radeon_get_connector_for_encoder() can return NULL and its result is checked before dereference in all functions except atombios_set_encoder_crtc_source().
Add a NULL pointer check before dereference. Found by Linux Verification Center (linuxtesting.org) with SVACE. Fixes: a4863ca93ccc ("drm/radeon/kms/DCE4.1: fix Select_CrtcSource EncodeMode setting for DP bridges (v2)") Signed-off-by: Igor Artemiev <igor.a.artem...@mcst.ru> --- drivers/gpu/drm/radeon/atombios_encoders.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/radeon/atombios_encoders.c b/drivers/gpu/drm/radeon/atombios_encoders.c index d1c5e471bdca..0cda4e6749f0 100644 --- a/drivers/gpu/drm/radeon/atombios_encoders.c +++ b/drivers/gpu/drm/radeon/atombios_encoders.c @@ -1913,9 +1913,9 @@ atombios_set_encoder_crtc_source(struct drm_encoder *encoder) if (radeon_encoder_get_dp_bridge_encoder_id(encoder) != ENCODER_OBJECT_ID_NONE) { struct drm_connector *connector = radeon_get_connector_for_encoder(encoder); - if (connector->connector_type == DRM_MODE_CONNECTOR_LVDS) + if (connector && connector->connector_type == DRM_MODE_CONNECTOR_LVDS) args.v2.ucEncodeMode = ATOM_ENCODER_MODE_LVDS; - else if (connector->connector_type == DRM_MODE_CONNECTOR_VGA) + else if (connector && connector->connector_type == DRM_MODE_CONNECTOR_VGA) args.v2.ucEncodeMode = ATOM_ENCODER_MODE_CRT; else args.v2.ucEncodeMode = atombios_get_encoder_mode(encoder); -- 2.39.2