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 I think the CRC is the key to export a symbol. > I do an experiment: > > ---mdir > | > |---Mod1 > | |---mod1.c > | |---Makefile > | > |---Mod2 > |---mod2.c > |---Makefile > > mod1.c define function *void myfunc(void)* and exported by EXPORT_SYMBOL() > and the CRC info is showed in Module.symvers. mod2.c reference *myfunc* and > compiled successfully. BUT when mod2.ko is insmoded, "unknown symbol" is > complained. mod2.ko CAN'T BE INSMOD. Use 'modprobe' after "properly" installing the kernel modules to the correct location, and then all will be fine. greg k-h _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies