public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Rusty Russell <rusty@rustcorp.com.au>
To: Mike Frysinger <vapier.adi@gmail.com>
Cc: Linux kernel mailing list <linux-kernel@vger.kernel.org>,
	Robin Getz <rgetz@blackfin.uclinux.org>
Subject: Re: module version magic and arches with symbol prefixes
Date: Fri, 19 Jun 2009 15:08:05 +0930	[thread overview]
Message-ID: <200906191508.06537.rusty@rustcorp.com.au> (raw)
In-Reply-To: <8bd0f97a0906180824y17a00110i57565aee16207e5@mail.gmail.com>

On Fri, 19 Jun 2009 12:54:44 am Mike Frysinger wrote:
> the current check_modstruct_version() does this:
> {
>     const unsigned long *crc;
>
>     if (!find_symbol("module_layout", NULL, &crc, true, false))
>         BUG();
>     return check_version(sechdrs, versindex, "module_layout", mod, crc);
> }
> the trouble here is that it looks for a literal "module_layout" symbol
> and for ports that have symbol prefixes (a quick check shows Blackfin
> & h8300), this aint going to work.

MODULE_SYMBOL_PREFIX is the fix for this, ie:

	if (!find_symbol(MODULE_SYMBOL_PREFIX "module_layout), ...

> also, using BUG() here seems pretty damn harsh.  wouldnt it make more
> sense to do something like:
>     if (WARN_ON(!find_symbol("module_layout", NULL, &crc, true, false)))
>         return 0;
> this way the module is simply not loaded rather than killing the kernel

No, it means the kernel didn't build properly.  Better to fail spectacularly: 
ideally we'd do this find in an init routine and guarantee a boot crash.

Thanks,
Rusty.

  reply	other threads:[~2009-06-19  6:34 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-18 15:24 module version magic and arches with symbol prefixes Mike Frysinger
2009-06-19  5:38 ` Rusty Russell [this message]
2009-06-19  7:49   ` [PATCH] module: use MODULE_SYMBOL_PREFIX with module_layout Mike Frysinger
2009-06-19 14:02     ` Rusty Russell
2009-06-19 18:29       ` Mike Frysinger
2009-06-19 12:54   ` module version magic and arches with symbol prefixes Robin Getz
2009-06-19 13:14     ` Mike Frysinger
2009-06-19 17:07       ` Robin Getz
2009-06-19 18:32         ` Mike Frysinger
2009-06-23  7:07         ` Rusty Russell
2009-06-29 12:07           ` Robin Getz

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=200906191508.06537.rusty@rustcorp.com.au \
    --to=rusty@rustcorp.com.au \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rgetz@blackfin.uclinux.org \
    --cc=vapier.adi@gmail.com \
    /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