Commit 397f4ebf authored by Jeff Garzik's avatar Jeff Garzik Committed by Linus Torvalds

[PATCH] ipmi: fix uninitialized data bug

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: default avatarJeff Garzik <jeff@garzik.org>
Acked-by: default avatarCorey Minyard <minyard@acm.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent c3b65713
...@@ -1734,6 +1734,7 @@ static void __devinit dmi_find_bmc(void) ...@@ -1734,6 +1734,7 @@ static void __devinit dmi_find_bmc(void)
int rv; int rv;
while ((dev = dmi_find_device(DMI_DEV_TYPE_IPMI, NULL, dev))) { 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); rv = decode_dmi((struct dmi_header *) dev->device_data, &data);
if (!rv) if (!rv)
try_init_dmi(&data); try_init_dmi(&data);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment