public inbox for netdev@vger.kernel.org 
 help / color / mirror / Atom feed
From: Arnd Bergmann <arnd@kernel•org>
To: linux-kernel@vger•kernel.org, Martin Sebor <msebor@gcc•gnu.org>,
	Jani Nikula <jani.nikula@linux•intel.com>,
	Joonas Lahtinen <joonas.lahtinen@linux•intel.com>,
	Rodrigo Vivi <rodrigo.vivi@intel•com>,
	David Airlie <airlied@linux•ie>, Daniel Vetter <daniel@ffwll•ch>
Cc: "Arnd Bergmann" <arnd@arndb•de>,
	x86@kernel•org, "Ning Sun" <ning.sun@intel•com>,
	"Kalle Valo" <kvalo@codeaurora•org>,
	"Simon Kelley" <simon@thekelleys•org.uk>,
	"James Smart" <james.smart@broadcom•com>,
	"James E.J. Bottomley" <jejb@linux•ibm.com>,
	"Anders Larsen" <al@alarsen•net>, "Tejun Heo" <tj@kernel•org>,
	"Serge Hallyn" <serge@hallyn•com>,
	"Imre Deak" <imre.deak@intel•com>,
	linux-arm-kernel@lists•infradead.org,
	tboot-devel@lists•sourceforge.net,
	intel-gfx@lists•freedesktop.org, dri-devel@lists•freedesktop.org,
	ath11k@lists•infradead.org, linux-wireless@vger•kernel.org,
	netdev@vger•kernel.org, linux-scsi@vger•kernel.org,
	cgroups@vger•kernel.org, linux-security-module@vger•kernel.org,
	"Chris Wilson" <chris@chris-wilson•co.uk>,
	"José Roberto de Souza" <jose.souza@intel•com>,
	"Ville Syrjälä" <ville.syrjala@linux•intel.com>,
	"Matt Roper" <matthew.d.roper@intel•com>,
	"Aditya Swarup" <aditya.swarup@intel•com>
Subject: [PATCH 10/11] drm/i915: avoid stringop-overread warning on pri_latency
Date: Mon, 22 Mar 2021 17:02:48 +0100	[thread overview]
Message-ID: <20210322160253.4032422-11-arnd@kernel.org> (raw)
In-Reply-To: <20210322160253.4032422-1-arnd@kernel.org>

From: Arnd Bergmann <arnd@arndb•de>

gcc-11 warns about what appears to be an out-of-range array access:

In function ‘snb_wm_latency_quirk’,
    inlined from ‘ilk_setup_wm_latency’ at drivers/gpu/drm/i915/intel_pm.c:3108:3:
