On Wed, 29 Aug 2007 11:33:06 -0700 (PDT) bugme-daemon@xxxxxxxxxxxxxxxxxxx wrote:
http://bugzilla.kernel.org/show_bug.cgi?id=8957
Summary: Exported functions and variables should not be reachable
by the outside of the module until module_init finishes
Product: Other
Version: 2.5
KernelVersion: 2.6.23-rc4
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: Modules
AssignedTo: other_modules@xxxxxxxxxxxxxxxxxxxx
ReportedBy: mattilinnanvuori@xxxxxxxxx
Problem Description: a module's exported functions can be called before before
they are properly initialized by the module_init function.
Steps to reproduce: write a module that exports functions that require
initialization by the module_init function to work correctly.
E.g. spin lock variables are no longer allowed to be initialized by C
initializers of the module but only by spin_lock_init that can be called by the
module_init function. If an exported function calls spin_lock before it is
initialized, it deadlocks.
ooh, nice bug ;)