<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/kernel/module.c, branch v2.6.25</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v2.6.25</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v2.6.25'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2008-03-11T01:01:20Z</updated>
<entry>
<title>modules: warn about suspicious return values from module's -&gt;init() hook</title>
<updated>2008-03-11T01:01:20Z</updated>
<author>
<name>Alexey Dobriyan</name>
<email>adobriyan@gmail.com</email>
</author>
<published>2008-03-10T18:43:53Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e24e2e64c468c8060bb7173abecdf11d00ed5751'/>
<id>urn:sha1:e24e2e64c468c8060bb7173abecdf11d00ed5751</id>
<content type='text'>
Return value convention of module's init functions is 0/-E.  Sometimes,
e.g.  during forward-porting mistakes happen and buggy module created,
where result of comparison "workqueue != NULL" is propagated all the way up
to sys_init_module.  What happens is that some other module created
workqueue in question, our module created it again and module was
successfully loaded.

Or it could be some other bug.

Let's make such mistakes much more visible.  In retrospective, such
messages would noticeably shorten some of my head-scratching sessions.

Note, that dump_stack() is just a way to get attention from user.  Sample
message:

sys_init_module: 'foo'-&gt;init suspiciously returned 1, it should follow 0/-E convention
sys_init_module: loading module anyway...
Pid: 4223, comm: modprobe Not tainted 2.6.24-25f666300625d894ebe04bac2b4b3aadb907c861 #5

Call Trace:
 [&lt;ffffffff80254b05&gt;] sys_init_module+0xe5/0x1d0
 [&lt;ffffffff8020b39b&gt;] system_call_after_swapgs+0x7b/0x80

Signed-off-by: Alexey Dobriyan &lt;adobriyan@gmail.com&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>modules: fix module waiting for dependent modules' init</title>
<updated>2008-03-11T01:01:19Z</updated>
<author>
<name>Rusty Russell</name>
<email>rusty@rustcorp.com.au</email>
</author>
<published>2008-03-10T18:43:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6c5db22d280302c33dafb309c25bf2841fb99c37'/>
<id>urn:sha1:6c5db22d280302c33dafb309c25bf2841fb99c37</id>
<content type='text'>
Commit c9a3ba55 (module: wait for dependent modules doing init.) didn't quite
work because the waiter holds the module lock, meaning that the state of the
module it's waiting for cannot change.

Fortunately, it's fairly simple to update the state outside the lock and do
the wakeup.

Thanks to Jan Glauber for tracking this down and testing (qdio and qeth).

Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Jan Glauber &lt;jang@linux.vnet.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>module: allow ndiswrapper to use GPL-only symbols</title>
<updated>2008-03-05T04:29:40Z</updated>
<author>
<name>Pavel Roskin</name>
<email>proski@gnu.org</email>
</author>
<published>2008-02-28T22:11:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9b37ccfc637be27d9a652fcedc35e6e782c3aa78'/>
<id>urn:sha1:9b37ccfc637be27d9a652fcedc35e6e782c3aa78</id>
<content type='text'>
A change after 2.6.24 broke ndiswrapper by accidentally removing its
access to GPL-only symbols.  Revert that change and add comments about
the reasons why ndiswrapper and driverloader are treated in a special
way.

Signed-off-by: Pavel Roskin &lt;proski@gnu.org&gt;
Acked-by: Greg KH &lt;gregkh@suse.de&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Jon Masters &lt;jonathan@jonmasters.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>modules: do not try to add sysfs attributes if !CONFIG_SYSFS</title>
<updated>2008-02-21T23:27:08Z</updated>
<author>
<name>Kay Sievers</name>
<email>kay.sievers@vrfy.org</email>
</author>
<published>2008-02-20T23:33:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=120fc3d77acfd91f3521737a440d42839c475982'/>
<id>urn:sha1:120fc3d77acfd91f3521737a440d42839c475982</id>
<content type='text'>
Thanks to Alexey for the testing and the fix of the fix.

Cc: Alexey Dobriyan &lt;adobriyan@sw.ru&gt;
Signed-off-by: Kay Sievers &lt;kay.sievers@vrfy.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;

</content>
</entry>
<entry>
<title>Linux Kernel Markers: support multiple probes</title>
<updated>2008-02-14T00:21:20Z</updated>
<author>
<name>Mathieu Desnoyers</name>
<email>mathieu.desnoyers@polymtl.ca</email>
</author>
<published>2008-02-13T23:03:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=fb40bd78b0f91b274879cf5db8facd1e04b6052e'/>
<id>urn:sha1:fb40bd78b0f91b274879cf5db8facd1e04b6052e</id>
<content type='text'>
RCU style multiple probes support for the Linux Kernel Markers.  Common case
(one probe) is still fast and does not require dynamic allocation or a
supplementary pointer dereference on the fast path.

- Move preempt disable from the marker site to the callback.

Since we now have an internal callback, move the preempt disable/enable to the
callback instead of the marker site.

Since the callback change is done asynchronously (passing from a handler that
supports arguments to a handler that does not setup the arguments is no
arguments are passed), we can safely update it even if it is outside the
preempt disable section.

