On Mon, Aug 23, 2010 at 1:14 AM, Aijaz Baig <aijazbaig1@xxxxxxxxx> wrote: > Hello, > > Yeah I do understand that part, but there has to be a way to do what I > am trying to do here isn't it? > > And can anyone tell me can kallsyms_lookup() be used in such a > situation? If yes than how do I use it? > > Regards, > Aijaz > > On Sat, Aug 21, 2010 at 2:53 PM, Jan Engelhardt <jengelh@xxxxxxxxxx> > wrote: > On Saturday 2010-08-21 08:57, Aijaz Baig wrote: > >>So why is it that when my netfilter module is exporting something to >>the kernel and im tryin to use it from within a core kernel file, the >>compiler flags a 'undefined reference to' error? > > There, you answered yourself. Exports only go one way. And that is > core -> module -> module. > > On Sat, 2010-08-21 at 12:27 +0530, Aijaz Baig wrote: >> Hello, >> >> Ive been trying to EXPORT a SYMBOL from a netfilter module (actually a >> hook) to the KERNEL. Various modules seem to export various symbols to >> the kernel (or so it seems), an example being x_tables which exports a >> whole lot of functions like xt_register_target and so on and all other >> netfilter modules which use these functions dont seem to have any >> problems. >> >> So why is it that when my netfilter module is exporting something to the >> kernel and im tryin to use it from within a core kernel file, the >> compiler flags a 'undefined reference to' error? >> >> I googled and came to the conclusion from the kernelnewbies mailing list >> that using kallsyms_lookup() seems to be the answer or is it? >> So, if I do intend to use kallsyms_lookup how do I use it? There aren't >> so many instances of it being used it seems. >> >> Ive seen it being used in dev/core.c like so: >> symname = kallsyms_lookup((unsigned long)sym, &symsize,&offset,&modname, >> namebuf); >> >> I am basically trying to call a function that MY module EXPORTs inside >> one of the core linux routines. This would also mean that my netfilter >> module must be compiled (and linked also maybe?..not so sound with link >> time stuff) before the address becomes visible so that kallsyms_lookup >> can find it. So do I really shd be using it and if so, how? >> >> Any input is appreciated. >> >> Regards, >> Aijaz Baig. >> >> Use an exported function pointer in the main kernel as a hook that the module sets when it is loaded. Note, you must use module_get and module_put around the call to the module to prevent it from unloading while in use. -- Brian Gerst -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html