compiler error in simple module

Rajat Sharma fs.rajat at gmail.com
Tue Jan 11 01:16:10 EST 2011


Hi,

yes you are missing a very vital thing and that is EXPORT_SYMBOL.
Loadable Kernel modules are not part of kernel image and can not just
use any symbol of kernel, They can use only exported symbols either
exported through EXPORT_SYMBOL or EXPORT_SYMBOL_GPL. GPL version has
limitation that your module license should be GPL too and you have to
make it open source.

Anyways you can always write a similar function in your module:

        task_lock(tsk);
        strncpy(buf, tsk->comm, sizeof(tsk->comm));
        task_unlock(tsk);

Note that task_lock is an static inline function in sched.h so you can
safely use that.

Rajat

On Tue, Jan 11, 2011 at 11:32 AM, Hanumant Singh <hanumant07 at gmail.com> wrote:
> Hi
>    I am trying to write a simple module that sort of emulates the ps
> command. I am trying to get the comm string for the task, using
> get_task_comm, but the make command keeps telling me that the symbol
> get_task_comm is not defined. I have included linux/sched.h. This is the
> header file, which I believe has the prototype definition for the function.
> Am I missing something?
> Thanks
> Hanumant
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>
>



More information about the Kernelnewbies mailing list