On Wed, Aug 16, 2017 at 08:01:33PM +0900, Masami Hiramatsu wrote:
> On Thu,  3 Aug 2017 11:37:15 +0900
> Masami Hiramatsu <[email protected]> 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 <[email protected]>

/^JN - Jesper Nilsson
-- 
               Jesper Nilsson -- [email protected]

Reply via email to