Набросал такой модуль:
Файл current.c
====================================================
#include <linux/kernel.h>
#include <linux/module.h>
#include <asm/current.h>
int init_module(void) {
printk(KERN_ALERT "The process is \"%s\" (pid %i)\n",
current->comm, current->pid);
return 0;
}
void cleanup_module() {
}
MODULE_LICENSE("GPL");
====================================================
Делаю insmod, затем lsmod.
И вижу:
Module Size Used by
get_current() 1408 0
smbfs 61432 2
hfsplus 56708 0
nls_cp866 5120 1
nls_iso8859_1 4096 0
..... и т.д.
В <asm/current.h>:
#define current get_current()
Что и имеем вместо названия модуля ....
Файл модуля - current.ko
ну разве не LOL ? :)
Более подробно я раскрыл это тут:
http://lkml.org/lkml/2005/9/19/79
Там ещё один пример такой неправильной работы. На этот раз
я совсем не смог после этого выгрузить модуль :(