提交 e6bda3e4 编写于 作者: V Ville Syrjälä 提交者: Daniel Vetter

drm/i915: Avoid overflowing the DP link rate arrays

Complain loudly if we ever attempt to overflow the the supported_rates[]
array. This should never happen since the sink_rates[] array will always
be smaller or of equal size. But should someone change that we want to
catch it without scribblign over the stack.
Signed-off-by: NVille Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: NSonika Jindal <sonika.jindal@intel.com>
Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
上级 ed4e9c1d
...@@ -1203,6 +1203,8 @@ static int intersect_rates(const int *source_rates, int source_len, ...@@ -1203,6 +1203,8 @@ static int intersect_rates(const int *source_rates, int source_len,
while (i < source_len && j < sink_len) { while (i < source_len && j < sink_len) {
if (source_rates[i] == sink_rates[j]) { if (source_rates[i] == sink_rates[j]) {
if (WARN_ON(k >= DP_MAX_SUPPORTED_RATES))
return k;
supported_rates[k] = source_rates[i]; supported_rates[k] = source_rates[i];
++k; ++k;
++i; ++i;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册