From: Dirk Behme <dirk.behme@googlemail.com>
To: Alessio Igor Bogani <abogani@kernel.org>
Cc: Rusty Russell <rusty@rustcorp.com.au>,
Tim Abbott <tabbott@ksplice.com>,
Anders Kaseorg <andersk@ksplice.com>,
Tim Bird <tim.bird@am.sony.com>,
LKML <linux-kernel@vger.kernel.org>,
Linux Embedded <linux-embedded@vger.kernel.org>,
Jason Wessel <jason.wessel@windriver.com>
Subject: Re: [PATCH] module: Use binary search in lookup_symbol()
Date: Mon, 16 May 2011 17:36:09 +0200 [thread overview]
Message-ID: <4DD14469.5030804@googlemail.com> (raw)
In-Reply-To: <1304455330-2728-1-git-send-email-abogani@kernel.org>
On 03.05.2011 22:42, Alessio Igor Bogani wrote:
> This work was supported by a hardware donation from the CE Linux Forum.
>
> Signed-off-by: Alessio Igor Bogani<abogani@kernel.org>
> ---
> kernel/module.c | 6 ++----
> 1 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/kernel/module.c b/kernel/module.c
> index 6a34337..a1f841e 100644
> --- a/kernel/module.c
> +++ b/kernel/module.c
> @@ -2055,10 +2055,8 @@ static const struct kernel_symbol *lookup_symbol(const char *name,
> const struct kernel_symbol *stop)
> {
> const struct kernel_symbol *ks = start;
> - for (; ks< stop; ks++)
> - if (strcmp(ks->name, name) == 0)
> - return ks;
> - return NULL;
> + return bsearch(ks->name, start, stop - start,
> + sizeof(struct kernel_symbol), cmp_name);
> }
Back porting this patch to a 2.6.34.9 based ARM system fails with an
Oops at 0x00000004. Debugging shows that both start and stop are 0 in
this case resulting in ks->name accessing 0x00000004. The original
code checked for this by 'ks < stop' in the for loop.
So the first idea was that the code should be
if(k < stop)
return bsearch();
else
return NULL;
Then, thinking again, results in the question if the first argument of
bsearch() shouldn't be 'name' rather than 'ks->name'? Then it would be
the job of cmp_name() to check for start == stop == 0? I.e.
return bsearch(name, ...);
?
Best regards
Dirk
next prev parent reply other threads:[~2011-05-16 15:36 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-03 20:42 [PATCH] module: Use binary search in lookup_symbol() Alessio Igor Bogani
2011-05-04 15:34 ` Dirk Behme
2011-05-04 17:30 ` Alessio Igor Bogani
2011-05-16 15:36 ` Dirk Behme [this message]
2011-05-16 18:02 ` Anders Kaseorg
2011-05-16 20:23 ` Alessio Igor Bogani
2011-05-16 21:01 ` Joe Perches
2011-05-16 21:08 ` Joe Perches
2011-05-17 3:52 ` Rusty Russell
2011-05-17 19:18 ` Dirk Behme
2011-05-17 19:41 ` Alessio Igor Bogani
2011-05-17 20:56 ` Alessio Igor Bogani
2011-05-17 23:22 ` Greg KH
2011-05-17 23:33 ` Tim Bird
2011-05-18 7:54 ` Christoph Hellwig
2011-05-18 17:00 ` Tim Bird
2011-05-18 19:21 ` Greg KH
2011-05-18 21:10 ` module boot time (was Re: [PATCH] module: Use binary search in lookup_symbol()) Tim Bird
2011-05-18 21:34 ` Greg KH
2011-05-19 19:56 ` Jeff Mahoney
2011-05-20 21:29 ` Tim Bird
2011-05-21 14:23 ` Jeff Mahoney
2011-05-18 18:55 ` (unknown), Alessio Igor Bogani
2011-05-18 18:55 ` Alessio Igor Bogani
2011-05-18 19:22 ` your mail Greg KH
2011-05-18 20:35 ` Alessio Igor Bogani
2011-05-18 20:35 ` [PATCH] module: Use binary search in lookup_symbol() Alessio Igor Bogani
2011-05-18 1:07 ` Rusty Russell
2011-05-18 15:26 ` Dirk Behme
2011-05-19 7:26 ` Rusty Russell
2011-05-18 1:10 ` Rusty Russell
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=4DD14469.5030804@googlemail.com \
--to=dirk.behme@googlemail.com \
--cc=abogani@kernel.org \
--cc=andersk@ksplice.com \
--cc=jason.wessel@windriver.com \
--cc=linux-embedded@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
--cc=tabbott@ksplice.com \
--cc=tim.bird@am.sony.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.