Problems exporting symbols from the main kernel to a module

From: Eduardo Cruz
Date: Sat Apr 11 2015 - 11:53:54 EST

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;

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)
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at