lkml.org 
[lkml]   [2015]   [Apr]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectProblems exporting symbols from the main kernel to a module
From
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)


\
 
 \ /
  Last update: 2015-04-11 18:21    [W:0.045 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site