How does EXPORT_SYMBOL work?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, 
I am trying to understand how module versioning works in Linux kernel. 
If I have a moduleX.ko file with me, how do I determine if it would load successfully (using insmod or modprobe)? This is purely from versioning perspective. I assume that no other errors related to memory allocation, etc. 

From the code, I could see the load_module () compares the CRC of the module against the CRC of "struct_module" symbol in the kernel. 
When are these CRCs created. Using elfread, I could see that symbol "struct_module" is saved in the __versions section of moduleX.ko 

I could not understand the EXPORT_SYMBOL code clearly. It seem to me that it creates a CRC (somehow) and saves to the kernel symbol table (kallsyms?)

Please clarify to clear my doubt. 

Thanks
Durga


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux