LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   no version for "function x" found: kernel tainted Options (https://www.linuxquestions.org/questions/linux-general-1/no-version-for-function-x-found-kernel-tainted-options-640980/)

nayankumarp 05-09-2008 01:31 AM

no version for "function x" found: kernel tainted Options
 
Hi All,
I am using two Dual BSD/GPL drivers for a stack development project.
Both modules use the MODULE_LICENSE("Dual BSD/GPL "). One of the
drivers depends on the other. When the modules gets loaded after
issuing insmod command , I see a tainted message in the kernel output
from the module that is calling the (function x) exported by other
module that a exported (function x ) has no version.

How do I fix this? - there is a requirement that no tainted messages
appear.


Thanks

Simon Bridge 05-09-2008 02:09 AM

State exact "tainted" message - modutils is supposed to add the MODULE_LICENSE() string.

Quote:

MODULE_LICENSE("Dual BSD/GPL ")
Is this a cut-and-paste? Try:

MODULE_LICENSE("Dual BSD/GPL")

Check how this macro is handled in the source.
But I suspect this is one for kerneltrap.

http://www.kerneltraffic.org/kernel-...11029_139.html
... clarification for completeness - you may know this, but others may not.

nayankumarp 05-09-2008 03:07 AM

Thanks for your help

exact "tainted" message are as follows.

sdhost: no version for "unregister_sd_host_device" found: kernel tainted.

unregister_sd_host_device has been defined in bus module and from there i am exporting this function by using export symbol.

i am calling this function from sdhost module as far as calling unregister_sd_host_device is concern its getting called properly no issue with that .

But why kernel tainted message is coming i am not able to understand.

Hope this will help you to visualize the problem that i am facing.

Regards

Simon Bridge 05-09-2008 06:04 PM

sdhost: no version for "unregister_sd_host_device" found: kernel tainted.

That's not the same... if the tainted message came from either the (unnamed) driver's MODULE_LICENSE() then it would read: sdhost: module license 'Dual BSD/GPL'taints kernel. Which doesn't happen.

You get:

sdhost: no version for "unregister_sd_host_device" found: kernel tainted.

Is there another message about, say, "version magic" close by? Any other "sdhost" messages? (This sort of thing is usually explained right after.)

What's happening is probably something like this:

When sdhost was built, it didn't find anything it could pull symbol version info from.
So symbol version info in sdhost was set to unknown. This module loaded to
kernel, but since it had unknown symbol version info in some of its symbols,
module loading code said "dunno if this works, all bets off", and tainted the
kernel.

Go over your compile instructions and linking carefully - and make sure of the kernel configuration. I take it you have loaded this module to a pre-compiled kernel?

What does:
modinfo sdhost.ko

http://tldp.org/LDP/lkmpg/2.6/html/x380.html


You've been sending out feelers...
http://linux.derkeiler.com/Newsgroup.../msg00023.html
http://fixunix.com/embedded/334768-w...d-message.html
... appended for completeness. Make sure you tell fixunix the full message too, they will probably be able to be more specific.


All times are GMT -5. The time now is 11:03 PM.