On Wed, Aug 16, 2017 at 08:01:33PM +0900, Masami Hiramatsu wrote: > On Thu, 3 Aug 2017 11:37:15 +0900 > Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote: > > > diff --git a/arch/cris/kernel/traps.c b/arch/cris/kernel/traps.c > > index a01636a12a6e..d98131c45bb5 100644 > > --- a/arch/cris/kernel/traps.c > > +++ b/arch/cris/kernel/traps.c > > @@ -42,7 +42,7 @@ void (*nmi_handler)(struct pt_regs *); > > void show_trace(unsigned long *stack) > > { > > unsigned long addr, module_start, module_end; > > - extern char _stext, _etext; > > + extern char _stext[], _etext[]; > > int i; > > > > pr_err("\nCall Trace: "); > > @@ -69,8 +69,8 @@ void show_trace(unsigned long *stack) > > * down the cause of the crash will be able to figure > > * out the call path that was taken. > > */ > > - if (((addr >= (unsigned long)&_stext) && > > - (addr <= (unsigned long)&_etext)) || > > + if (((addr >= (unsigned long)_stext) && > > + (addr <= (unsigned long)_etext)) || > > ((addr >= module_start) && (addr <= module_end))) { > > BTW, I would like to ask cris people, this seems to check over 1 byte, > since _etext and module_end will be placed at the next byte of the real > address area. > As same as other arch, Should it be > > (addr < (unsigned long)_etext) > > or are there any other reason? As far as I can tell, this is non-intentional. > Thank you, > Masami Hiramatsu <mhiramat@xxxxxxxxxx> /^JN - Jesper Nilsson -- Jesper Nilsson -- jesper.nilsson@xxxxxxxx