[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Kernel Symbol



Ciao a tutti

Ho giocando con la mia debian squeezy, sto compilando un modulo per usare una funziona exportata dal kernel, solo che in fase di compilazione di da un'errore e in fase di caricamento altro

Il modulo è questo
=================================================================================
#include <linux/sched.h>
#include <linux/kernel.h>
#include <linux/module.h>

MODULE_AUTHOR("Pippo");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("Use exported symbols");


int init_module(void)
{
        struct task_struct *tsk;
        for_each_process(tsk)
        {
          if(tsk->state == 3)
                release_task(tsk);
        }
        return 0;
}

void cleanup_module(void)
{
        printk("Module Cleanup");
}
===============================================================================
Makefile
===============================================================================
obj-m += task_mod.o
all:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
        make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
================================================================================
Kernel Version 2.6.32-5-amd64

Errori o meglio detto WARNING che dopo causa l'errore
================================================================================
make -C /lib/modules/2.6.32-5-amd64/build M=/home/c0m0/C modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-5-amd64'
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "release_task" [/home/pippo/C/task_mod.ko] undefined!
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-5-amd64'
=================================================================================
 insmod ./task_mod.ko
insmod: error inserting './task_mod.ko': -1 Unknown symbol in module
task_mod: Unknown symbol release_task
=================================================================================

Non capisco perche mi dice che non trova la funzione, visto che quando vado a fare il grep sotto la proc la trovo

grep release_task /proc/kallsyms
ffffffff8104ff60 T release_task


Magari mi manca qualche option di compilazione da dare al make, Grazie e chiedo scusa per la brutta scrittura



--
esta es mi vida e me la vivo hasta que dios quiera

Reply to: