--- /dev/null
+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@gmail.com
+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");
++}
--- /dev/null
+From 5c6ac1d4f8fbdbed65dbeb8cf149d736409d16a1 Mon Sep 17 00:00:00 2001
+From: Robert Baronescu <robert.baronescu@nxp.com>
+Date: Tue, 10 Oct 2017 13:21:59 +0300
+Subject: crypto: tcrypt - fix S/G table for test_aead_speed()
+
+From: Robert Baronescu <robert.baronescu@nxp.com>
+
+commit 5c6ac1d4f8fbdbed65dbeb8cf149d736409d16a1 upstream.
+
+In case buffer length is a multiple of PAGE_SIZE,
+the S/G table is incorrectly generated.
+Fix this by handling buflen = k * PAGE_SIZE separately.
+
+Signed-off-by: Robert Baronescu <robert.baronescu@nxp.com>
+Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
+Signed-off-by: Horia Geantă <horia.geanta@nxp.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ crypto/tcrypt.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+--- a/crypto/tcrypt.c
++++ b/crypto/tcrypt.c
+@@ -221,11 +221,13 @@ static void sg_init_aead(struct scatterl
+ }
+
+ sg_init_table(sg, np + 1);
+- np--;
++ if (rem)
++ np--;
+ for (k = 0; k < np; k++)
+ sg_set_buf(&sg[k + 1], xbuf[k], PAGE_SIZE);
+
+- sg_set_buf(&sg[k + 1], xbuf[k], rem);
++ if (rem)
++ sg_set_buf(&sg[k + 1], xbuf[k], rem);
+ }
+
+ static void test_aead_speed(const char *algo, int enc, unsigned int secs,
--- /dev/null
+From dc8635b78cd8669c37e230058d18c33af7451ab1 Mon Sep 17 00:00:00 2001
+From: Andrew Morton <akpm@linux-foundation.org>
+Date: Thu, 4 Jan 2018 16:17:56 -0800
+Subject: kernel/exit.c: export abort() to modules
+
+From: Andrew Morton <akpm@linux-foundation.org>
+
+commit dc8635b78cd8669c37e230058d18c33af7451ab1 upstream.
+
+gcc -fisolate-erroneous-paths-dereference can generate calls to abort()
+from modular code too.
+
+[arnd@arndb.de: drop duplicate exports of abort()]
+ Link: http://lkml.kernel.org/r/20180102103311.706364-1-arnd@arndb.de
+Reported-by: Vineet Gupta <Vineet.Gupta1@synopsys.com>
+Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
+Cc: Arnd Bergmann <arnd@arndb.de>
+Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
+Cc: Russell King <rmk+kernel@armlinux.org.uk>
+Cc: Jose Abreu <Jose.Abreu@synopsys.com>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Arnd Bergmann <arnd@arndb.de>
+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>
+
+---
+ arch/arm/kernel/traps.c | 1 -
+ arch/m32r/kernel/traps.c | 1 -
+ arch/unicore32/kernel/traps.c | 1 -
+ kernel/exit.c | 1 +
+ 4 files changed, 1 insertion(+), 3 deletions(-)
+
+--- a/arch/arm/kernel/traps.c
++++ b/arch/arm/kernel/traps.c
+@@ -790,7 +790,6 @@ void abort(void)
+ /* if that doesn't kill us, halt */
+ panic("Oops failed to kill thread");
+ }
+-EXPORT_SYMBOL(abort);
+
+ void __init trap_init(void)
+ {
+--- a/arch/m32r/kernel/traps.c
++++ b/arch/m32r/kernel/traps.c
+@@ -122,7 +122,6 @@ void abort(void)
+ /* if that doesn't kill us, halt */
+ panic("Oops failed to kill thread");
+ }
+-EXPORT_SYMBOL(abort);
+
+ void __init trap_init(void)
+ {
+--- a/arch/unicore32/kernel/traps.c
++++ b/arch/unicore32/kernel/traps.c
+@@ -298,7 +298,6 @@ void abort(void)
+ /* if that doesn't kill us, halt */
+ panic("Oops failed to kill thread");
+ }
+-EXPORT_SYMBOL(abort);
+
+ void __init trap_init(void)
+ {
+--- a/kernel/exit.c
++++ b/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);
soreuseport-fix-mem-leak-in-reuseport_add_sock.patch
media-mtk-vcodec-add-missing-module_license-description.patch
media-soc_camera-soc_scale_crop-add-missing-module_description-author-license.patch
+crypto-tcrypt-fix-s-g-table-for-test_aead_speed.patch
+arch-define-weak-abort.patch
+kernel-exit.c-export-abort-to-modules.patch