drivers/gpu/drm/i915/intel_pm.c:3057:9: error: ‘intel_print_wm_latency’ reading 16 bytes from a region of size 10 [-Werror=stringop-overread]
 3057 |         intel_print_wm_latency(dev_priv, "Primary", dev_priv->wm.pri_latency);
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/gpu/drm/i915/intel_pm.c: In function ‘ilk_setup_wm_latency’:
drivers/gpu/drm/i915/intel_pm.c:3057:9: note: referencing argument 3 of type ‘const u16 *’ {aka ‘const short unsigned int *’}
drivers/gpu/drm/i915/intel_pm.c:2994:13: note: in a call to function ‘intel_print_wm_latency’
 2994 | static void intel_print_wm_latency(struct drm_i915_private *dev_priv,
      |             ^~~~~~~~~~~~~~~~~~~~~~

My guess is that this code is actually safe because the size of the
array depends on the hardware generation, and the function checks for
that, but at the same time I would not expect the compiler to work it
out correctly, and the code seems a little fragile with regards to
future changes. Simply increasing the size of the array should help.

Signed-off-by: Arnd Bergmann <arnd@arndb•de>
---
 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 26d69d06aa6d..3567602e0a35 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
-- 
2.29.2


  parent reply	other threads:[~2021-03-22 16:07 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-22 16:02 [PATCH 00/11] treewide: address gcc-11 -Wstringop-overread warnings Arnd Bergmann
2021-03-22 16:02 ` [PATCH 01/11] x86: compressed: avoid gcc-11 -Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02 ` [PATCH 02/11] x86: tboot: avoid Wstringop-overread-warning Arnd Bergmann
2021-03-22 20:29   ` Ingo Molnar
2021-03-22 21:39     ` Arnd Bergmann
2021-03-22 22:07     ` Martin Sebor
2021-03-22 22:49       ` Arnd Bergmann
2021-03-22 23:13       ` Ingo Molnar
2021-03-24  9:11       ` David Laight
2021-03-24 10:39         ` David Laight
2021-03-22 16:02 ` [PATCH 03/11] security: commoncap: fix -Wstringop-overread warning Arnd Bergmann
2021-03-22 16:31   ` Christian Brauner
2021-03-24 20:50   ` James Morris
2021-03-22 16:02 ` [PATCH 04/11] ath11: Wstringop-overread warning Arnd Bergmann
2021-09-28  9:04   ` Kalle Valo
2021-03-22 16:02 ` [PATCH 05/11] qnx: avoid -Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02 ` [PATCH 06/11] cgroup: fix -Wzero-length-bounds warnings Arnd Bergmann
2021-03-30  8:41   ` Michal Koutný
2021-03-30  9:00     ` Arnd Bergmann
2021-03-30 14:44       ` Michal Koutný
2021-03-22 16:02 ` [PATCH 07/11] ARM: sharpsl_param: work around -Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02 ` [PATCH 08/11] atmel: avoid gcc -Wstringop-overflow warning Arnd Bergmann
2021-03-22 16:02 ` [PATCH 09/11] scsi: lpfc: fix gcc -Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02 ` Arnd Bergmann [this message]
2021-03-24 15:30   ` [PATCH 10/11] drm/i915: avoid stringop-overread warning on pri_latency Jani Nikula
2021-03-24 17:22     ` Ville Syrjälä
2021-03-22 16:02 ` [PATCH 11/11] [RFC] drm/i915/dp: fix array overflow warning Arnd Bergmann
2021-03-25  8:05   ` Jani Nikula
2021-03-25  9:53     ` Arnd Bergmann
2021-03-25 14:49       ` Martin Sebor
2021-03-30 10:56   ` Hans de Goede
2021-04-06  4:53 ` [PATCH 00/11] treewide: address gcc-11 -Wstringop-overread warnings Martin K. Petersen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210322160253.4032422-11-arnd@kernel.org \
    --to=arnd@kernel$(echo .)org \
    --cc=aditya.swarup@intel$(echo .)com \
    --cc=airlied@linux$(echo .)ie \
    --cc=al@alarsen$(echo .)net \
    --cc=arnd@arndb$(echo .)de \
    --cc=ath11k@lists$(echo .)infradead.org \
    --cc=cgroups@vger$(echo .)kernel.org \
    --cc=chris@chris-wilson$(echo .)co.uk \
    --cc=daniel@ffwll$(echo .)ch \
    --cc=dri-devel@lists$(echo .)freedesktop.org \
    --cc=imre.deak@intel$(echo .)com \
    --cc=intel-gfx@lists$(echo .)freedesktop.org \
    --cc=james.smart@broadcom$(echo .)com \
    --cc=jani.nikula@linux$(echo .)intel.com \
    --cc=jejb@linux$(echo .)ibm.com \
    --cc=joonas.lahtinen@linux$(echo .)intel.com \
    --cc=jose.souza@intel$(echo .)com \
    --cc=kvalo@codeaurora$(echo .)org \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    --cc=linux-kernel@vger$(echo .)kernel.org \
    --cc=linux-scsi@vger$(echo .)kernel.org \
    --cc=linux-security-module@vger$(echo .)kernel.org \
    --cc=linux-wireless@vger$(echo .)kernel.org \
    --cc=matthew.d.roper@intel$(echo .)com \
    --cc=msebor@gcc$(echo .)gnu.org \
    --cc=netdev@vger$(echo .)kernel.org \
    --cc=ning.sun@intel$(echo .)com \
    --cc=rodrigo.vivi@intel$(echo .)com \
    --cc=serge@hallyn$(echo .)com \
    --cc=simon@thekelleys$(echo .)org.uk \
    --cc=tboot-devel@lists$(echo .)sourceforge.net \
    --cc=tj@kernel$(echo .)org \
    --cc=ville.syrjala@linux$(echo .)intel.com \
    --cc=x86@kernel$(echo .)org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox