Dumping the checksums in a module

John Sigler
2007-06-19T12:00:20Z

Hello everyone,

As far as I understand (which is not very far), if I define
CONFIG_MODVERSIONS, then checksums for various functions (all exported
functions?) and various structures (which ones?) will be included inside
the kernel image, and written to Module.symvers. When an out-of-tree
module is built, it will *also* include these checksums.

How do I list ALL the checksums within a module?

$ /sbin/modinfo -V
module-init-tools version 3.2.2

$ uname -a
Linux venus 2.6.18.6 #1 PREEMPT Thu Feb 8 18:04:49 CET 2007 i686
pentium4 i386 GNU/Linux

$ /sbin/modinfo test.ko
filename: test.ko
vermagic: 2.6.20.7-rt8 preempt mod_unload PENTIUMIII REGPARM
depends:
parm: pConfig_file:charp
parm: allocator_himem:An integer (int)
parm: EnableIdleMode:An integer (int)
parm: Board_ID:An integer (int)
parm: Diagnostic:An integer (int)

$ hexdump -C test.ko | grep -A2 struct_
000752e0 17 98 07 0e 73 74 72 75 63 74 5f 6d 6f 64 75 6c
|....struct_modul|
000752f0 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|e...............|
00075300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|................|

I think this means that, in this module, the checksum for symbol
struct_module is 0x1798070e, right?

Is there a simpler way to list all the checksums?

Regards.