OSDN Git Service

drm/i915/dp: Ensure max link params are always valid
authorImre Deak <imre.deak@intel.com>
Mon, 18 Oct 2021 09:41:51 +0000 (12:41 +0300)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Wed, 27 Oct 2021 10:09:58 +0000 (06:09 -0400)
commitcc99bc62ff6902688ee7bd3a7b25eefc620fbb6a
tree3bae32fd83f61cc15a1f7f420003ddd33d846dd8
parent6c34bd4532a3f39952952ddc102737595729afc4
drm/i915/dp: Ensure max link params are always valid

Atm until the DPCD for a connector is read the max link rate and lane
count params are invalid. If the connector is modeset, in
intel_dp_compute_config(), intel_dp_common_len_rate_limit(max_link_rate)
will return 0, leading to a intel_dp->common_rates[-1] access.

Fix the above by making sure the max link params are always valid.

The above access leads to an undefined behaviour by definition, though
not causing a user visible problem to my best knowledge, see the previous
patch why. Nevertheless it is an undefined behaviour and it triggers a
BUG() in CONFIG_UBSAN builds, hence CC:stable.

Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Acked-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20211018094154.1407705-4-imre.deak@intel.com
(cherry picked from commit 9ad87de4735620ffc555592e8c5f580478fa3ed0)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/display/intel_dp.c