Re: Dumping the checksums in a module

John Sigler
2007-05-23T15:18:44Z

Jan Engelhardt wrote:
> On May 22 2007 10:13, John Sigler wrote:
>>>> How do I list the checksums within a module?
>>>> Is there a simpler way to list all the checksums?
>>> 22:25 ichi:~ > modinfo aes
>>> srcversion: 8CB82B3A254D5A950FD0D14
>>>
>>> I think this one checksum is computed out of all functions that
>>> the module uses.
>> You've enabled MODULE_SRCVERSION_ALL which adds a checksum computed from the
>> source files used to build a given module. What I want is to list ALL the
>> checksums of the symbols included inside a given module.
>>
>> e.g. for the kernel:
>
> for i in `nm
> /lib/modules/2.6.18.8-ccj45-default/kernel/block/as-iosched.ko |
> grep " U " | cut -b 20-`; do
> grep '\b'"$i"'\b' Module.symvers;
> done;
>
> (for 32-bit, use `cut -b 12-`)

I think you didn't understand my request.

I have a *binary* kernel module that was compiled with
CONFIG_MODVERSIONS enabled.

Thus, that binary module includes 32-bit (?) checksums for several
kernel functions AND kernel structures.

cf. my original post:

$ 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
|................|

For example, the checksum for "struct_module" seems to be 0x1798070e.

Is there a tool (from linux-module-init-tools?) to list all the
checksums included in a binary module.

Regards.