[PATCH] ipmi: fix uninit'd data bug

From: Jeff Garzik
Date: Sun Oct 01 2006 - 10:59:07 EST



gcc issues the following warning:

drivers/char/ipmi/ipmi_si_intf.c: In function âinit_ipmi_siâ:
drivers/char/ipmi/ipmi_si_intf.c:1729: warning: âdata.irqâ may be used uninitialized in this function

This is indeed a bug. data.irq is completely uninitialized in some code
paths. Worse than that, data from a previous decode_dmi() run can
easily leak through successive calls.

Signed-off-by: Jeff Garzik <jeff@xxxxxxxxxx>

diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c
index abca98b..0afd7f8 100644
--- a/drivers/char/ipmi/ipmi_si_intf.c
+++ b/drivers/char/ipmi/ipmi_si_intf.c
@@ -1730,6 +1730,7 @@ static void __devinit dmi_find_bmc(void)
int rv;

while ((dev = dmi_find_device(DMI_DEV_TYPE_IPMI, NULL, dev))) {
+ memset(&data, 0, sizeof(data));
rv = decode_dmi((struct dmi_header *) dev->device_data, &data);
if (!rv)
try_init_dmi(&data);
-
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/