[PATCH] drm/radeon: Fix stack data leak

Jean Delvare khali at linux-fr.org
Sun Aug 15 05:11:24 PDT 2010

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.)

 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))

Jean Delvare

More information about the dri-devel mailing list