From: Greg Kroah-Hartman Date: Sun, 5 Aug 2018 14:40:03 +0000 (+0200) Subject: move some netlink patches to pending X-Git-Tag: v4.17.13~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bc11628bfe7c176ee8c39542b7db4fcaf1ffe2d2;p=thirdparty%2Fkernel%2Fstable-queue.git move some netlink patches to pending --- diff --git a/pending/4.4/netlink-don-t-shift-with-ub-on-nlk-ngroups.patch b/pending/4.4/netlink-don-t-shift-with-ub-on-nlk-ngroups.patch new file mode 100644 index 00000000000..b0326b0d5d0 --- /dev/null +++ b/pending/4.4/netlink-don-t-shift-with-ub-on-nlk-ngroups.patch @@ -0,0 +1,37 @@ +From foo@baz Fri Aug 3 21:25:07 CEST 2018 +From: Dmitry Safonov +Date: Mon, 30 Jul 2018 18:32:36 +0100 +Subject: netlink: Don't shift with UB on nlk->ngroups + +From: Dmitry Safonov + +[ Upstream commit 61f4b23769f0cc72ae62c9a81cf08f0397d40da8 ] + +On i386 nlk->ngroups might be 32 or 0. Which leads to UB, resulting in +hang during boot. +Check for 0 ngroups and use (unsigned long long) as a type to shift. + +Fixes: 7acf9d4237c4 ("netlink: Do not subscribe to non-existent groups"). +Reported-by: kernel test robot +Signed-off-by: Dmitry Safonov +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + net/netlink/af_netlink.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- a/net/netlink/af_netlink.c ++++ b/net/netlink/af_netlink.c +@@ -983,7 +983,11 @@ static int netlink_bind(struct socket *s + if (err) + return err; + } +- groups &= (1UL << nlk->ngroups) - 1; ++ ++ if (nlk->ngroups == 0) ++ groups = 0; ++ else ++ groups &= (1ULL << nlk->ngroups) - 1; + + bound = nlk->bound; + if (bound) { diff --git a/pending/4.9/netlink-don-t-shift-with-ub-on-nlk-ngroups.patch b/pending/4.9/netlink-don-t-shift-with-ub-on-nlk-ngroups.patch new file mode 100644 index 00000000000..beb9c3062fb --- /dev/null +++ b/pending/4.9/netlink-don-t-shift-with-ub-on-nlk-ngroups.patch @@ -0,0 +1,37 @@ +From foo@baz Fri Aug 3 21:22:28 CEST 2018 +From: Dmitry Safonov +Date: Mon, 30 Jul 2018 18:32:36 +0100 +Subject: netlink: Don't shift with UB on nlk->ngroups + +From: Dmitry Safonov + +[ Upstream commit 61f4b23769f0cc72ae62c9a81cf08f0397d40da8 ] + +On i386 nlk->ngroups might be 32 or 0. Which leads to UB, resulting in +hang during boot. +Check for 0 ngroups and use (unsigned long long) as a type to shift. + +Fixes: 7acf9d4237c4 ("netlink: Do not subscribe to non-existent groups"). +Reported-by: kernel test robot +Signed-off-by: Dmitry Safonov +Signed-off-by: David S. Miller +Signed-off-by: Greg Kroah-Hartman +--- + net/netlink/af_netlink.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +--- a/net/netlink/af_netlink.c ++++ b/net/netlink/af_netlink.c +@@ -983,7 +983,11 @@ static int netlink_bind(struct socket *s + if (err) + return err; + } +- groups &= (1UL << nlk->ngroups) - 1; ++ ++ if (nlk->ngroups == 0) ++ groups = 0; ++ else ++ groups &= (1ULL << nlk->ngroups) - 1; + + bound = nlk->bound; + if (bound) {