]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
AUTOSEL patches for 4.4
authorSasha Levin <sashal@kernel.org>
Fri, 23 Nov 2018 12:46:03 +0000 (07:46 -0500)
committerSasha Levin <sashal@kernel.org>
Fri, 23 Nov 2018 12:46:03 +0000 (07:46 -0500)
Signed-off-by: Sasha Levin <sashal@kernel.org>
17 files changed:
queue-4.4/arm64-percpu-initialize-ret-in-the-default-case.patch [new file with mode: 0644]
queue-4.4/clk-samsung-exynos5420-enable-peris-clocks-for-suspe.patch [new file with mode: 0644]
queue-4.4/fs-exofs-fix-potential-memory-leak-in-mount-option-p.patch [new file with mode: 0644]
queue-4.4/hfs-prevent-btree-data-loss-on-root-split.patch [new file with mode: 0644]
queue-4.4/hfsplus-prevent-btree-data-loss-on-root-split.patch [new file with mode: 0644]
queue-4.4/hwmon-ibmpowernv-remove-bogus-__init-annotations.patch [new file with mode: 0644]
queue-4.4/i2c-omap-enable-for-arch_k3.patch [new file with mode: 0644]
queue-4.4/lib-raid6-fix-arm64-test-build.patch [new file with mode: 0644]
queue-4.4/netfilter-ipset-actually-allow-allowable-cidr-0-in-h.patch [new file with mode: 0644]
queue-4.4/netfilter-ipset-correct-rcu_dereference-call-in-ip_s.patch [new file with mode: 0644]
queue-4.4/netfilter-xt_idletimer-add-sysfs-filename-checking-r.patch [new file with mode: 0644]
queue-4.4/platform-x86-acerhdf-add-bios-entry-for-gateway-lt31.patch [new file with mode: 0644]
queue-4.4/reiserfs-propagate-errors-from-fill_with_dentries-pr.patch [new file with mode: 0644]
queue-4.4/s390-mm-fix-error-__node_distance-undefined.patch [new file with mode: 0644]
queue-4.4/s390-vdso-add-missing-force-to-build-targets.patch [new file with mode: 0644]
queue-4.4/series
queue-4.4/um-give-start_idle_thread-a-return-code.patch [new file with mode: 0644]

