Re: [PATCH] ipmi: avoid atomic_inc in exit function

From: Corey Minyard
Date: Mon Apr 15 2019 - 13:39:41 EST


On Mon, Apr 15, 2019 at 09:40:22AM -0700, Christoph Hellwig wrote:
> On Mon, Apr 15, 2019 at 05:55:00PM +0200, Arnd Bergmann wrote:
> > This causes a link failure on ARM in certain configurations,
> > when we reference each atomic operation from .alt.smp.init in
> > order to patch out atomics on non-SMP systems:
> >
> > `.exit.text' referenced in section `.alt.smp.init' of drivers/char/ipmi/ipmi_msghandler.o: defined in discarded section `.exit.text' of drivers/char/ipmi/ipmi_msghandler.o
> >
> > In this case, we can trivially replace the atomic_inc() with
> > an atomic_set() that has the same effect and does not require
> > a fixup.
>
> I'd rather fÑx the arm section management. Using atomic in exit
> routines is perfectly valid, and it would seem odd to forbid it.

That was my first thought, too. It's kind of hard to believe that
the IPMI driver is the only thing that does an atomic_inc() in the
exit code.

-corey