* any way to see the running kernel's "vermagic" string?
@ 2012-10-16 14:52 Robert P. J. Day
2012-10-16 14:59 ` Chinmay V S
2012-10-16 18:35 ` Frank Ch. Eigler
0 siblings, 2 replies; 7+ messages in thread
From: Robert P. J. Day @ 2012-10-16 14:52 UTC (permalink / raw)
To: kernelnewbies
perhaps i've just overlooked it but is there an easy way to see the
current kernel's calculated "vermagic" string, as defined in the
header file include/linux/vermagic.h thusly?
... snip ...
#define VERMAGIC_STRING \
UTS_RELEASE " " \
MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \
MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \
MODULE_ARCH_VERMAGIC
i'm just interested in examining the vermagic string you can see for
any loadable module, as in:
$ modinfo vfat
filename: /lib/modules/3.6.0-oct8+/kernel/fs/fat/vfat.ko
author: Gordon Chaffee
description: VFAT filesystem support
license: GPL
srcversion: 68B6C644F1532E86ADCB2CB
depends: fat
intree: Y
vermagic: 3.6.0-oct8+ SMP mod_unload modversions
and following the load logic in kernel/module.c to see what happens at
each step of a module load, and that (obviously) involves some
comparisons. thanks.
rday
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================
^ permalink raw reply [flat|nested] 7+ messages in thread* any way to see the running kernel's "vermagic" string? 2012-10-16 14:52 any way to see the running kernel's "vermagic" string? Robert P. J. Day @ 2012-10-16 14:59 ` Chinmay V S 2012-10-16 15:05 ` Peter Senna Tschudin 2012-10-16 15:06 ` Robert P. J. Day 2012-10-16 18:35 ` Frank Ch. Eigler 1 sibling, 2 replies; 7+ messages in thread From: Chinmay V S @ 2012-10-16 14:59 UTC (permalink / raw) To: kernelnewbies Isn't "uname -r" on the console good enough?... -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20121016/9a732eb5/attachment.html ^ permalink raw reply [flat|nested] 7+ messages in thread
* any way to see the running kernel's "vermagic" string? 2012-10-16 14:59 ` Chinmay V S @ 2012-10-16 15:05 ` Peter Senna Tschudin 2012-10-16 15:07 ` Robert P. J. Day 2012-10-16 15:06 ` Robert P. J. Day 1 sibling, 1 reply; 7+ messages in thread From: Peter Senna Tschudin @ 2012-10-16 15:05 UTC (permalink / raw) To: kernelnewbies http://plastilinux.blogspot.fr/2009/11/how-to-know-version-of-kernel-without.html On Tue, Oct 16, 2012 at 4:59 PM, Chinmay V S <cvs268@gmail.com> wrote: > Isn't "uname -r" on the console good enough?... > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies at kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies > -- Peter ^ permalink raw reply [flat|nested] 7+ messages in thread
* any way to see the running kernel's "vermagic" string? 2012-10-16 15:05 ` Peter Senna Tschudin @ 2012-10-16 15:07 ` Robert P. J. Day 0 siblings, 0 replies; 7+ messages in thread From: Robert P. J. Day @ 2012-10-16 15:07 UTC (permalink / raw) To: kernelnewbies On Tue, 16 Oct 2012, Peter Senna Tschudin wrote: > http://plastilinux.blogspot.fr/2009/11/how-to-know-version-of-kernel-without.html ok, hoping for something simpler but, yes, that's what i was after, thanks muchly. rday ^ permalink raw reply [flat|nested] 7+ messages in thread
* any way to see the running kernel's "vermagic" string? 2012-10-16 14:59 ` Chinmay V S 2012-10-16 15:05 ` Peter Senna Tschudin @ 2012-10-16 15:06 ` Robert P. J. Day 2012-10-16 15:32 ` Peter Senna Tschudin 1 sibling, 1 reply; 7+ messages in thread From: Robert P. J. Day @ 2012-10-16 15:06 UTC (permalink / raw) To: kernelnewbies On Tue, 16 Oct 2012, Chinmay V S wrote: > Isn't "uname -r" on the console good enough?... no, the vermagic string is considerably more informative. as i mentioned, look at the definition in vermagic.h: #define VERMAGIC_STRING \ UTS_RELEASE " " \ MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \ MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \ MODULE_ARCH_VERMAGIC that should (partially?) match the "vermagic" string you see with modinfo, as in: $ modinfo vfat ... snip ... vermagic: 3.6.0-oct8+ SMP mod_unload modversions <--- there! $ if you check the logic of module loading in kernel/module.c, you'll see checks being made to see if the two strings are compatible, as in: ... snip ... static const char vermagic[] = VERMAGIC_STRING; ... snip ... static int check_modinfo(struct module *mod, struct load_info *info) { const char *modmagic = get_modinfo(info, "vermagic"); int err; /* This is allowed: modprobe --force will invalidate it. */ if (!modmagic) { err = try_to_force_load(mod, "bad vermagic"); if (err) return err; } else if (!same_magic(modmagic, vermagic, info->index.vers)) { printk(KERN_ERR "%s: version magic '%s' should be '%s'\n", mod->name, modmagic, vermagic); return -ENOEXEC; } ... snip ... it's not that big a deal, but it would be informative to be able to see the kernel's full vermagic string. rday -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ======================================================================== ^ permalink raw reply [flat|nested] 7+ messages in thread
* any way to see the running kernel's "vermagic" string? 2012-10-16 15:06 ` Robert P. J. Day @ 2012-10-16 15:32 ` Peter Senna Tschudin 0 siblings, 0 replies; 7+ messages in thread From: Peter Senna Tschudin @ 2012-10-16 15:32 UTC (permalink / raw) To: kernelnewbies See what I've found: http://www.kernel.org/pub/linux/kernel/people//akpm/patches/2.6/2.6.6-rc3/2.6.6-rc3-mm2/broken-out/proc-sys-kernel-vermagic.patch On Tue, Oct 16, 2012 at 5:06 PM, Robert P. J. Day <rpjday@crashcourse.ca> wrote: > On Tue, 16 Oct 2012, Chinmay V S wrote: > >> Isn't "uname -r" on the console good enough?... > > no, the vermagic string is considerably more informative. as i > mentioned, look at the definition in vermagic.h: > > #define VERMAGIC_STRING \ > UTS_RELEASE " " \ > MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \ > MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_MODVERSIONS \ > MODULE_ARCH_VERMAGIC > > that should (partially?) match the "vermagic" string you see with > modinfo, as in: > > $ modinfo vfat > ... snip ... > vermagic: 3.6.0-oct8+ SMP mod_unload modversions <--- there! > $ > > if you check the logic of module loading in kernel/module.c, you'll > see checks being made to see if the two strings are compatible, as in: > > ... snip ... > static const char vermagic[] = VERMAGIC_STRING; > ... snip ... > static int check_modinfo(struct module *mod, struct load_info *info) > { > const char *modmagic = get_modinfo(info, "vermagic"); > int err; > > /* This is allowed: modprobe --force will invalidate it. */ > if (!modmagic) { > err = try_to_force_load(mod, "bad vermagic"); > if (err) > return err; > } else if (!same_magic(modmagic, vermagic, info->index.vers)) { > printk(KERN_ERR "%s: version magic '%s' should be '%s'\n", > mod->name, modmagic, vermagic); > return -ENOEXEC; > } > ... snip ... > > it's not that big a deal, but it would be informative to be able to > see the kernel's full vermagic string. > > rday > > > -- > > ======================================================================== > Robert P. J. Day Ottawa, Ontario, CANADA > http://crashcourse.ca > > Twitter: http://twitter.com/rpjday > LinkedIn: http://ca.linkedin.com/in/rpjday > ======================================================================== > > _______________________________________________ > Kernelnewbies mailing list > Kernelnewbies at kernelnewbies.org > http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies -- Peter ^ permalink raw reply [flat|nested] 7+ messages in thread
* any way to see the running kernel's "vermagic" string? 2012-10-16 14:52 any way to see the running kernel's "vermagic" string? Robert P. J. Day 2012-10-16 14:59 ` Chinmay V S @ 2012-10-16 18:35 ` Frank Ch. Eigler 1 sibling, 0 replies; 7+ messages in thread From: Frank Ch. Eigler @ 2012-10-16 18:35 UTC (permalink / raw) To: kernelnewbies "Robert P. J. Day" <rpjday@crashcourse.ca> writes: > perhaps i've just overlooked it but is there an easy way to see the > current kernel's calculated "vermagic" string, as defined in the > header file include/linux/vermagic.h thusly? [...] Another way is systemtap: # stap -g -e 'probe begin { log ( %{ VERMAGIC_STRING /* string */ %} ) exit() }' 3.1.0-7.fc16.x86_64 SMP mod_unload - FChE ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-10-16 18:35 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-10-16 14:52 any way to see the running kernel's "vermagic" string? Robert P. J. Day 2012-10-16 14:59 ` Chinmay V S 2012-10-16 15:05 ` Peter Senna Tschudin 2012-10-16 15:07 ` Robert P. J. Day 2012-10-16 15:06 ` Robert P. J. Day 2012-10-16 15:32 ` Peter Senna Tschudin 2012-10-16 18:35 ` Frank Ch. Eigler
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).