diff --git a/queue-4.4/arm64-percpu-initialize-ret-in-the-default-case.patch b/queue-4.4/arm64-percpu-initialize-ret-in-the-default-case.patch
new file mode 100644 (file)
index 0000000..2a92c58
--- /dev/null
@@ -0,0 +1,70 @@
+From e8e728a7467974066bbb001397ab4fd11bfd6568 Mon Sep 17 00:00:00 2001
+From: Nathan Chancellor <natechancellor@gmail.com>
+Date: Tue, 25 Sep 2018 12:44:59 -0700
+Subject: arm64: percpu: Initialize ret in the default case
+
+[ Upstream commit b5bb425871186303e6936fa2581521bdd1964a58 ]
+
+Clang warns that if the default case is taken, ret will be
+uninitialized.
+
+./arch/arm64/include/asm/percpu.h:196:2: warning: variable 'ret' is used
+uninitialized whenever switch default is taken
+[-Wsometimes-uninitialized]
+        default:
+        ^~~~~~~
+./arch/arm64/include/asm/percpu.h:200:9: note: uninitialized use occurs
+here
+        return ret;
+               ^~~
+./arch/arm64/include/asm/percpu.h:157:19: note: initialize the variable
+'ret' to silence this warning
+        unsigned long ret, loop;
+                         ^
+                          = 0
+
+This warning appears several times while building the erofs filesystem.
+While it's not strictly wrong, the BUILD_BUG will prevent this from
+becoming a true problem. Initialize ret to 0 in the default case right
+before the BUILD_BUG to silence all of these warnings.
+
+Reported-by: Prasad Sodagudi <psodagud@codeaurora.org>
+Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
+Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
+Signed-off-by: Dennis Zhou <dennis@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/arm64/include/asm/percpu.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/arch/arm64/include/asm/percpu.h b/arch/arm64/include/asm/percpu.h
+index 8a336852eeba..aea904713d0f 100644
+--- a/arch/arm64/include/asm/percpu.h
++++ b/arch/arm64/include/asm/percpu.h
+@@ -84,6 +84,7 @@ static inline unsigned long __percpu_##op(void *ptr,                 \
+               : [val] "Ir" (val));                                    \
+               break;                                                  \
+       default:                                                        \
++              ret = 0;                                                \
+               BUILD_BUG();                                            \
+       }                                                               \
+                                                                       \
+@@ -113,6 +114,7 @@ static inline unsigned long __percpu_read(void *ptr, int size)
+               ret = ACCESS_ONCE(*(u64 *)ptr);
+               break;
+       default:
++              ret = 0;
+               BUILD_BUG();
+       }
+@@ -182,6 +184,7 @@ static inline unsigned long __percpu_xchg(void *ptr, unsigned long val,
+               : [val] "r" (val));
+               break;
+       default:
++              ret = 0;
+               BUILD_BUG();
+       }
+-- 
+2.17.1
+
diff --git a/queue-4.4/clk-samsung-exynos5420-enable-peris-clocks-for-suspe.patch b/queue-4.4/clk-samsung-exynos5420-enable-peris-clocks-for-suspe.patch
new file mode 100644 (file)
index 0000000..5ffcb4e
--- /dev/null
@@ -0,0 +1,34 @@
+From 9a20053e192d010e8194999d392289c76044bb94 Mon Sep 17 00:00:00 2001
+From: Marek Szyprowski <m.szyprowski@samsung.com>
+Date: Mon, 24 Sep 2018 13:01:20 +0200
+Subject: clk: samsung: exynos5420: Enable PERIS clocks for suspend
+
+[ Upstream commit b33228029d842269e17bba591609e83ed422005d ]
+
+Ensure that clocks for core SoC modules (including TZPC0..9 modules)
+are enabled for suspend/resume cycle. This fixes suspend/resume
+support on Exynos5422-based Odroid XU3/XU4 boards.
+
+Suggested-by: Joonyoung Shim <jy0922.shim@samsung.com>
+Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
+Signed-off-by: Sylwester Nawrocki <snawrocki@kernel.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/clk/samsung/clk-exynos5420.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/clk/samsung/clk-exynos5420.c b/drivers/clk/samsung/clk-exynos5420.c
+index 389af3c15ec4..bde71b07f15e 100644
+--- a/drivers/clk/samsung/clk-exynos5420.c
++++ b/drivers/clk/samsung/clk-exynos5420.c
+@@ -273,6 +273,7 @@ static const struct samsung_clk_reg_dump exynos5420_set_clksrc[] = {
+       { .offset = GATE_BUS_TOP,               .value = 0xffffffff, },
+       { .offset = GATE_BUS_DISP1,             .value = 0xffffffff, },
+       { .offset = GATE_IP_PERIC,              .value = 0xffffffff, },
++      { .offset = GATE_IP_PERIS,              .value = 0xffffffff, },
+ };
+ static int exynos5420_clk_suspend(void)
+-- 
+2.17.1
+
diff --git a/queue-4.4/fs-exofs-fix-potential-memory-leak-in-mount-option-p.patch b/queue-4.4/fs-exofs-fix-potential-memory-leak-in-mount-option-p.patch
new file mode 100644 (file)
index 0000000..d3d5193
--- /dev/null
@@ -0,0 +1,44 @@
+From c519c4e89c1217642a0863e0bfc295b033dc4dff Mon Sep 17 00:00:00 2001
+From: Chengguang Xu <cgxu519@gmx.com>
+Date: Wed, 13 Jun 2018 12:05:13 +0800
+Subject: fs/exofs: fix potential memory leak in mount option parsing
+
+[ Upstream commit 515f1867addaba49c1c6ac73abfaffbc192c1db4 ]
+
+There are some cases can cause memory leak when parsing
+option 'osdname'.
+
+Signed-off-by: Chengguang Xu <cgxu519@gmx.com>
+Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ fs/exofs/super.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/fs/exofs/super.c b/fs/exofs/super.c
+index b795c567b5e1..360ba74e04e6 100644
+--- a/fs/exofs/super.c
++++ b/fs/exofs/super.c
+@@ -100,6 +100,7 @@ static int parse_options(char *options, struct exofs_mountopt *opts)
+               token = match_token(p, tokens, args);
+               switch (token) {
+               case Opt_name:
++                      kfree(opts->dev_name);
+                       opts->dev_name = match_strdup(&args[0]);
+                       if (unlikely(!opts->dev_name)) {
+                               EXOFS_ERR("Error allocating dev_name");
+@@ -868,8 +869,10 @@ static struct dentry *exofs_mount(struct file_system_type *type,
+       int ret;
+       ret = parse_options(data, &opts);
+-      if (ret)
++      if (ret) {
++              kfree(opts.dev_name);
+               return ERR_PTR(ret);
++      }
+       if (!opts.dev_name)
+               opts.dev_name = dev_name;
+-- 
+2.17.1
+
diff --git a/queue-4.4/hfs-prevent-btree-data-loss-on-root-split.patch b/queue-4.4/hfs-prevent-btree-data-loss-on-root-split.patch
new file mode 100644 (file)
index 0000000..544913f
--- /dev/null
@@ -0,0 +1,49 @@
+From 621af425a7e8a9c900edeacbe112c3d4d6ea2de3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ernesto=20A=2E=20Fern=C3=A1ndez?=
+ <ernesto.mnd.fernandez@gmail.com>
+Date: Tue, 30 Oct 2018 15:06:07 -0700
+Subject: hfs: prevent btree data loss on root split
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+[ Upstream commit d057c036672f33d43a5f7344acbb08cf3a8a0c09 ]
+
+This bug is triggered whenever hfs_brec_update_parent() needs to split
+the root node.  The height of the btree is not increased, which leaves
+the new node orphaned and its records lost.  It is not possible for this
+to happen on a valid hfs filesystem because the index nodes have fixed
+length keys.
+
+For reasons I ignore, the hfs module does have support for a number of
+hfsplus features.  A corrupt btree header may report variable length
+keys and trigger this bug, so it's better to fix it.
+
+Link: http://lkml.kernel.org/r/9750b1415685c4adca10766895f6d5ef12babdb0.1535682463.git.ernesto.mnd.fernandez@gmail.com
+Signed-off-by: Ernesto A. Fernández <ernesto.mnd.fernandez@gmail.com>
+Cc: Christoph Hellwig <hch@infradead.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ fs/hfs/brec.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/fs/hfs/brec.c b/fs/hfs/brec.c
+index 2a6f3c67cb3f..2e713673df42 100644
+--- a/fs/hfs/brec.c
++++ b/fs/hfs/brec.c
+@@ -424,6 +424,10 @@ skip:
+       if (new_node) {
+               __be32 cnid;
++              if (!new_node->parent) {
++                      hfs_btree_inc_height(tree);
++                      new_node->parent = tree->root;
++              }
+               fd->bnode = hfs_bnode_find(tree, new_node->parent);
+               /* create index key and entry */
+               hfs_bnode_read_key(new_node, fd->search_key, 14);
+-- 
+2.17.1
+
diff --git a/queue-4.4/hfsplus-prevent-btree-data-loss-on-root-split.patch b/queue-4.4/hfsplus-prevent-btree-data-loss-on-root-split.patch
new file mode 100644 (file)
index 0000000..ddf2f9b
--- /dev/null
@@ -0,0 +1,63 @@
+From 7b42e64eeea27fe5cede86c629221c51e1a4855b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ernesto=20A=2E=20Fern=C3=A1ndez?=
+ <ernesto.mnd.fernandez@gmail.com>
+Date: Tue, 30 Oct 2018 15:06:00 -0700
+Subject: hfsplus: prevent btree data loss on root split
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+[ Upstream commit 0a3021d4f5295aa073c7bf5c5e4de60a2e292578 ]
+
+Creating, renaming or deleting a file may cause catalog corruption and
+data loss.  This bug is randomly triggered by xfstests generic/027, but
+here is a faster reproducer:
+
+  truncate -s 50M fs.iso
+  mkfs.hfsplus fs.iso
+  mount fs.iso /mnt
+  i=100
+  while [ $i -le 150 ]; do
+    touch /mnt/$i &>/dev/null
+    ((++i))
+  done
+  i=100
+  while [ $i -le 150 ]; do
+    mv /mnt/$i /mnt/$(perl -e "print $i x82") &>/dev/null
+    ((++i))
+  done
+  umount /mnt
+  fsck.hfsplus -n fs.iso
+
+The bug is triggered whenever hfs_brec_update_parent() needs to split the
+root node.  The height of the btree is not increased, which leaves the new
+node orphaned and its records lost.
+
+Link: http://lkml.kernel.org/r/26d882184fc43043a810114258f45277752186c7.1535682461.git.ernesto.mnd.fernandez@gmail.com
+Signed-off-by: Ernesto A. Fernández <ernesto.mnd.fernandez@gmail.com>
+Cc: Christoph Hellwig <hch@infradead.org>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ fs/hfsplus/brec.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/fs/hfsplus/brec.c b/fs/hfsplus/brec.c
+index 754fdf8c6356..1002a0c08319 100644
+--- a/fs/hfsplus/brec.c
++++ b/fs/hfsplus/brec.c
+@@ -427,6 +427,10 @@ skip:
+       if (new_node) {
+               __be32 cnid;
++              if (!new_node->parent) {
++                      hfs_btree_inc_height(tree);
++                      new_node->parent = tree->root;
++              }
+               fd->bnode = hfs_bnode_find(tree, new_node->parent);
+               /* create index key and entry */
+               hfs_bnode_read_key(new_node, fd->search_key, 14);
+-- 
+2.17.1
+
diff --git a/queue-4.4/hwmon-ibmpowernv-remove-bogus-__init-annotations.patch b/queue-4.4/hwmon-ibmpowernv-remove-bogus-__init-annotations.patch
new file mode 100644 (file)
index 0000000..0ab9430
--- /dev/null
@@ -0,0 +1,53 @@
+From f13de8baa5096b8ae04d59dfe7adbf1a0ba58e67 Mon Sep 17 00:00:00 2001
+From: Geert Uytterhoeven <geert@linux-m68k.org>
+Date: Sun, 28 Oct 2018 18:16:51 +0100
+Subject: hwmon: (ibmpowernv) Remove bogus __init annotations
+
+[ Upstream commit e3e61f01d755188cb6c2dcf5a244b9c0937c258e ]
+
+If gcc decides not to inline make_sensor_label():
+
+    WARNING: vmlinux.o(.text+0x4df549c): Section mismatch in reference from the function .create_device_attrs() to the function .init.text:.make_sensor_label()
+    The function .create_device_attrs() references
+    the function __init .make_sensor_label().
+    This is often because .create_device_attrs lacks a __init
+    annotation or the annotation of .make_sensor_label is wrong.
+
+As .probe() can be called after freeing of __init memory, all __init
+annotiations in the driver are bogus, and should be removed.
+
+Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
+Signed-off-by: Guenter Roeck <linux@roeck-us.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/hwmon/ibmpowernv.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/hwmon/ibmpowernv.c b/drivers/hwmon/ibmpowernv.c
+index 55b5a8ff1cfe..ca3aa28977bc 100644
+--- a/drivers/hwmon/ibmpowernv.c
++++ b/drivers/hwmon/ibmpowernv.c
+@@ -114,7 +114,7 @@ static ssize_t show_label(struct device *dev, struct device_attribute *devattr,
+       return sprintf(buf, "%s\n", sdata->label);
+ }
+-static int __init get_logical_cpu(int hwcpu)
++static int get_logical_cpu(int hwcpu)
+ {
+       int cpu;
+@@ -125,9 +125,8 @@ static int __init get_logical_cpu(int hwcpu)
+       return -ENOENT;
+ }
+-static void __init make_sensor_label(struct device_node *np,
+-                                   struct sensor_data *sdata,
+-                                   const char *label)
++static void make_sensor_label(struct device_node *np,
++                            struct sensor_data *sdata, const char *label)
+ {
+       u32 id;
+       size_t n;
+-- 
+2.17.1
+
diff --git a/queue-4.4/i2c-omap-enable-for-arch_k3.patch b/queue-4.4/i2c-omap-enable-for-arch_k3.patch
new file mode 100644 (file)
index 0000000..bb73ae7
--- /dev/null
@@ -0,0 +1,33 @@
+From 3c8340c198153b513fff67ac4a410b3cae8bc083 Mon Sep 17 00:00:00 2001
+From: Vignesh R <vigneshr@ti.com>
+Date: Fri, 9 Nov 2018 16:44:11 +0530
+Subject: i2c: omap: Enable for ARCH_K3
+
+[ Upstream commit 5b277402deac0691226a947df71c581686bd4020 ]
+
+Allow I2C_OMAP to be built for K3 platforms.
+
+Signed-off-by: Vignesh R <vigneshr@ti.com>
+Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
+Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/i2c/busses/Kconfig | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/drivers/i2c/busses/Kconfig b/drivers/i2c/busses/Kconfig
+index 7b0aa82ea38b..b6a692677eea 100644
+--- a/drivers/i2c/busses/Kconfig
++++ b/drivers/i2c/busses/Kconfig
+@@ -702,7 +702,7 @@ config I2C_OCORES
+ config I2C_OMAP
+       tristate "OMAP I2C adapter"
+-      depends on ARCH_OMAP
++      depends on ARCH_OMAP || ARCH_K3
+       default y if MACH_OMAP_H3 || MACH_OMAP_OSK
+       help
+         If you say yes to this option, support will be included for the
+-- 
+2.17.1
+
diff --git a/queue-4.4/lib-raid6-fix-arm64-test-build.patch b/queue-4.4/lib-raid6-fix-arm64-test-build.patch
new file mode 100644 (file)
index 0000000..ab2a889
--- /dev/null
@@ -0,0 +1,46 @@
+From e419f0bf94b1a71df69d86378f95d39a95df68bc Mon Sep 17 00:00:00 2001
+From: Jeremy Linton <jeremy.linton@arm.com>
+Date: Mon, 5 Nov 2018 18:14:41 -0600
+Subject: lib/raid6: Fix arm64 test build
+
+[ Upstream commit 313a06e636808387822af24c507cba92703568b1 ]
+
+The lib/raid6/test fails to build the neon objects
+on arm64 because the correct machine type is 'aarch64'.
+
+Once this is correctly enabled, the neon recovery objects
+need to be added to the build.
+
+Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
+Signed-off-by: Jeremy Linton <jeremy.linton@arm.com>
+Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ lib/raid6/test/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/raid6/test/Makefile b/lib/raid6/test/Makefile
+index 29090f3db677..28c089cb13f1 100644
+--- a/lib/raid6/test/Makefile
++++ b/lib/raid6/test/Makefile
+@@ -26,7 +26,7 @@ ifeq ($(ARCH),arm)
+         CFLAGS += -I../../../arch/arm/include -mfpu=neon
+         HAS_NEON = yes
+ endif
+-ifeq ($(ARCH),arm64)
++ifeq ($(ARCH),aarch64)
+         CFLAGS += -I../../../arch/arm64/include
+         HAS_NEON = yes
+ endif
+@@ -37,7 +37,7 @@ ifeq ($(IS_X86),yes)
+                     gcc -c -x assembler - >&/dev/null &&      \
+                     rm ./-.o && echo -DCONFIG_AS_AVX2=1)
+ else ifeq ($(HAS_NEON),yes)
+-        OBJS   += neon.o neon1.o neon2.o neon4.o neon8.o
++        OBJS   += neon.o neon1.o neon2.o neon4.o neon8.o recov_neon.o recov_neon_inner.o
+         CFLAGS += -DCONFIG_KERNEL_MODE_NEON=1
+ else
+         HAS_ALTIVEC := $(shell printf '\#include <altivec.h>\nvector int a;\n' |\
+-- 
+2.17.1
+
diff --git a/queue-4.4/netfilter-ipset-actually-allow-allowable-cidr-0-in-h.patch b/queue-4.4/netfilter-ipset-actually-allow-allowable-cidr-0-in-h.patch
new file mode 100644 (file)
index 0000000..d106cca
--- /dev/null
@@ -0,0 +1,90 @@
+From 028c65e6292dab4e03b7918841b7a3f1e14ba8ee Mon Sep 17 00:00:00 2001
+From: Eric Westbrook <eric@westbrook.io>
+Date: Tue, 28 Aug 2018 15:14:42 -0600
+Subject: netfilter: ipset: actually allow allowable CIDR 0 in
+ hash:net,port,net
+
+[ Upstream commit 886503f34d63e681662057448819edb5b1057a97 ]
+
+Allow /0 as advertised for hash:net,port,net sets.
+
+For "hash:net,port,net", ipset(8) says that "either subnet
+is permitted to be a /0 should you wish to match port
+between all destinations."
+
+Make that statement true.
+
+Before:
+
+    # ipset create cidrzero hash:net,port,net
+    # ipset add cidrzero 0.0.0.0/0,12345,0.0.0.0/0
+    ipset v6.34: The value of the CIDR parameter of the IP address is invalid
+
+    # ipset create cidrzero6 hash:net,port,net family inet6
+    # ipset add cidrzero6 ::/0,12345,::/0
+    ipset v6.34: The value of the CIDR parameter of the IP address is invalid
+
+After:
+
+    # ipset create cidrzero hash:net,port,net
+    # ipset add cidrzero 0.0.0.0/0,12345,0.0.0.0/0
+    # ipset test cidrzero 192.168.205.129,12345,172.16.205.129
+    192.168.205.129,tcp:12345,172.16.205.129 is in set cidrzero.
+
+    # ipset create cidrzero6 hash:net,port,net family inet6
+    # ipset add cidrzero6 ::/0,12345,::/0
+    # ipset test cidrzero6 fe80::1,12345,ff00::1
+    fe80::1,tcp:12345,ff00::1 is in set cidrzero6.
+
+See also:
+
+  https://bugzilla.kernel.org/show_bug.cgi?id=200897
+  https://github.com/ewestbrook/linux/commit/df7ff6efb0934ab6acc11f003ff1a7580d6c1d9c
+
+Signed-off-by: Eric Westbrook <linux@westbrook.io>
+Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ net/netfilter/ipset/ip_set_hash_netportnet.c | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/net/netfilter/ipset/ip_set_hash_netportnet.c b/net/netfilter/ipset/ip_set_hash_netportnet.c
+index 9a14c237830f..b259a5814965 100644
+--- a/net/netfilter/ipset/ip_set_hash_netportnet.c
++++ b/net/netfilter/ipset/ip_set_hash_netportnet.c
+@@ -213,13 +213,13 @@ hash_netportnet4_uadt(struct ip_set *set, struct nlattr *tb[],
+       if (tb[IPSET_ATTR_CIDR]) {
+               e.cidr[0] = nla_get_u8(tb[IPSET_ATTR_CIDR]);
+-              if (!e.cidr[0] || e.cidr[0] > HOST_MASK)
++              if (e.cidr[0] > HOST_MASK)
+                       return -IPSET_ERR_INVALID_CIDR;
+       }
+       if (tb[IPSET_ATTR_CIDR2]) {
+               e.cidr[1] = nla_get_u8(tb[IPSET_ATTR_CIDR2]);
+-              if (!e.cidr[1] || e.cidr[1] > HOST_MASK)
++              if (e.cidr[1] > HOST_MASK)
+                       return -IPSET_ERR_INVALID_CIDR;
+       }
+@@ -492,13 +492,13 @@ hash_netportnet6_uadt(struct ip_set *set, struct nlattr *tb[],
+       if (tb[IPSET_ATTR_CIDR]) {
+               e.cidr[0] = nla_get_u8(tb[IPSET_ATTR_CIDR]);
+-              if (!e.cidr[0] || e.cidr[0] > HOST_MASK)
++              if (e.cidr[0] > HOST_MASK)
+                       return -IPSET_ERR_INVALID_CIDR;
+       }
+       if (tb[IPSET_ATTR_CIDR2]) {
+               e.cidr[1] = nla_get_u8(tb[IPSET_ATTR_CIDR2]);
+-              if (!e.cidr[1] || e.cidr[1] > HOST_MASK)
++              if (e.cidr[1] > HOST_MASK)
+                       return -IPSET_ERR_INVALID_CIDR;
+       }
+-- 
+2.17.1
+
diff --git a/queue-4.4/netfilter-ipset-correct-rcu_dereference-call-in-ip_s.patch b/queue-4.4/netfilter-ipset-correct-rcu_dereference-call-in-ip_s.patch
new file mode 100644 (file)
index 0000000..538a672
--- /dev/null
@@ -0,0 +1,39 @@
+From 43e8b8ae36115c76c16848b99a61291635a2e609 Mon Sep 17 00:00:00 2001
+From: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+Date: Fri, 19 Oct 2018 19:35:19 +0200
+Subject: netfilter: ipset: Correct rcu_dereference() call in
+ ip_set_put_comment()
+
+[ Upstream commit 17b8b74c0f8dbf9b9e3301f9ca5b65dd1c079951 ]
+
+The function is called when rcu_read_lock() is held and not
+when rcu_read_lock_bh() is held.
+
+Signed-off-by: Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ include/linux/netfilter/ipset/ip_set_comment.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/include/linux/netfilter/ipset/ip_set_comment.h b/include/linux/netfilter/ipset/ip_set_comment.h
+index 8d0248525957..9f34204978e4 100644
+--- a/include/linux/netfilter/ipset/ip_set_comment.h
++++ b/include/linux/netfilter/ipset/ip_set_comment.h
+@@ -41,11 +41,11 @@ ip_set_init_comment(struct ip_set_comment *comment,
+       rcu_assign_pointer(comment->c, c);
+ }
+-/* Used only when dumping a set, protected by rcu_read_lock_bh() */
++/* Used only when dumping a set, protected by rcu_read_lock() */
+ static inline int
+ ip_set_put_comment(struct sk_buff *skb, struct ip_set_comment *comment)
+ {
+-      struct ip_set_comment_rcu *c = rcu_dereference_bh(comment->c);
++      struct ip_set_comment_rcu *c = rcu_dereference(comment->c);
+       if (!c)
+               return 0;
+-- 
+2.17.1
+
diff --git a/queue-4.4/netfilter-xt_idletimer-add-sysfs-filename-checking-r.patch b/queue-4.4/netfilter-xt_idletimer-add-sysfs-filename-checking-r.patch
new file mode 100644 (file)
index 0000000..35e201f
--- /dev/null
@@ -0,0 +1,82 @@
+From 4ea7cf77776dd05cafae2563fa597276407a8a3a Mon Sep 17 00:00:00 2001
+From: Taehee Yoo <ap420073@gmail.com>
+Date: Sun, 21 Oct 2018 00:00:08 +0900
+Subject: netfilter: xt_IDLETIMER: add sysfs filename checking routine
+
+[ Upstream commit 54451f60c8fa061af9051a53be9786393947367c ]
+
+When IDLETIMER rule is added, sysfs file is created under
+/sys/class/xt_idletimer/timers/
+But some label name shouldn't be used.
+".", "..", "power", "uevent", "subsystem", etc...
+So that sysfs filename checking routine is needed.
+
+test commands:
+   %iptables -I INPUT -j IDLETIMER --timeout 1 --label "power"
+
+splat looks like:
+[95765.423132] sysfs: cannot create duplicate filename '/devices/virtual/xt_idletimer/timers/power'
+[95765.433418] CPU: 0 PID: 8446 Comm: iptables Not tainted 4.19.0-rc6+ #20
+[95765.449755] Call Trace:
+[95765.449755]  dump_stack+0xc9/0x16b
+[95765.449755]  ? show_regs_print_info+0x5/0x5
+[95765.449755]  sysfs_warn_dup+0x74/0x90
+[95765.449755]  sysfs_add_file_mode_ns+0x352/0x500
+[95765.449755]  sysfs_create_file_ns+0x179/0x270
+[95765.449755]  ? sysfs_add_file_mode_ns+0x500/0x500
+[95765.449755]  ? idletimer_tg_checkentry+0x3e5/0xb1b [xt_IDLETIMER]
+[95765.449755]  ? rcu_read_lock_sched_held+0x114/0x130
+[95765.449755]  ? __kmalloc_track_caller+0x211/0x2b0
+[95765.449755]  ? memcpy+0x34/0x50
+[95765.449755]  idletimer_tg_checkentry+0x4e2/0xb1b [xt_IDLETIMER]
+[ ... ]
+
+Fixes: 0902b469bd25 ("netfilter: xtables: idletimer target implementation")
+Signed-off-by: Taehee Yoo <ap420073@gmail.com>
+Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ net/netfilter/xt_IDLETIMER.c | 20 ++++++++++++++++++++
+ 1 file changed, 20 insertions(+)
+
+diff --git a/net/netfilter/xt_IDLETIMER.c b/net/netfilter/xt_IDLETIMER.c
+index 1718f536689f..8a1d2af3eed0 100644
+--- a/net/netfilter/xt_IDLETIMER.c
++++ b/net/netfilter/xt_IDLETIMER.c
+@@ -116,6 +116,22 @@ static void idletimer_tg_expired(unsigned long data)
+       schedule_work(&timer->work);
+ }
++static int idletimer_check_sysfs_name(const char *name, unsigned int size)
++{
++      int ret;
++
++      ret = xt_check_proc_name(name, size);
++      if (ret < 0)
++              return ret;
++
++      if (!strcmp(name, "power") ||
++          !strcmp(name, "subsystem") ||
++          !strcmp(name, "uevent"))
++              return -EINVAL;
++
++      return 0;
++}
++
+ static int idletimer_tg_create(struct idletimer_tg_info *info)
+ {
+       int ret;
+@@ -126,6 +142,10 @@ static int idletimer_tg_create(struct idletimer_tg_info *info)
+               goto out;
+       }
++      ret = idletimer_check_sysfs_name(info->label, sizeof(info->label));
++      if (ret < 0)
++              goto out_free_timer;
++
+       sysfs_attr_init(&info->timer->attr.attr);
+       info->timer->attr.attr.name = kstrdup(info->label, GFP_KERNEL);
+       if (!info->timer->attr.attr.name) {
+-- 
+2.17.1
+
diff --git a/queue-4.4/platform-x86-acerhdf-add-bios-entry-for-gateway-lt31.patch b/queue-4.4/platform-x86-acerhdf-add-bios-entry-for-gateway-lt31.patch
new file mode 100644 (file)
index 0000000..931921f
--- /dev/null
@@ -0,0 +1,41 @@
+From 3cfb25d9413930f095819073166c4a7e575d08b5 Mon Sep 17 00:00:00 2001
+From: Paul Gortmaker <paul.gortmaker@windriver.com>
+Date: Thu, 20 Sep 2018 21:44:19 -0400
+Subject: platform/x86: acerhdf: Add BIOS entry for Gateway LT31 v1.3307
+
+[ Upstream commit 684238d79ad85c5e19a71bb5818e77e329912fbc ]
+
+To fix:
+
+  acerhdf: unknown (unsupported) BIOS version Gateway  /LT31   /v1.3307 , please report, aborting!
+
+As can be seen in the context, the BIOS registers haven't changed in
+the previous versions, so the assumption is they won't have changed
+in this last update for this somewhat older platform either.
+
+Cc: Peter Feuerer <peter@piie.net>
+Cc: Darren Hart <dvhart@infradead.org>
+Cc: Andy Shevchenko <andy@infradead.org>
+Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
+Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
+Reviewed-by: Peter Feuerer <peter@piie.net>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ drivers/platform/x86/acerhdf.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/drivers/platform/x86/acerhdf.c b/drivers/platform/x86/acerhdf.c
+index 460fa6708bfc..3c4b107aba78 100644
+--- a/drivers/platform/x86/acerhdf.c
++++ b/drivers/platform/x86/acerhdf.c
+@@ -233,6 +233,7 @@ static const struct bios_settings bios_tbl[] = {
+       {"Gateway", "LT31",   "v1.3201",  0x55, 0x58, {0x9e, 0x00}, 0},
+       {"Gateway", "LT31",   "v1.3302",  0x55, 0x58, {0x9e, 0x00}, 0},
+       {"Gateway", "LT31",   "v1.3303t", 0x55, 0x58, {0x9e, 0x00}, 0},
++      {"Gateway", "LT31",   "v1.3307",  0x55, 0x58, {0x9e, 0x00}, 0},
+       /* Packard Bell */
+       {"Packard Bell", "DOA150",  "v0.3104",  0x55, 0x58, {0x21, 0x00}, 0},
+       {"Packard Bell", "DOA150",  "v0.3105",  0x55, 0x58, {0x20, 0x00}, 0},
+-- 
+2.17.1
+
diff --git a/queue-4.4/reiserfs-propagate-errors-from-fill_with_dentries-pr.patch b/queue-4.4/reiserfs-propagate-errors-from-fill_with_dentries-pr.patch
new file mode 100644 (file)
index 0000000..e96fe28
--- /dev/null
@@ -0,0 +1,76 @@
+From 032b104655c660d06d2eed096a32c912447585ff Mon Sep 17 00:00:00 2001
+From: Jann Horn <jannh@google.com>
+Date: Tue, 30 Oct 2018 15:06:38 -0700
+Subject: reiserfs: propagate errors from fill_with_dentries() properly
+
+[ Upstream commit b10298d56c9623f9b173f19959732d3184b35f4f ]
+
+fill_with_dentries() failed to propagate errors up to
+reiserfs_for_each_xattr() properly.  Plumb them through.
+
+Note that reiserfs_for_each_xattr() is only used by
+reiserfs_delete_xattrs() and reiserfs_chown_xattrs().  The result of
+reiserfs_delete_xattrs() is discarded anyway, the only difference there is
+whether a warning is printed to dmesg.  The result of
+reiserfs_chown_xattrs() does matter because it can block chowning of the
+file to which the xattrs belong; but either way, the resulting state can
+have misaligned ownership, so my patch doesn't improve things greatly.
+
+Credit for making me look at this code goes to Al Viro, who pointed out
+that the ->actor calling convention is suboptimal and should be changed.
+
+Link: http://lkml.kernel.org/r/20180802163335.83312-1-jannh@google.com
+Signed-off-by: Jann Horn <jannh@google.com>
+Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
+Cc: Jeff Mahoney <jeffm@suse.com>
+Cc: Eric Biggers <ebiggers@google.com>
+Cc: Al Viro <viro@zeniv.linux.org.uk>
+Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ fs/reiserfs/xattr.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c
+index 8b32fdaad468..d424b3d4bf3b 100644
+--- a/fs/reiserfs/xattr.c
++++ b/fs/reiserfs/xattr.c
+@@ -184,6 +184,7 @@ struct reiserfs_dentry_buf {
+       struct dir_context ctx;
+       struct dentry *xadir;
+       int count;
++      int err;
+       struct dentry *dentries[8];
+ };
+@@ -206,6 +207,7 @@ fill_with_dentries(struct dir_context *ctx, const char *name, int namelen,
+       dentry = lookup_one_len(name, dbuf->xadir, namelen);
+       if (IS_ERR(dentry)) {
++              dbuf->err = PTR_ERR(dentry);
+               return PTR_ERR(dentry);
+       } else if (d_really_is_negative(dentry)) {
+               /* A directory entry exists, but no file? */
+@@ -214,6 +216,7 @@ fill_with_dentries(struct dir_context *ctx, const char *name, int namelen,
+                              "not found for file %pd.\n",
+                              dentry, dbuf->xadir);
+               dput(dentry);
++              dbuf->err = -EIO;
+               return -EIO;
+       }
+@@ -261,6 +264,10 @@ static int reiserfs_for_each_xattr(struct inode *inode,
+               err = reiserfs_readdir_inode(d_inode(dir), &buf.ctx);
+               if (err)
+                       break;
++              if (buf.err) {
++                      err = buf.err;
++                      break;
++              }
+               if (!buf.count)
+                       break;
+               for (i = 0; !err && i < buf.count && buf.dentries[i]; i++) {
+-- 
+2.17.1
+
diff --git a/queue-4.4/s390-mm-fix-error-__node_distance-undefined.patch b/queue-4.4/s390-mm-fix-error-__node_distance-undefined.patch
new file mode 100644 (file)
index 0000000..ac3793c
--- /dev/null
@@ -0,0 +1,36 @@
+From de727d65177775a60c567b2e3935f6f964f80de9 Mon Sep 17 00:00:00 2001
+From: "Justin M. Forbes" <jforbes@fedoraproject.org>
+Date: Wed, 31 Oct 2018 13:02:03 -0500
+Subject: s390/mm: Fix ERROR: "__node_distance" undefined!
+
+[ Upstream commit a541f0ebcc08ed8bc0cc492eec9a86cb280a9f24 ]
+
+Fixes:
+ERROR: "__node_distance" [drivers/nvme/host/nvme-core.ko] undefined!
+make[1]: *** [scripts/Makefile.modpost:92: __modpost] Error 1
+make: *** [Makefile:1275: modules] Error 2
++ exit 1
+
+Signed-off-by: Justin M. Forbes <jforbes@fedoraproject.org>
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/s390/numa/numa.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/arch/s390/numa/numa.c b/arch/s390/numa/numa.c
+index 43f32ce60aa3..734f56d774bb 100644
+--- a/arch/s390/numa/numa.c
++++ b/arch/s390/numa/numa.c
+@@ -47,6 +47,7 @@ int __node_distance(int a, int b)
+ {
+       return mode->distance ? mode->distance(a, b) : 0;
+ }
++EXPORT_SYMBOL(__node_distance);
+ int numa_debug_enabled;
+-- 
+2.17.1
+
diff --git a/queue-4.4/s390-vdso-add-missing-force-to-build-targets.patch b/queue-4.4/s390-vdso-add-missing-force-to-build-targets.patch
new file mode 100644 (file)
index 0000000..6c3f44b
--- /dev/null
@@ -0,0 +1,80 @@
+From e460228f68683755293727f9baae2ac1dedaca89 Mon Sep 17 00:00:00 2001
+From: Vasily Gorbik <gor@linux.ibm.com>
+Date: Fri, 19 Oct 2018 15:37:01 +0200
+Subject: s390/vdso: add missing FORCE to build targets
+
+[ Upstream commit b44b136a3773d8a9c7853f8df716bd1483613cbb ]
+
+According to Documentation/kbuild/makefiles.txt all build targets using
+if_changed should use FORCE as well. Add missing FORCE to make sure
+vdso targets are rebuild properly when not just immediate prerequisites
+have changed but also when build command differs.
+
+Reviewed-by: Philipp Rudo <prudo@linux.ibm.com>
+Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
+Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/s390/kernel/vdso32/Makefile | 6 +++---
+ arch/s390/kernel/vdso64/Makefile | 6 +++---
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/arch/s390/kernel/vdso32/Makefile b/arch/s390/kernel/vdso32/Makefile
+index ee8a18e50a25..29b72c46284d 100644
+--- a/arch/s390/kernel/vdso32/Makefile
++++ b/arch/s390/kernel/vdso32/Makefile
+@@ -29,7 +29,7 @@ GCOV_PROFILE := n
+ $(obj)/vdso32_wrapper.o : $(obj)/vdso32.so
+ # link rule for the .so file, .lds has to be first
+-$(obj)/vdso32.so.dbg: $(src)/vdso32.lds $(obj-vdso32)
++$(obj)/vdso32.so.dbg: $(src)/vdso32.lds $(obj-vdso32) FORCE
+       $(call if_changed,vdso32ld)
+ # strip rule for the .so file
+@@ -38,12 +38,12 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
+       $(call if_changed,objcopy)
+ # assembly rules for the .S files
+-$(obj-vdso32): %.o: %.S
++$(obj-vdso32): %.o: %.S FORCE
+       $(call if_changed_dep,vdso32as)
+ # actual build commands
+ quiet_cmd_vdso32ld = VDSO32L $@
+-      cmd_vdso32ld = $(CC) $(c_flags) -Wl,-T $^ -o $@
++      cmd_vdso32ld = $(CC) $(c_flags) -Wl,-T $(filter %.lds %.o,$^) -o $@
+ quiet_cmd_vdso32as = VDSO32A $@
+       cmd_vdso32as = $(CC) $(a_flags) -c -o $@ $<
+diff --git a/arch/s390/kernel/vdso64/Makefile b/arch/s390/kernel/vdso64/Makefile
+index c4b03f9ed228..1b083d80de50 100644
+--- a/arch/s390/kernel/vdso64/Makefile
++++ b/arch/s390/kernel/vdso64/Makefile
+@@ -29,7 +29,7 @@ GCOV_PROFILE := n
+ $(obj)/vdso64_wrapper.o : $(obj)/vdso64.so
+ # link rule for the .so file, .lds has to be first
+-$(obj)/vdso64.so.dbg: $(src)/vdso64.lds $(obj-vdso64)
++$(obj)/vdso64.so.dbg: $(src)/vdso64.lds $(obj-vdso64) FORCE
+       $(call if_changed,vdso64ld)
+ # strip rule for the .so file
+@@ -38,12 +38,12 @@ $(obj)/%.so: $(obj)/%.so.dbg FORCE
+       $(call if_changed,objcopy)
+ # assembly rules for the .S files
+-$(obj-vdso64): %.o: %.S
++$(obj-vdso64): %.o: %.S FORCE
+       $(call if_changed_dep,vdso64as)
+ # actual build commands
+ quiet_cmd_vdso64ld = VDSO64L $@
+-      cmd_vdso64ld = $(CC) $(c_flags) -Wl,-T $^ -o $@
++      cmd_vdso64ld = $(CC) $(c_flags) -Wl,-T $(filter %.lds %.o,$^) -o $@
+ quiet_cmd_vdso64as = VDSO64A $@
+       cmd_vdso64as = $(CC) $(a_flags) -c -o $@ $<
+-- 
+2.17.1
+
index 2a70e7170ed6a2bd1610e450a12cd7f2bb45de35..33bb04aa155609f71325cf498bc8c9349dfbf8f3 100644 (file)
@@ -35,3 +35,19 @@ x86-build-specify-stack-alignment-for-clang.patch
 x86-boot-undef-memcpy-et-al-in-string.c.patch
 x86-build-fix-stack-alignment-for-clang.patch
 x86-build-use-cc-option-to-validate-stack-alignment-parameter.patch
+reiserfs-propagate-errors-from-fill_with_dentries-pr.patch
+hfs-prevent-btree-data-loss-on-root-split.patch
+hfsplus-prevent-btree-data-loss-on-root-split.patch
+um-give-start_idle_thread-a-return-code.patch
+fs-exofs-fix-potential-memory-leak-in-mount-option-p.patch
+clk-samsung-exynos5420-enable-peris-clocks-for-suspe.patch
+platform-x86-acerhdf-add-bios-entry-for-gateway-lt31.patch
+arm64-percpu-initialize-ret-in-the-default-case.patch
+s390-vdso-add-missing-force-to-build-targets.patch
+netfilter-ipset-actually-allow-allowable-cidr-0-in-h.patch
+s390-mm-fix-error-__node_distance-undefined.patch
+netfilter-ipset-correct-rcu_dereference-call-in-ip_s.patch
+netfilter-xt_idletimer-add-sysfs-filename-checking-r.patch
+hwmon-ibmpowernv-remove-bogus-__init-annotations.patch
+lib-raid6-fix-arm64-test-build.patch
+i2c-omap-enable-for-arch_k3.patch
diff --git a/queue-4.4/um-give-start_idle_thread-a-return-code.patch b/queue-4.4/um-give-start_idle_thread-a-return-code.patch
new file mode 100644 (file)
index 0000000..36ccd68
--- /dev/null
@@ -0,0 +1,40 @@
+From 6a29d250af766db1e5163b1afba98170ec5b4314 Mon Sep 17 00:00:00 2001
+From: Richard Weinberger <richard@nod.at>
+Date: Fri, 15 Jun 2018 16:42:56 +0200
+Subject: um: Give start_idle_thread() a return code
+
+[ Upstream commit 7ff1e34bbdc15acab823b1ee4240e94623d50ee8 ]
+
+Fixes:
+arch/um/os-Linux/skas/process.c:613:1: warning: control reaches end of
+non-void function [-Wreturn-type]
+
+longjmp() never returns but gcc still warns that the end of the function
+can be reached.
+Add a return code and debug aid to detect this impossible case.
+
+Signed-off-by: Richard Weinberger <richard@nod.at>
+Signed-off-by: Sasha Levin <sashal@kernel.org>
+---
+ arch/um/os-Linux/skas/process.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c
+index b856c66ebd3a..6dbf27ffafc8 100644
+--- a/arch/um/os-Linux/skas/process.c
++++ b/arch/um/os-Linux/skas/process.c
+@@ -585,6 +585,11 @@ int start_idle_thread(void *stack, jmp_buf *switch_buf)
+               fatal_sigsegv();
+       }
+       longjmp(*switch_buf, 1);
++
++      /* unreachable */
++      printk(UM_KERN_ERR "impossible long jump!");
++      fatal_sigsegv();
++      return 0;
+ }
+ void initial_thread_cb_skas(void (*proc)(void *), void *arg)
+-- 
+2.17.1
+