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