Re: [Security] [PATCH] drivers/video/sis/sis_main.c: preventreading uninitialized stack memory

From: Andrew Morton
Date: Thu Sep 16 2010 - 17:07:20 EST


On Wed, 15 Sep 2010 17:43:53 -0400
Dan Rosenberg <drosenberg@xxxxxxxxxxxxx> wrote:

> The FBIOGET_VBLANK device ioctl allows unprivileged users to read 16
> bytes of uninitialized stack memory, because the "reserved" member of
> the fb_vblank struct declared on the stack is not altered or zeroed
> before being copied back to the user. This patch takes care of it.
>
> Signed-off-by: Dan Rosenberg <dan.j.rosenberg@xxxxxxxxx>
>
> --- linux-2.6.35.4.orig/drivers/video/sis/sis_main.c 2010-08-26 19:47:12.000000000 -0400
> +++ linux-2.6.35.4/drivers/video/sis/sis_main.c 2010-09-15 11:52:41.437375730 -0400
> @@ -1701,6 +1701,9 @@ static int sisfb_ioctl(struct fb_info *i
> break;
>
> case FBIOGET_VBLANK:
> +
> + memset(&sisvbblank, 0, sizeof(struct fb_vblank));

grumble. Every one of these patches I need to go in and check that the
types are correct. In this case, that sisvbblank really does have the
type `struct fb_vblank'.

If the code had done

memset(&sisvbblank, 0, sizeof(sisvbblank));

then I wouldn't need to do that.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/