kernel: bump 4.14 to 4.14.20
Refresh patches. Remove upstreamed patches: - backport/080-v4.15-0001-arch-define-weak-abort.patch - backport/081-v4.15-0002-kernel-exit.c-export-abort-to-modules.patch Update patch that no longer applies: pending/493-ubi-set-ROOT_DEV-to-ubiblock-rootfs-if-unset.patch Fixes CVE-2017-8824. Compile-tested: octeon, x86/64. Runtime-tested: octeon, x86/64. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This commit is contained in:
@@ -55,7 +55,7 @@ Cc: Kir Kolyshkin <kir@openvz.org>
|
||||
rwlock_t sk_callback_lock;
|
||||
--- a/net/core/sock.c
|
||||
+++ b/net/core/sock.c
|
||||
@@ -2744,6 +2744,7 @@ void sock_init_data(struct socket *sock,
|
||||
@@ -2741,6 +2741,7 @@ void sock_init_data(struct socket *sock,
|
||||
|
||||
sk->sk_max_pacing_rate = ~0U;
|
||||
sk->sk_pacing_rate = ~0U;
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
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: [PATCH] arch: define weak abort()
|
||||
|
||||
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>
|
||||
---
|
||||
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");
|
||||
+}
|
||||
@@ -1,63 +0,0 @@
|
||||
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: [PATCH] kernel/exit.c: export abort() to modules
|
||||
|
||||
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>
|
||||
---
|
||||
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);
|
||||
@@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -1212,7 +1212,6 @@ all: modules
|
||||
@@ -1213,7 +1213,6 @@ all: modules
|
||||
|
||||
PHONY += modules
|
||||
modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) modules.builtin
|
||||
@@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
@$(kecho) ' Building modules, stage 2.';
|
||||
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost
|
||||
|
||||
@@ -1241,7 +1240,6 @@ _modinst_:
|
||||
@@ -1242,7 +1241,6 @@ _modinst_:
|
||||
rm -f $(MODLIB)/build ; \
|
||||
ln -s $(CURDIR) $(MODLIB)/build ; \
|
||||
fi
|
||||
|
||||
@@ -33,7 +33,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
|
||||
# Read KERNELRELEASE from include/config/kernel.release (if it exists)
|
||||
KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
|
||||
KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
|
||||
@@ -784,11 +789,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
|
||||
@@ -785,11 +790,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
|
||||
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
|
||||
endif
|
||||
|
||||
|
||||
@@ -327,7 +327,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/net/core/sock.c
|
||||
+++ b/net/core/sock.c
|
||||
@@ -3383,6 +3383,8 @@ static __net_initdata struct pernet_oper
|
||||
@@ -3380,6 +3380,8 @@ static __net_initdata struct pernet_oper
|
||||
|
||||
static int __init proto_init(void)
|
||||
{
|
||||
|
||||
@@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
|
||||
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -638,12 +638,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni
|
||||
@@ -639,12 +639,12 @@ KBUILD_CFLAGS += $(call cc-disable-warni
|
||||
|
||||
ifdef CONFIG_CC_OPTIMIZE_FOR_SIZE
|
||||
KBUILD_CFLAGS += $(call cc-option,-Oz,-Os)
|
||||
|
||||
@@ -8,7 +8,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
--- a/drivers/mtd/ubi/block.c
|
||||
+++ b/drivers/mtd/ubi/block.c
|
||||
@@ -625,6 +625,44 @@ static void __init ubiblock_create_from_
|
||||
@@ -633,6 +633,44 @@ static void __init ubiblock_create_from_
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,7 +53,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
static void ubiblock_remove_all(void)
|
||||
{
|
||||
struct ubiblock *next;
|
||||
@@ -655,6 +693,10 @@ int __init ubiblock_init(void)
|
||||
@@ -665,6 +703,10 @@ int __init ubiblock_init(void)
|
||||
*/
|
||||
ubiblock_create_from_param();
|
||||
|
||||
|
||||
@@ -17,9 +17,9 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
#include "ubi-media.h"
|
||||
#include "ubi.h"
|
||||
@@ -445,6 +446,15 @@ int ubiblock_create(struct ubi_volume_in
|
||||
add_disk(dev->gd);
|
||||
dev_info(disk_to_dev(dev->gd), "created from ubi%d:%d(%s)",
|
||||
dev->ubi_num, dev->vol_id, vi->name);
|
||||
mutex_unlock(&devices_mutex);
|
||||
+
|
||||
+ if (!strcmp(vi->name, "rootfs") &&
|
||||
+ IS_ENABLED(CONFIG_MTD_ROOTFS_ROOT_DEV) &&
|
||||
|
||||
Reference in New Issue
Block a user