public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: John Sigler <linux.kernel@free.fr>
To: Jan Engelhardt <jengelh@linux01.gwdg.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Dumping the checksums in a module
Date: Tue, 22 May 2007 10:13:41 +0200	[thread overview]
Message-ID: <4652A635.8070507@free.fr> (raw)
In-Reply-To: <Pine.LNX.4.61.0705182225450.9015@yvahk01.tjqt.qr>

Jan Engelhardt wrote:

> On May 18 2007 17:02, John Sigler wrote:
>> I'm getting "disagrees about version of symbol struct_module" messages,
>> and I'm trying to understand why.
>>
>> 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 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:

$ head Module.symvers
0x4da3749b      firmware_unregister     vmlinux EXPORT_SYMBOL_GPL
0xbf9d1364      generic_file_splice_write       vmlinux EXPORT_SYMBOL
0x436417ac      set_anon_super  vmlinux EXPORT_SYMBOL
0x894bc434      kmem_cache_alloc        vmlinux EXPORT_SYMBOL
0x1120b731      request_firmware        vmlinux EXPORT_SYMBOL
0x0a2487e0      unblock_all_signals     vmlinux EXPORT_SYMBOL
0x07d50a24      csum_partial    vmlinux EXPORT_SYMBOL
0xcd6c78f9      __generic_unplug_device vmlinux EXPORT_SYMBOL
0x59ab4080      cap_bset        vmlinux EXPORT_SYMBOL
0xee413334      softirq_preemption      vmlinux EXPORT_SYMBOL
[...]


config MODVERSIONS
bool "Module versioning support"
depends on MODULES
help
   Usually, you have to use modules compiled with your kernel.
   Saying Y here makes it sometimes possible to use modules
   compiled for different kernels, by adding enough information
   to the modules to (hopefully) spot any changes which would
   make them incompatible with the kernel you are running.  If
   unsure, say N.

config MODULE_SRCVERSION_ALL
bool "Source checksum for all modules"
depends on MODULES
help
   Modules which contain a MODULE_VERSION get an extra "srcversion"
   field inserted into their modinfo section, which contains a
   sum of the source files which made it.  This helps maintainers
   see exactly which source was used to build a module (since
   others sometimes change the module source without updating
   the version).  With this option, such a "srcversion" field
   will be created for all modules.  If unsure, say N.

Regards.

  parent reply	other threads:[~2007-05-22  8:14 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-18 15:02 Dumping the checksums in a module John Sigler
2007-05-18 20:27 ` Jan Engelhardt
2007-05-18 20:46   ` Sam Ravnborg
2007-05-22  8:19     ` John Sigler
2007-05-22  8:13   ` John Sigler [this message]
2007-05-22 19:53     ` Jan Engelhardt
2007-05-23 15:18       ` John Sigler
  -- strict thread matches above, loose matches on Subject: below --
2007-06-19 11:59 John Sigler
2007-06-19 13:18 ` Arjan van de Ven
2007-06-19 14:40   ` John Sigler

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4652A635.8070507@free.fr \
    --to=linux.kernel@free.fr \
    --cc=jengelh@linux01.gwdg.de \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox