All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: DRI Development <dri-devel@lists.freedesktop.org>
Cc: Dave Jones <davej@redhat.com>,
	Russell King <rmk+kernel@arm.linux.org.uk>,
	Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: [PATCH 12/13] drm/i2c/tda998x: Fix signed overflow issue
Date: Sat,  5 Apr 2014 11:45:01 +0200	[thread overview]
Message-ID: <1396691102-22904-14-git-send-email-daniel.vetter@ffwll.ch> (raw)
In-Reply-To: <1396691102-22904-1-git-send-email-daniel.vetter@ffwll.ch>

This is C standard hair-splitting, but afaict
- sum will be promoted to signed int in computation since
  uint8_t fits
- signed overflow is undefined.

No we need to add up an awful lot of bytes to actually make it
overflow. But I guess the real risk is gcc spotting this and going
bananas. Fix this by simply using unsigned in to force all computations
to use the well-defined unsigned behaviour.

Spotted by coverity.

Cc: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: Rob Clark <robdclark@gmail.com>
Cc: Jean-Francois Moine <moinejf@free.fr>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
---
 drivers/gpu/drm/i2c/tda998x_drv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
index 48af5cac1902..ae2754760d77 100644
--- a/drivers/gpu/drm/i2c/tda998x_drv.c
+++ b/drivers/gpu/drm/i2c/tda998x_drv.c
@@ -568,7 +568,7 @@ static irqreturn_t tda998x_irq_thread(int irq, void *data)
 
 static uint8_t tda998x_cksum(uint8_t *buf, size_t bytes)
 {
-	uint8_t sum = 0;
+	unsigned sum = 0;
 
 	while (bytes--)
 		sum += *buf++;
-- 
1.8.5.2

  parent reply	other threads:[~2014-04-05  9:45 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-05  9:44 [PATCH 00/13] coverity Daniel Vetter
2014-04-05  9:44 ` Daniel Vetter
2014-04-07 16:01   ` David Herrmann
2014-04-05  9:44 ` [PATCH 01/13] drm/mgag200: Remove unnecessary NULL check in bo_unref Daniel Vetter
2014-04-07 15:19   ` Ian Romanick
2014-04-07 19:56     ` Daniel Vetter
2014-04-07 20:08       ` Ian Romanick
2014-04-05  9:44 ` [PATCH 02/13] drm/mgag200: Remove unecessary NULL check in gem_free Daniel Vetter
2014-04-07 15:23   ` Ian Romanick
2014-04-05  9:44 ` [PATCH 03/13] drm/cirrus: Remove unnecessary NULL check in bo_unref Daniel Vetter
2014-04-05  9:44 ` [PATCH 04/13] drm/cirrus: Remove unecessary NULL check in gem_free Daniel Vetter
2014-04-07 15:25   ` Ian Romanick
2014-04-05  9:44 ` [PATCH 05/13] drm/ast: Remove unnecessary NULL check in bo_unref Daniel Vetter
2014-04-05  9:44 ` [PATCH 06/13] drm/mgag200: Remove unecessary NULL check in gem_free Daniel Vetter
2014-04-05 16:17   ` [PATCH] drm/ast: " Daniel Vetter
2014-04-07 15:26   ` [PATCH 06/13] drm/mgag200: " Ian Romanick
2014-04-05  9:44 ` [PATCH 07/13] drm/via: Remove unecessary NULL check Daniel Vetter
2014-04-07 15:51   ` David Herrmann
2014-04-07 17:08     ` Daniel Vetter
2014-04-05  9:44 ` [PATCH 08/13] drm/ast: Remove dead code from cbr_scan2 Daniel Vetter
2014-04-07 15:28   ` Ian Romanick
2014-04-07 19:54     ` Daniel Vetter
2014-04-05  9:44 ` [PATCH 09/13] drm/udl: Initialize ret in udl_driver_load Daniel Vetter
2014-04-05  9:44 ` [PATCH 10/13] drm/bochs: Remove unnecessary NULL check in bo_unref Daniel Vetter
2014-04-05  9:45 ` [PATCH 11/13] drm/bochs: Remove unecessary NULL check in gem_free Daniel Vetter
2014-04-07 15:28   ` Ian Romanick
2014-04-05  9:45 ` Daniel Vetter [this message]
2014-04-07 15:31   ` [PATCH 12/13] drm/i2c/tda998x: Fix signed overflow issue Ian Romanick
2014-04-05  9:45 ` [PATCH 13/13] drm: Fix error handling in drm_master_create Daniel Vetter
2014-04-05 11:29 [PATCH 12/13] drm/i2c/tda998x: Fix signed overflow issue Jean-Francois Moine

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=1396691102-22904-14-git-send-email-daniel.vetter@ffwll.ch \
    --to=daniel.vetter@ffwll.ch \
    --cc=davej@redhat.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=rmk+kernel@arm.linux.org.uk \
    /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.