[BUG] module-init-tools

Ustyugov Roman
2005-09-19T10:29:33Z

Hello!

I found a bug in module-init-tools.

'lsmod' shows a wrong module name, when module name complied with some
"define" at one of kernel header files.

For example,

File "current.c"
=======================
#include <linux/kernel.h>
#include <linux/module.h>

int init_module(void) {

return 0;
}

void cleanup_module() {
}

MODULE_LICENSE("GPL");
=======================

Makefile:

=======================
obj-m   += current.o
=======================

Make this module and type commands:

insmod current.ko
lsmod

And we can see:

Module                  Size  Used by
get_current()           1152  0             <---- Oops,  must be 'current'
smbfs                  61432  2
hfsplus                56708  0
nls_cp866               5120  1
nls_iso8859_1           4096  0
nls_cp437               5760  0
vfat                   12800  0
fat                    37916  1 vfat
nls_utf8                2048  1
.....

File <asm/current.h>:

===================
...
#define    current    get_current()
...
===================

Try to remove module:

romanu:/current # rmmod current
ERROR: Module current does not exist in /proc/modules
romanu:/current # rmmod -v "get_current()"
rmmod get_current(), wait=no
romanu:/current #

I can't remove module with 'rmmod current',
but can with
rmmod "get_current()"

Is it a bug?

Then, next example.

File 'init_stack.c'
=================
#include <linux/kernel.h>
#include <linux/module.h>

int init_module(void) {

return 0;
}

void cleanup_module() {
}

MODULE_LICENSE("GPL");
=================

Make and insert module 'init_stack.ko':

lsmod:

Module                  Size  Used by
get_current()           1152  0
(init_thread_union.stack)     1152  0    <---- Oops,  must be 'init_stack'
smbfs                  61432  2
hfsplus                56708  0
nls_cp866               5120  1
nls_iso8859_1           4096  0

Now I can't to remove it at all ! :(:(

>From <asm/thread_info.h>

====================
...
#define init_stack              (init_thread_union.stack)
...
====================

Some information about software:

OS: SuSE Pro 9.3
kernel version:  2.6.11.4-21.8-default
module-init-tools version: 3.2_pre1-7

--
WBR, Roman.