Re: Dumping the checksums in a module

From: John Sigler
Date: Wed May 23 2007 - 11:18:45 EST


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.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/