[PATCH] drm/radeon: Fix stack data leak

Alex Deucher alexdeucher at gmail.com
Mon Aug 16 07:51:13 PDT 2010


On Sun, Aug 15, 2010 at 8:11 AM, Jean Delvare <khali at linux-fr.org> wrote:
> Always zero-init a structure on the stack which is returned by a
> function. Otherwise you may leak random stack data from previous
> function calls.
>
> This fixes the following warning I was seeing:
>  CC [M]  drivers/gpu/drm/radeon/radeon_atombios.o
> drivers/gpu/drm/radeon/radeon_atombios.c: In function "radeon_atom_get_hpd_info_from_gpio":
> drivers/gpu/drm/radeon/radeon_atombios.c:261: warning: "hpd.plugged_state" is used uninitialized in this function
>
> Signed-off-by: Jean Delvare <khali at linux-fr.org>
> Cc: David Airlie <airlied at linux.ie>
> Cc: Alex Deucher <alexdeucher at gmail.com>
> ---
> As a side, note, passing whole structures on the stack this way seems
> suboptimal. Passing structures by address would be faster (and safer,
> as it stands.)

There are a few places in the connector/encoder init code where this
needs to be cleaned up, just haven't gotten to it yet.  Patch looks
good.  Thanks!

Reviewed-By: Alex Deucher <alexdeucher at gmail.com>

>
>  drivers/gpu/drm/radeon/radeon_atombios.c |    2 ++
>  1 file changed, 2 insertions(+)
>
> --- linux-2.6.36-rc0.orig/drivers/gpu/drm/radeon/radeon_atombios.c      2010-08-15 10:24:49.000000000 +0200
> +++ linux-2.6.36-rc0/drivers/gpu/drm/radeon/radeon_atombios.c   2010-08-15 13:52:31.000000000 +0200
> @@ -226,6 +226,8 @@ static struct radeon_hpd radeon_atom_get
>        struct radeon_hpd hpd;
>        u32 reg;
>
> +       memset(&hpd, 0, sizeof(struct radeon_hpd));
> +
>        if (ASIC_IS_DCE4(rdev))
>                reg = EVERGREEN_DC_GPIO_HPD_A;
>        else
>
>
> --
> Jean Delvare
>


More information about the dri-devel mailing list