Re: [BUG] module-init-tools

Coywolf Qi Hunt
2005-09-19T13:21:42Z

On 9/19/05, Ustyugov Roman <dr_unique@ymg.ru> wrote:
> 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

Actually, this is a kbuild bug, not module-init-tools' fault.

(cc Sam)

--
Coywolf Qi Hunt