Messages in this thread | | | From | Rusty Russell <> | Subject | Re: [PATCH 1/4] module: add syscall to load module from fd | Date | Thu, 03 Jan 2013 10:42:24 +1030 |
| |
Michael Kerrisk <mtk.manpages@gmail.com> writes: > Hi Rusty,
Hi Michael,
> The description here is rather thin. Could you supply a sentence or > two for each of MODULE_INIT_IGNORE_MODVERSIONS and > MODULE_INIT_IGNORE_VERMAGIC that would be suitable for the manual > page? > > Thanks,
There are one or two safety checks built into a module, which are checked to match the kernel on module load. The first is a "vermagic" string containing the kernel version number and prominent features (such as CPU type). If the module was built with CONFIG_MODVERSIONS set, a version hash is recorded for each symbol the module uses based on the types it refers to: in this case, the kernel version number within the "vermagic" string is ignored, as the symbol version hashes are assumed to be sufficiently reliable.
Using the MODULE_INIT_IGNORE_VERMAGIC flag indicates that the vermagic is to be ignored, and the MODULE_INIT_IGNORE_MODVERSIONS flag indicates that the version hashes are to be ignored. If the kernel is built to permit such forced loading (ie. CONFIG_MODULE_FORCE_LOAD is set) then loading will continue, otherwise it will fail with ENOEXEC as expected for malformed modules.
Hope that is more usable?
Thanks, Rusty,
| |