On Fri, 18 Feb 2022, Ville Syrjala ville.syrjala@linux.intel.com wrote:
From: Ville Syrjälä ville.syrjala@linux.intel.com
Initialize on-stack modes with drm_mode_init() to guarantee no stack garbage in the list head, or that we aren't copying over another mode's list head.
Based on the following cocci script, with manual fixups: @decl@ identifier M; expression E; @@
- struct drm_display_mode M = E;
- struct drm_display_mode M;
@@ identifier decl.M; expression decl.E; statement S, S1; @@ struct drm_display_mode M; ... when != S
- drm_mode_init(&M, &E);
S1
@@ expression decl.E; @@
- &*E
- E
Signed-off-by: Ville Syrjälä ville.syrjala@linux.intel.com
I wonder if that cocci could be added to scripts/coccinelle or something to detect anyone adding new ones?
Anyway,
Reviewed-by: Jani Nikula jani.nikula@intel.com
drivers/gpu/drm/i915/display/intel_display.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index 740620ef07ad..74c5a99ab276 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -6898,8 +6898,9 @@ intel_crtc_update_active_timings(const struct intel_crtc_state *crtc_state) { struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc); struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
- struct drm_display_mode adjusted_mode =
crtc_state->hw.adjusted_mode;
struct drm_display_mode adjusted_mode;
drm_mode_init(&adjusted_mode, &crtc_state->hw.adjusted_mode);
if (crtc_state->vrr.enable) { adjusted_mode.crtc_vtotal = crtc_state->vrr.vmax;