All of lore.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


WARNING: multiple messages have this Message-ID (diff)
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


-- 
ath11k mailing list
ath11k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath11k

WARNING: multiple messages have this Message-ID (diff)
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


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
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: dri-devel@lists.freedesktop.org,
	"Chris Wilson" <chris@chris-wilson.co.uk>,
	linux-scsi@vger.kernel.org, x86@kernel.org,
	"James Smart" <james.smart@broadcom.com>,
	tboot-devel@lists.sourceforge.net,
	"Kalle Valo" <kvalo@codeaurora.org>,
	ath11k@lists.infradead.org, "Serge Hallyn" <serge@hallyn.com>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	"Ning Sun" <ning.sun@intel.com>, "Anders Larsen" <al@alarsen.net>,
	"José Roberto de Souza" <jose.souza@intel.com>,
	cgroups@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	"Aditya Swarup" <aditya.swarup@intel.com>,
	netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	"Tejun Heo" <tj@kernel.org>,
	"Simon Kelley" <simon@thekelleys.org.uk>,
	intel-gfx@lists.freedesktop.org
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

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

WARNING: multiple messages have this Message-ID (diff)
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: dri-devel@lists.freedesktop.org,
	Chris Wilson <chris@chris-wilson.co.uk>,
	linux-scsi@vger.kernel.org, x86@kernel.org,
	James Smart <james.smart@broadcom.com>,
	tboot-devel@lists.sourceforge.net,
	Kalle Valo <kvalo@codeaurora.org>,
	ath11k@lists.infradead.org, Serge Hallyn <serge@hallyn.com>,
	Arnd Bergmann <arnd@arndb.de>,
	"James E.J. Bottomley" <jejb@linux.ibm.com>,
	Ning Sun <ning.sun@intel.com>, Anders Larsen <al@alarsen.net>,
	cgroups@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
	linux-security-module@vger.kernel.org, Tejun Heo <tj@kernel.org>,
	Simon Kelley <simon@thekelleys.org.uk>,
	intel-gfx@lists.freedesktop.org
