Do you know the bug of EXPORT_SYMBOL()

2015-07-24 Thread Navy
Hi To my understanding, EXPORT_SYMBOL() is used to export a symbol in kernel/modules. The the address of the all sysbols is in /proc/kallsyms. Only symbols exported by EXPORT_SYMBOL() is listed its CRC information in Module.symvers. So I think the CRC is the key to export a symbol. I do an

Re: Do you know the bug of EXPORT_SYMBOL()

2015-07-24 Thread Pranay Srivastava
On Fri, Jul 24, 2015 at 11:19 AM, Navy nav...@126.com wrote: Hi To my understanding, EXPORT_SYMBOL() is used to export a symbol in kernel/modules. The the address of the all sysbols is in /proc/kallsyms. Only symbols exported by EXPORT_SYMBOL() is listed its CRC information in Module.symvers.

Re: Do you know the bug of EXPORT_SYMBOL()

2015-07-24 Thread Navy
On Fri, Jul 24, 2015 at 01:48:57PM +0530, Pranay Srivastava wrote: On Fri, Jul 24, 2015 at 11:19 AM, Navy nav...@126.com wrote: Hi To my understanding, EXPORT_SYMBOL() is used to export a symbol in Why this bug is not be fixed? It's a long way from 2.6 now. can you send something about

Re: Do you know the bug of EXPORT_SYMBOL()

2015-07-24 Thread Greg KH
On Fri, Jul 24, 2015 at 01:49:42PM +0800, Navy wrote: Hi To my understanding, EXPORT_SYMBOL() is used to export a symbol in kernel/modules. The the address of the all sysbols is in /proc/kallsyms. Only symbols exported by EXPORT_SYMBOL() is listed its CRC information in Module.symvers. So

Re: Do you know the bug of EXPORT_SYMBOL()

2015-07-24 Thread Abhishek bist
Hi, This is the place where modprobe comes into play .If you have dependent module the on your module then it is recommended to use modprobe . After compiling your module run : 1. depmod -a 2. modprobe mod1 3. modprobe mod2 And as far as i know CONFIG_MODVERSION is basically for the module

Re: Do you know the bug of EXPORT_SYMBOL()

2015-07-24 Thread Tal Shorer
With in-tree modules, the compilation process can determine dependencies and that's why modprobe works with them (insmod doesn't). How do you want the kernel to know where the symbol comes from? Why load your mod1 and not my mod3 that also defines myfunc()? Who's going to call init_module on your