Re: [PATCH v2] arch: define weak abort

From: Andrew Morton
Date: Tue Dec 19 2017 - 16:56:06 EST


On Tue, 19 Dec 2017 13:39:22 -0800 Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx> wrote:

> > --- a/kernel/exit.c
> > +++ b/kernel/exit.c
> > @@ -1759,3 +1759,11 @@ long kernel_wait4(pid_t upid, int __user *stat_addr, int options,
> > return -EFAULT;
> > }
> > #endif
> > +
> > +__weak void abort(void)
> > +{
> > + BUG();
> > +
> > + /* if that doesn't kill us, halt */
> > + panic("Oops failed to kill thread");
> > +}
>
> Hmm, I realize there's a small gotcha with this, when testing with a different
> patch from Arnd. This needs an EXPORT_SYMBOL() as well !

Yup. This?

From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Subject: kernel/exit.c: export abort() to modules

gcc -fisolate-erroneous-paths-dereference can generate calls to abort()
from modular code too.

Reported-by: Vineet Gupta <Vineet.Gupta1@xxxxxxxxxxxx>
Cc: Sudip Mukherjee <sudipm.mukherjee@xxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: "Alexey Brodkin" <Alexey.Brodkin@xxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

kernel/exit.c | 1 +
1 file changed, 1 insertion(+)

diff -puN kernel/exit.c~a kernel/exit.c
--- a/kernel/exit.c~a
+++ a/kernel/exit.c
@@ -1763,3 +1763,4 @@ __weak void abort(void)
/* if that doesn't kill us, halt */
panic("Oops failed to kill thread");
}
+EXPORT_SYMBOL(abort);
_