Subject: [Intel-gfx] [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

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

WARNING: multiple messages have this Message-ID (diff)
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>
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: 197+ 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 ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02 ` Arnd Bergmann
2021-03-22 16:02 ` Arnd Bergmann
2021-03-22 16:02 ` 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   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 23:30   ` [tip: x86/boot] x86/boot/compressed: Avoid " tip-bot2 for Arnd Bergmann
2021-03-22 16:02 ` [PATCH 02/11] x86: tboot: avoid Wstringop-overread-warning Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 20:29   ` Ingo Molnar
2021-03-22 20:29     ` Ingo Molnar
2021-03-22 20:29     ` [Intel-gfx] " Ingo Molnar
2021-03-22 20:29     ` Ingo Molnar
2021-03-22 20:29     ` Ingo Molnar
2021-03-22 20:29     ` Ingo Molnar
2021-03-22 21:39     ` Arnd Bergmann
2021-03-22 21:39       ` Arnd Bergmann
2021-03-22 21:39       ` [Intel-gfx] " Arnd Bergmann
2021-03-22 21:39       ` Arnd Bergmann
2021-03-22 21:39       ` Arnd Bergmann
2021-03-22 21:39       ` Arnd Bergmann
2021-03-22 22:07     ` Martin Sebor
2021-03-22 22:07       ` Martin Sebor
2021-03-22 22:07       ` [Intel-gfx] " Martin Sebor
2021-03-22 22:07       ` Martin Sebor
2021-03-22 22:07       ` Martin Sebor
2021-03-22 22:07       ` Martin Sebor
2021-03-22 22:49       ` Arnd Bergmann
2021-03-22 22:49         ` Arnd Bergmann
2021-03-22 22:49         ` [Intel-gfx] " Arnd Bergmann
2021-03-22 22:49         ` Arnd Bergmann
2021-03-22 22:49         ` Arnd Bergmann
2021-03-22 22:49         ` Arnd Bergmann
2021-03-22 23:13       ` Ingo Molnar
2021-03-22 23:13         ` Ingo Molnar
2021-03-22 23:13         ` [Intel-gfx] " Ingo Molnar
2021-03-22 23:13         ` Ingo Molnar
2021-03-22 23:13         ` Ingo Molnar
2021-03-22 23:13         ` Ingo Molnar
2021-03-24  9:11       ` David Laight
2021-03-24  9:11         ` David Laight
2021-03-24  9:11         ` [Intel-gfx] " David Laight
2021-03-24  9:11         ` David Laight
2021-03-24  9:11         ` David Laight
2021-03-24  9:11         ` David Laight
2021-03-24 10:39         ` David Laight
2021-03-24 10:39           ` David Laight
2021-03-24 10:39           ` [Intel-gfx] " David Laight
2021-03-24 10:39           ` David Laight
2021-03-24 10:39           ` David Laight
2021-03-24 10:39           ` David Laight
2021-03-22 23:30   ` [tip: x86/boot] x86/boot/tboot: Avoid Wstringop-overread-warning tip-bot2 for Arnd Bergmann
2021-03-22 16:02 ` [PATCH 03/11] security: commoncap: fix -Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:31   ` Christian Brauner
2021-03-22 16:31     ` Christian Brauner
2021-03-22 16:31     ` [Intel-gfx] " Christian Brauner
2021-03-22 16:31     ` Christian Brauner
2021-03-22 16:31     ` Christian Brauner
2021-03-22 16:31     ` Christian Brauner
2021-03-24 20:50   ` James Morris
2021-03-24 20:50     ` James Morris
2021-03-24 20:50     ` [Intel-gfx] " James Morris
2021-03-24 20:50     ` James Morris
2021-03-24 20:50     ` James Morris
2021-03-24 20:50     ` James Morris
2021-03-22 16:02 ` [PATCH 04/11] ath11: Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-09-28  9:04   ` Kalle Valo
2021-09-28  9:04   ` Kalle Valo
2021-09-28  9:04     ` Kalle Valo
2021-09-28  9:04   ` Kalle Valo
2021-09-28  9:04     ` Kalle Valo
2021-09-28  9:04     ` [Intel-gfx] " Kalle Valo
2021-03-22 16:02 ` [PATCH 05/11] qnx: avoid -Wstringop-overread warning Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02 ` [PATCH 06/11] cgroup: fix -Wzero-length-bounds warnings Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-30  8:41   ` Michal Koutný
2021-03-30  8:41     ` Michal Koutný
2021-03-30  8:41     ` [Intel-gfx] " Michal Koutný
2021-03-30  8:41     ` Michal Koutný
2021-03-30  8:41     ` Michal Koutný
2021-03-30  8:41     ` Michal Koutný
2021-03-30  9:00     ` Arnd Bergmann
2021-03-30  9:00       ` Arnd Bergmann
2021-03-30  9:00       ` [Intel-gfx] " Arnd Bergmann
2021-03-30  9:00       ` Arnd Bergmann
2021-03-30  9:00       ` Arnd Bergmann
2021-03-30  9:00       ` Arnd Bergmann
2021-03-30 14:44       ` Michal Koutný
2021-03-30 14:44         ` Michal Koutný
2021-03-30 14:44         ` [Intel-gfx] " Michal Koutný
2021-03-30 14:44         ` Michal Koutný
2021-03-30 14:44         ` Michal Koutný
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   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02 ` [PATCH 08/11] atmel: avoid gcc -Wstringop-overflow warning Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` 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
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02 ` Arnd Bergmann [this message]
2021-03-22 16:02   ` [PATCH 10/11] drm/i915: avoid stringop-overread warning on pri_latency Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-24 15:30   ` Jani Nikula
2021-03-24 15:30     ` Jani Nikula
2021-03-24 15:30     ` [Intel-gfx] " Jani Nikula
2021-03-24 15:30     ` Jani Nikula
2021-03-24 15:30     ` Jani Nikula
2021-03-24 15:30     ` Jani Nikula
2021-03-24 17:22     ` Ville Syrjälä
2021-03-24 17:22       ` Ville Syrjälä
2021-03-24 17:22       ` [Intel-gfx] " Ville Syrjälä
2021-03-24 17:22       ` Ville Syrjälä
2021-03-24 17:22       ` Ville Syrjälä
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-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` [Intel-gfx] " Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-22 16:02   ` Arnd Bergmann
2021-03-25  8:05   ` Jani Nikula
2021-03-25  8:05     ` Jani Nikula
2021-03-25  8:05     ` [Intel-gfx] " Jani Nikula
2021-03-25  8:05     ` Jani Nikula
2021-03-25  8:05     ` Jani Nikula
2021-03-25  8:05     ` Jani Nikula
2021-03-25  9:53     ` Arnd Bergmann
2021-03-25  9:53       ` Arnd Bergmann
2021-03-25  9:53       ` [Intel-gfx] " Arnd Bergmann
2021-03-25  9:53       ` Arnd Bergmann
2021-03-25  9:53       ` Arnd Bergmann
2021-03-25  9:53       ` Arnd Bergmann
2021-03-25 14:49       ` Martin Sebor
2021-03-25 14:49         ` Martin Sebor
2021-03-25 14:49         ` [Intel-gfx] " Martin Sebor
2021-03-25 14:49         ` Martin Sebor
2021-03-25 14:49         ` Martin Sebor
2021-03-25 14:49         ` Martin Sebor
2021-03-30 10:56   ` Hans de Goede
2021-03-30 10:56     ` Hans de Goede
2021-03-30 10:56     ` [Intel-gfx] " Hans de Goede
2021-03-30 10:56     ` Hans de Goede
2021-03-30 10:56     ` Hans de Goede
2021-03-30 10:56     ` Hans de Goede
2021-03-22 19:10 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for treewide: address gcc-11 -Wstringop-overread warnings Patchwork
2021-03-22 19:12 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2021-03-22 19:38 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2021-03-23 15:30 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for treewide: address gcc-11 -Wstringop-overread warnings (rev2) Patchwork
2021-03-25 22:35 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for treewide: address gcc-11 -Wstringop-overread warnings (rev3) Patchwork
2021-03-30 11:50 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for treewide: address gcc-11 -Wstringop-overread warnings (rev4) Patchwork
2021-04-06  4:53 ` [PATCH 00/11] treewide: address gcc-11 -Wstringop-overread warnings Martin K. Petersen
2021-04-06  4:53   ` [Intel-gfx] " Martin K. Petersen
2021-04-06  4:53   ` Martin K. Petersen
2021-04-06  4:53   ` Martin K. Petersen
2021-04-06  4:53   ` 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.org \
    --cc=aditya.swarup@intel.com \
    --cc=airlied@linux.ie \
    --cc=al@alarsen.net \
    --cc=arnd@arndb.de \
    --cc=ath11k@lists.infradead.org \
    --cc=cgroups@vger.kernel.org \
    --cc=chris@chris-wilson.co.uk \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=imre.deak@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=james.smart@broadcom.com \
    --cc=jani.nikula@linux.intel.com \
    --cc=jejb@linux.ibm.com \
    --cc=joonas.lahtinen@linux.intel.com \
    --cc=jose.souza@intel.com \
    --cc=kvalo@codeaurora.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux-wireless@vger.kernel.org \
    --cc=matthew.d.roper@intel.com \
    --cc=msebor@gcc.gnu.org \
    --cc=netdev@vger.kernel.org \
    --cc=ning.sun@intel.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=serge@hallyn.com \
    --cc=simon@thekelleys.org.uk \
    --cc=tboot-devel@lists.sourceforge.net \
    --cc=tj@kernel.org \
    --cc=ville.syrjala@linux.intel.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.