Thread (1 message) 1 message, 1 author, 2009-08-02

Re: [PATH] i915: Read outside array bounds

From: Jesse Barnes <hidden>
Date: 2009-08-02 23:45:25

On Wed, 29 Jul 2009 23:06:14 +0200
"Rafael J. Wysocki" [off-list ref] wrote:
On Tuesday 28 July 2009, Andrew Morton wrote:
quoted
(cc jbarnes)

On Sun, 26 Jul 2009 00:50:38 +0200
Roel Kluin [off-list ref] wrote:
quoted
dev_priv->saveSWF1 is a 16 element array, but this reads up to
index 22

Signed-off-by: Roel Kluin <redacted>
---
save_state does not do this addition, can it be removed? please
review.
diff --git a/drivers/gpu/drm/i915/i915_suspend.c
b/drivers/gpu/drm/i915/i915_suspend.c index 9e1d16e..1d04e19
100644 --- a/drivers/gpu/drm/i915/i915_suspend.c
+++ b/drivers/gpu/drm/i915/i915_suspend.c
@@ -598,7 +598,7 @@ int i915_restore_state(struct drm_device *dev)
 
 	for (i = 0; i < 16; i++) {
 		I915_WRITE(SWF00 + (i << 2),
dev_priv->saveSWF0[i]);
-		I915_WRITE(SWF10 + (i << 2),
dev_priv->saveSWF1[i+7]);
+		I915_WRITE(SWF10 + (i << 2),
dev_priv->saveSWF1[i]); }
 	for (i = 0; i < 3; i++)
 		I915_WRITE(SWF30 + (i << 2),
dev_priv->saveSWF2[i]);
This looks rather correct and the original code looked rather wrong.

Someone please tell me that this might fix one of our splendid
number of i915 bugs :(
Hmm, Jesse, what's your opinion about this one?  It looks correct to
me.
Yeah, the fix looks fine.  And yes, we're upstreaming bug fixes as
quickly as we responsibly can.

Jesse
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help