Re: [PATCH -tip 2/4] arm: Cleanup in_exception_text() and move it in asm/sections.h

From: Masami Hiramatsu
Date: Mon Sep 04 2017 - 11:22:36 EST


Hi Russell,

On Sun, 3 Sep 2017 23:21:52 +0100
Russell King - ARM Linux <linux@xxxxxxxxxxxxxxx> wrote:

> On Thu, Aug 17, 2017 at 04:15:00PM +0900, Masami Hiramatsu wrote:
> > Cleanup in_exception_text() using memory_contains() and
> > move it in asm/sections.h from asm/trap.h because
> > section symbols and memory_contains() are defined in
> > asm/sections.h.
> >
> > Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> > ---
> > arch/arm/include/asm/sections.h | 17 +++++++++++++++++
> > arch/arm/include/asm/traps.h | 22 +---------------------
> > 2 files changed, 18 insertions(+), 21 deletions(-)
> >
> > diff --git a/arch/arm/include/asm/sections.h b/arch/arm/include/asm/sections.h
> > index 803bbf2b20b8..76791cfc7619 100644
> > --- a/arch/arm/include/asm/sections.h
> > +++ b/arch/arm/include/asm/sections.h
> > @@ -4,5 +4,22 @@
> > #include <asm-generic/sections.h>
> >
> > extern char _exiprom[];
> > +extern char __exception_text_start[], __exception_text_end[];
> > +
> > +/**
> > + * in_exception_text - check if an address is in exception_text or
> > + * irqentry_text
> > + * @addr: virtual address to be checked
> > + *
> > + * Returns: true if the address specified by @addr is in the exception_text or
> > + * irqentry_text, false otherwise.
> > + */
> > +static inline bool in_exception_text(unsigned long addr)
> > +{
> > + return memory_contains(__exception_text_start, __exception_text_end,
> > + (void *)addr, 0) ||
> > + memory_contains(__irqentry_text_start, __irqentry_text_end,
> > + (void *)addr, 0);
>
> Patch looks buggy - where is __irqentry_text_start and __irqentry_text_end
> declared?

Those are declared in asm-generic/sections.h by below patch (on -tip tree)

https://patchwork.kernel.org/patch/9878033/

So, I thougt it was a good time to clean up related code.

Thank you,

--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>