All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Roel Kluin <roel.kluin@gmail.com>
Cc: adaplas@gmail.com, linux-fbdev-devel@lists.sourceforge.net,
	linux-kernel@vger.kernel.org
Subject: Re: fbcmap: non working tests on unsigned cmap->start
Date: Thu, 23 Apr 2009 13:41:10 -0700	[thread overview]
Message-ID: <20090423134110.51ea8df2.akpm@linux-foundation.org> (raw)
In-Reply-To: <49EDD799.8060607@gmail.com>

On Tue, 21 Apr 2009 16:26:33 +0200
Roel Kluin <roel.kluin@gmail.com> wrote:

> vi include/linux/fb.h +478
> 
> Note that struct fb_cmap_user cmap->start in fb_set_user_cmap() is unsigned.
> Should there maybe be a test:
> 
> if (cmap->start > MAX || ...)
> 
> (and what should MAX be then?)
> 
> Otherwise you may want to apply the cleanup patch below
> 
> Roel
> ------------------------------>8-------------8<---------------------------------
> Remove redundant tests on unsigned
> 
> Signed-off-by: Roel Kluin <roel.kluin@gmail.com> 
> ---
> diff --git a/drivers/video/fbcmap.c b/drivers/video/fbcmap.c
> index f53b9f1..958bf4e 100644
> --- a/drivers/video/fbcmap.c
> +++ b/drivers/video/fbcmap.c
> @@ -266,8 +266,7 @@ int fb_set_user_cmap(struct fb_cmap_user *cmap, struct fb_info *info)
>  		rc = -ENODEV;
>  		goto out;
>  	}
> -	if (cmap->start < 0 || (!info->fbops->fb_setcolreg &&
> -				!info->fbops->fb_setcmap)) {
> +	if (!info->fbops->fb_setcolreg && !info->fbops->fb_setcmap) {
>  		rc = -EINVAL;
>  		goto out1;
>  	}

argh.

- Perhaps userspace can kill the kernel by sending a "negative"
  `start'.  Removing the test will make it even less likely that we'll
  fix this bug.

- If this bug doesn't exist, and there _is_ userspace which is
  legitimately sending in "negative" values of `start' (unlikely?) then
  we will break userspace if we fix this comparison.

IOW, I don't have enough knowledge about this code to be able to know
what to do.

  reply	other threads:[~2009-04-23 20:41 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-21 14:26 fbcmap: non working tests on unsigned cmap->start Roel Kluin
2009-04-23 20:41 ` Andrew Morton [this message]
2009-04-23 21:47   ` [Linux-fbdev-devel] " Ville Syrjälä
2009-04-23 21:56     ` Andrew Morton
2009-04-26 12:20     ` Roel Kluin
2009-04-26 12:20       ` [Linux-fbdev-devel] " Roel Kluin
2009-04-26 13:15       ` Ville Syrjälä
2009-04-26 13:15         ` [Linux-fbdev-devel] " Ville Syrjälä
2009-04-27 11:58         ` Roel Kluin
2009-04-27 11:58           ` [Linux-fbdev-devel] " Roel Kluin
2009-04-27 12:21           ` Geert Uytterhoeven

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=20090423134110.51ea8df2.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=adaplas@gmail.com \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=roel.kluin@gmail.com \
    /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.