This is a note to let you know that I've just added the patch titled
arch: define weak abort()
to the 4.14-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git%3Ba=su...
The filename of the patch is: arch-define-weak-abort.patch and it can be found in the queue-4.14 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let stable@vger.kernel.org know about it.
From 7c2c11b208be09c156573fc0076b7b3646e05219 Mon Sep 17 00:00:00 2001
From: Sudip Mukherjee sudipm.mukherjee@gmail.com Date: Thu, 14 Dec 2017 15:33:19 -0800 Subject: arch: define weak abort()
From: Sudip Mukherjee sudipm.mukherjee@gmail.com
commit 7c2c11b208be09c156573fc0076b7b3646e05219 upstream.
gcc toggle -fisolate-erroneous-paths-dereference (default at -O2 onwards) isolates faulty code paths such as null pointer access, divide by zero etc. If gcc port doesnt implement __builtin_trap, an abort() is generated which causes kernel link error.
In this case, gcc is generating abort due to 'divide by zero' in lib/mpi/mpih-div.c.
Currently 'frv' and 'arc' are failing. Previously other arch was also broken like m32r was fixed by commit d22e3d69ee1a ("m32r: fix build failure").
Let's define this weak function which is common for all arch and fix the problem permanently. We can even remove the arch specific 'abort' after this is done.
Link: http://lkml.kernel.org/r/1513118956-8718-1-git-send-email-sudipm.mukherjee@g... Signed-off-by: Sudip Mukherjee sudipm.mukherjee@gmail.com Cc: Alexey Brodkin Alexey.Brodkin@synopsys.com Cc: Vineet Gupta Vineet.Gupta1@synopsys.com Cc: Sudip Mukherjee sudipm.mukherjee@gmail.com Signed-off-by: Andrew Morton akpm@linux-foundation.org Signed-off-by: Linus Torvalds torvalds@linux-foundation.org Cc: Evgeniy Didin Evgeniy.Didin@synopsys.com Signed-off-by: Greg Kroah-Hartman gregkh@linuxfoundation.org
--- kernel/exit.c | 8 ++++++++ 1 file changed, 8 insertions(+)
--- a/kernel/exit.c +++ b/kernel/exit.c @@ -1755,3 +1755,11 @@ Efault: return -EFAULT; } #endif + +__weak void abort(void) +{ + BUG(); + + /* if that doesn't kill us, halt */ + panic("Oops failed to kill thread"); +}
Patches currently in stable-queue which might be from sudipm.mukherjee@gmail.com are
queue-4.14/arch-define-weak-abort.patch queue-4.14/kernel-exit.c-export-abort-to-modules.patch
linux-stable-mirror@lists.linaro.org