Re: 2.6.0-test6: more __init bugs

From: Corey Minyard
Date: Tue Sep 30 2003 - 18:44:06 EST


Robert T. Johnson wrote:

Here are some cases where __init code or data is referenced by non-__init code.

Questions:
- Is init_module allowed, required or forbidden to be __init?
- Ditto for Scsi_Host_Template.detect()?
- Ditto for net_device->set_config()?

Thanks for looking at these potential bugs, and sorry if I've made any mistakes.

Best,
Rob

P.S. All these bugs were found with Cqual, the bug-finding tool
developed by Jeff Foster, John Kodumal, and many others, and available
at http://www.cs.umd.edu/~jfoster/cqual/, although the currently
released version of cqual only has primitive support for __init bug-finding.


** Possible bug:
** drivers/char/ipmi/ipmi_msghandler.c:ipmi_init_msghandler() (__init)
called by numerous non-__init functions
Note: ipmi_init_msghandler() is an alias for init_module
Fix: declare ipmi_init_msghandler non-__init.



This is not actually a bug, but it may be bad style (and thus could lead to a bug). It is possible that something that uses IPMI can do some IPMI things before IPMI is initialized. This can only happen during initialization, though. Thus the check; once IPMI is initialized the function will never be called.

What's the opinion on this? Should I just force IPMI users to initialize after IPMI?

Thanks,

-Corey

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