I am modifying the kernel to provide some statistics about memory usage.
For that, part of my code is added in the main kernel, and part is in a module.
The kernel version is 2.6.32.
The target machine is an ia64 machine.
Newer kernels do not boot the machine.
I'm using a debian distribution.
In the main kernel, in arch/ia64/mm/fault.c, I added the following
function pointer:
void (*module_task_added)(struct task_struct *) = NULL;
EXPORT_SYMBOL(module_task_added);
In the module, i have:
extern void (*module_task_added)(struct task_struct *);
void handler_func (struct task_struct *task) {
...
}
int init_module () {
module_task_added = handler_func;
}
when I compile the module, i get the following warning:
WARNING: "module_task_added"
[/home/ehmcruz/linux-tammu/tammu-module/tammu.ko] undefined!
when I try to load the module, it fails resolving the symbol module_task_added:
[ 3306.496239] tammu: Unknown symbol module_task_added
I already verified that the symbol is present in /proc/kallsyms:
a000000100ac1b78 S module_task_added
however, I don't know why, the variable doesn't appear in Module.symvers
Anyone can help me?
thanks in advance
--
Eduardo Henrique Molina da Cruz
PhD student
Parallel and Distributed Processing Group
Federal University of Rio Grande do Sul (UFRGS)
I solved the issue.
Nevermind.
2015-04-11 12:53 GMT-03:00 Eduardo Cruz <[email protected]>:
> I am modifying the kernel to provide some statistics about memory usage.
> For that, part of my code is added in the main kernel, and part is in a module.
>
> The kernel version is 2.6.32.
> The target machine is an ia64 machine.
> Newer kernels do not boot the machine.
> I'm using a debian distribution.
>
> In the main kernel, in arch/ia64/mm/fault.c, I added the following
> function pointer:
>
> void (*module_task_added)(struct task_struct *) = NULL;
> EXPORT_SYMBOL(module_task_added);
>
> In the module, i have:
>
> extern void (*module_task_added)(struct task_struct *);
>
> void handler_func (struct task_struct *task) {
> ...
> }
>
> int init_module () {
> module_task_added = handler_func;
> }
>
> when I compile the module, i get the following warning:
>
> WARNING: "module_task_added"
> [/home/ehmcruz/linux-tammu/tammu-module/tammu.ko] undefined!
>
>
> when I try to load the module, it fails resolving the symbol module_task_added:
>
> [ 3306.496239] tammu: Unknown symbol module_task_added
>
>
> I already verified that the symbol is present in /proc/kallsyms:
>
> a000000100ac1b78 S module_task_added
>
> however, I don't know why, the variable doesn't appear in Module.symvers
>
> Anyone can help me?
>
> thanks in advance
>
> --
> Eduardo Henrique Molina da Cruz
> PhD student
> Parallel and Distributed Processing Group
> Federal University of Rio Grande do Sul (UFRGS)
--
Eduardo Henrique Molina da Cruz
PhD student
Parallel and Distributed Processing Group
Federal University of Rio Grande do Sul (UFRGS)