- Move probe arm to probe connection. Now, a connected probe is automatically
  armed.

Remove MARK_MAX_FORMAT_LEN, unused.

This patch modifies the Linux Kernel Markers API : it removes the probe
"arm/disarm" and changes the probe function prototype : it now expects a
va_list * instead of a "...".

If we want to have more than one probe connected to a marker at a given
time (LTTng, or blktrace, ssytemtap) then we need this patch. Without it,
connecting a second probe handler to a marker will fail.

It allow us, for instance, to do interesting combinations :

Do standard tracing with LTTng and, eventually, to compute statistics
with SystemTAP, or to have a special trigger on an event that would call
a systemtap script which would stop flight recorder tracing.

Signed-off-by: Mathieu Desnoyers &lt;mathieu.desnoyers@polymtl.ca&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
Cc: Mike Mason &lt;mmlnx@us.ibm.com&gt;
Cc: Dipankar Sarma &lt;dipankar@in.ibm.com&gt;
Cc: David Smith &lt;dsmith@redhat.com&gt;
Cc: "Paul E. McKenney" &lt;paulmck@us.ibm.com&gt;
Cc: "Frank Ch. Eigler" &lt;fche@redhat.com&gt;
Cc: Steven Rostedt &lt;rostedt@goodmis.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>fix "modules: make module_address_lookup() safe"</title>
<updated>2008-02-08T17:22:24Z</updated>
<author>
<name>Andrew Morton</name>
<email>akpm@linux-foundation.org</email>
</author>
<published>2008-02-08T12:18:43Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=92dfc9dc7ba63134f721b6e745dbdcfc13ea341b'/>
<id>urn:sha1:92dfc9dc7ba63134f721b6e745dbdcfc13ea341b</id>
<content type='text'>
Get the constness right, avoid nasty cast.

Cc: Ingo Molnar &lt;mingo@elte.hu&gt;
Cc: Kyle McMartin &lt;kyle@mcmartin.ca&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>modules: include sections.h to avoid defining linker variables explicitly</title>
<updated>2008-02-08T17:22:24Z</updated>
<author>
<name>Christoph Lameter</name>
<email>clameter@sgi.com</email>
</author>
<published>2008-02-08T12:18:42Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6d7623943c905efae327933bc5ee0b2f78e15f56'/>
<id>urn:sha1:6d7623943c905efae327933bc5ee0b2f78e15f56</id>
<content type='text'>
module.c should not define linker variables on its own. We have an include
file for that.

Signed-off-by: Christoph Lameter &lt;clameter@sgi.com&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>Modules: handle symbols that have a zero value</title>
<updated>2008-02-08T17:22:24Z</updated>
<author>
<name>Christoph Lameter</name>
<email>clameter@sgi.com</email>
</author>
<published>2008-02-08T12:18:41Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=88173507e4fc1e7ecd111b0565e8cba0cb7dae6d'/>
<id>urn:sha1:88173507e4fc1e7ecd111b0565e8cba0cb7dae6d</id>
<content type='text'>
The module subsystem cannot handle symbols that are zero.  If symbols are
present that have a zero value then the module resolver prints out a
message that these symbols are unresolved.

[akinobu.mita@gmail.com: fix __find_symbl() error checks]
Cc: Mathieu Desnoyers &lt;mathieu.desnoyers@polymtl.ca&gt;
Cc: Kay Sievers &lt;kay.sievers@vrfy.org
Signed-off-by: Christoph Lameter &lt;clameter@sgi.com&gt;
Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Andi Kleen &lt;ak@suse.de&gt;
Signed-off-by: Akinobu Mita &lt;akinobu.mita@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>x86/non-x86: percpu, node ids, apic ids x86.git fixup</title>
<updated>2008-01-30T12:33:32Z</updated>
<author>
<name>Mike Travis</name>
<email>travis@sgi.com</email>
</author>
<published>2008-01-30T12:33:32Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=dd5af90a7f3d79e04b7eace9a98644dbf2038f4d'/>
<id>urn:sha1:dd5af90a7f3d79e04b7eace9a98644dbf2038f4d</id>
<content type='text'>
Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
</content>
</entry>
<entry>
<title>Module: check to see if we have a built in module with the same name</title>
<updated>2008-01-29T06:13:27Z</updated>
<author>
<name>Greg Kroah-Hartman</name>
<email>gregkh@suse.de</email>
</author>
<published>2008-01-27T23:38:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6494a93d55fad586238cc1940e846c6d03e1aaf6'/>
<id>urn:sha1:6494a93d55fad586238cc1940e846c6d03e1aaf6</id>
<content type='text'>
When trying to load a module with the same name as a built-in one, a
scary kobject backtrace comes up.  Prevent that from checking for this
condition and warning the user as to what exactly is going on.

Cc: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
Cc: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
Cc: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@suse.de&gt;
Signed-off-by: Rusty Russell &lt;rusty@rustcorp.com.au&gt;
</content>
</entry>
</feed>
