lkml.org 
[lkml]   [2008]   [Dec]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.6.28-rc6-git1 -- BUG: unable to handle kernel paging request at ffff8800be8b0019
On Mon, 1 Dec 2008, Andrew Morton wrote:
> On Thu, 27 Nov 2008 17:34:27 +0000 (GMT)
> Hugh Dickins <hugh@veritas.com> wrote:
>
> > --- 2.6.28-rc6/include/linux/ftrace.h 2008-11-02 23:17:56.000000000 +0000
> > +++ linux/include/linux/ftrace.h 2008-11-27 16:39:26.000000000 +0000
> > @@ -231,7 +231,7 @@ ftrace_init_module(unsigned long *start,
> >
> > struct boot_trace {
> > pid_t caller;
> > - char func[KSYM_NAME_LEN];
> > + char func[KSYM_SYMBOL_LEN];
> > int result;
> > unsigned long long duration; /* usecs */
> > ktime_t calltime;
>
> The ftrace.h change causes this:
>
> In file included from arch/x86/kernel/machine_kexec_64.c:14:
> include/linux/ftrace.h:234: error: 'MODULE_NAME_LEN' undeclared here (not in a function)

Damn, I'm very sorry for landing you with that discovery.

>
> The fault really lies with include/linux/kallsyms.h, I think:
>
> #define KSYM_SYMBOL_LEN (sizeof("%s+%#lx/%#lx [%s]") + (KSYM_NAME_LEN - 1) + \
> 2*(BITS_PER_LONG*3/10) + (MODULE_NAME_LEN - 1) + 1)

MODULE_NAME_LEN is a big clue I completely ignored.

>
> but it doesn't include module.h, so it requires that users of this
> header perform the include.
>
> But I'm a bit reluctant to include module.h from kallsyms.h because
> kallsyms.h is a simple low-level thing:

Yes, I'd be a bit reluctant too, particularly at this stage.

>
> #include <linux/errno.h>
> #include <linux/kernel.h>
> #include <linux/stddef.h>
>
> and it wouldn't surprise me if module.h was including kallsyms.h by
> some means.
>
> So for now I'll try including module.h from ftrace.c. It would be nice
> to fix the kallsyms.h dependency..

You ended up choosing ftrace.h, which seems more to the point.

Thank you for doing the work I should never have given you.

Hugh


\
 
 \ /
  Last update: 2008-12-01 23:51    [W:0.751 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site