From: Ian Romanick <idr@freedesktop.org>
To: Daniel Vetter <daniel.vetter@ffwll.ch>,
DRI Development <dri-devel@lists.freedesktop.org>
Cc: Dave Jones <davej@redhat.com>,
Russell King <rmk+kernel@arm.linux.org.uk>
Subject: Re: [PATCH 12/13] drm/i2c/tda998x: Fix signed overflow issue
Date: Mon, 07 Apr 2014 08:31:06 -0700 [thread overview]
Message-ID: <5342C4BA.3020606@freedesktop.org> (raw)
In-Reply-To: <1396691102-22904-14-git-send-email-daniel.vetter@ffwll.ch>
On 04/05/2014 02:45 AM, Daniel Vetter wrote:
> 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
^^
Now
> 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.
Seems reasonable... it also seems impossible (ha!) to break anything.
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
> 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++;
>
next prev parent reply other threads:[~2014-04-07 15:33 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 ` [PATCH 12/13] drm/i2c/tda998x: Fix signed overflow issue Daniel Vetter
2014-04-07 15:31 ` Ian Romanick [this message]
2014-04-05 9:45 ` [PATCH 13/13] drm: Fix error handling in drm_master_create Daniel Vetter
-- strict thread matches above, loose matches on Subject: below --
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=5342C4BA.3020606@freedesktop.org \
--to=idr@freedesktop.org \
--cc=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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox