On Tue, 04 May 2021, Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote: > From: Andi Kleen <andi@xxxxxxxxxxxxxx> > > Newer gcc prints the following warning: > > drivers/gpu/drm/i915/intel_pm.c:3057:9: warning: ‘intel_print_wm_latency’ reading 16 bytes from a region of size 10 [-Wstringop-overread] > and some other related warnings in similar functions. > > gcc has a point here. Some of the latency arrays only have 5 members, > but print_wm_latency may read up to max_level returned by ilk_wm_max_level, > which can be upto 7 for the >= GEN9 case. > > So it will read some fields beyond the array. > > Increase all the latency fields to 8 members, which is enough for SKL. > > I don't know if they are correctly initialized upto 8, but dev_priv > should start out as zero, so presumably they will be zero. Thanks, the warning should be fixed by commit c6deb5e97ded ("drm/i915/pm: Make the wm parameter of print_wm_latency a pointer") in drm-intel-next. There doesn't actually seem to be a bug here, but I wonder if we should send that to stable or v5.13-rc1+ anyway to stop people spending time on the same issue. BR, Jani. > > Signed-off-by: Andi Kleen <andi@xxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/i915_drv.h | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h > index cb62ddba2035..c80add5f6d33 100644 > --- a/drivers/gpu/drm/i915/i915_drv.h > +++ b/drivers/gpu/drm/i915/i915_drv.h > @@ -1095,11 +1095,11 @@ struct drm_i915_private { > * in 0.5us units for WM1+. > */ > /* primary */ > - u16 pri_latency[5]; > + u16 pri_latency[8]; > /* sprite */ > - u16 spr_latency[5]; > + u16 spr_latency[8]; > /* cursor */ > - u16 cur_latency[5]; > + u16 cur_latency[8]; > /* > * Raw watermark memory latency values > * for SKL for all 8 levels -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel