From: Jean Delvare Subject: [PATCH] drm/radeon: Fix stack data leak Date: Sun, 15 Aug 2010 14:11:24 +0200 Message-ID: <20100815141124.6d44de49@hyperion.delvare> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from services.gcu-squad.org (zone0.gcu-squad.org [212.85.147.21]) by gabe.freedesktop.org (Postfix) with ESMTP id B41B89E759 for ; Sun, 15 Aug 2010 05:30:10 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org Errors-To: dri-devel-bounces+sf-dri-devel=m.gmane.org@lists.freedesktop.org To: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org 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 Cc: David Airlie Cc: Alex Deucher --- 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)) reg = EVERGREEN_DC_GPIO_HPD_A; else -- Jean Delvare