]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
4.4-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 May 2018 10:30:25 +0000 (12:30 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 May 2018 10:30:25 +0000 (12:30 +0200)
added patches:
lockd-lost-rollback-of-set_grace_period-in-lockd_down_net.patch
revert-arm-dts-imx6qdl-wandboard-fix-audio-channel-swap.patch
xfrm-fix-xfrm_do_migrate-with-aead-e.g-aes-gcm.patch

queue-4.4/lockd-lost-rollback-of-set_grace_period-in-lockd_down_net.patch [new file with mode: 0644]
queue-4.4/revert-arm-dts-imx6qdl-wandboard-fix-audio-channel-swap.patch [new file with mode: 0644]
queue-4.4/series
queue-4.4/xfrm-fix-xfrm_do_migrate-with-aead-e.g-aes-gcm.patch [new file with mode: 0644]

diff --git a/queue-4.4/lockd-lost-rollback-of-set_grace_period-in-lockd_down_net.patch b/queue-4.4/lockd-lost-rollback-of-set_grace_period-in-lockd_down_net.patch
new file mode 100644 (file)
index 0000000..612100a
--- /dev/null
@@ -0,0 +1,42 @@
+From 3a2b19d1ee5633f76ae8a88da7bc039a5d1732aa Mon Sep 17 00:00:00 2001
+From: Vasily Averin <vvs@virtuozzo.com>
+Date: Thu, 2 Nov 2017 13:03:42 +0300
+Subject: lockd: lost rollback of set_grace_period() in lockd_down_net()
+
+From: Vasily Averin <vvs@virtuozzo.com>
+
+commit 3a2b19d1ee5633f76ae8a88da7bc039a5d1732aa upstream.
+
+Commit efda760fe95ea ("lockd: fix lockd shutdown race") is incorrect,
+it removes lockd_manager and disarm grace_period_end for init_net only.
+
+If nfsd was started from another net namespace lockd_up_net() calls
+set_grace_period() that adds lockd_manager into per-netns list
+and queues grace_period_end delayed work.
+
+These action should be reverted in lockd_down_net().
+Otherwise it can lead to double list_add on after restart nfsd in netns,
+and to use-after-free if non-disarmed delayed work will be executed after netns destroy.
+
+Fixes: efda760fe95e ("lockd: fix lockd shutdown race")
+Cc: stable@vger.kernel.org
+Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
+Signed-off-by: J. Bruce Fields <bfields@redhat.com>
+Cc: Ben Hutchings <ben.hutchings@codethink.co.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ fs/lockd/svc.c |    2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/fs/lockd/svc.c
++++ b/fs/lockd/svc.c
+@@ -271,6 +271,8 @@ static void lockd_down_net(struct svc_se
+       if (ln->nlmsvc_users) {
+               if (--ln->nlmsvc_users == 0) {
+                       nlm_shutdown_hosts_net(net);
++                      cancel_delayed_work_sync(&ln->grace_period_end);
++                      locks_end_grace(&ln->lockd_manager);
+                       svc_shutdown_net(serv, net);
+                       dprintk("lockd_down_net: per-net data destroyed; net=%p\n", net);
+               }
diff --git a/queue-4.4/revert-arm-dts-imx6qdl-wandboard-fix-audio-channel-swap.patch b/queue-4.4/revert-arm-dts-imx6qdl-wandboard-fix-audio-channel-swap.patch
new file mode 100644 (file)
index 0000000..59fcd45
--- /dev/null
@@ -0,0 +1,41 @@
+From 3e61daff05c5392eb6c40f5648b3d5a2a3931d7f Mon Sep 17 00:00:00 2001
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Date: Thu, 17 May 2018 11:44:48 +0200
+Subject: Revert "ARM: dts: imx6qdl-wandboard: Fix audio channel swap"
+
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+This reverts commit 9de3a3bfed892608dc30a6bc3fd8bdbeae5b51a5 which was
+commit 79935915300c5eb88a0e94fa9148a7505c14a02a upstream.
+
+As Ben points out:
+       This depends on:
+
+       commit 570c70a60f53ca737ead4e5966c446bf0d39fac9
+       Author: Fabio Estevam <fabio.estevam@nxp.com>
+       Date:   Wed Apr 5 11:32:34 2017 -0300
+
+           ASoC: sgtl5000: Allow LRCLK pad drive strength to be changed
+
+which did not show up until 4.13, so this makes no sense to have in this
+stable branch.
+
+Reported-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
+Cc: Fabio Estevam <fabio.estevam@nxp.com>
+Cc: Shawn Guo <shawnguo@kernel.org>
+Cc: Sasha Levin <alexander.levin@microsoft.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ arch/arm/boot/dts/imx6qdl-wandboard.dtsi |    1 -
+ 1 file changed, 1 deletion(-)
+
+--- a/arch/arm/boot/dts/imx6qdl-wandboard.dtsi
++++ b/arch/arm/boot/dts/imx6qdl-wandboard.dtsi
+@@ -88,7 +88,6 @@
+               clocks = <&clks 201>;
+               VDDA-supply = <&reg_2p5v>;
+               VDDIO-supply = <&reg_3p3v>;
+-              lrclk-strength = <3>;
+       };
+ };
index 1ba29d05b8bc352aa0967f01492160711d55a7f6..98d3198a5779d2d69362c373440caf34a7e7d71a 100644 (file)
@@ -24,3 +24,6 @@ arm64-introduce-mov_q-macro-to-move-a-constant-into-a-64-bit-register.patch
 arm64-add-work-around-for-arm-cortex-a55-erratum-1024718.patch
 futex-remove-unnecessary-warning-from-get_futex_key.patch
 futex-remove-duplicated-code-and-fix-undefined-behaviour.patch
+xfrm-fix-xfrm_do_migrate-with-aead-e.g-aes-gcm.patch
+lockd-lost-rollback-of-set_grace_period-in-lockd_down_net.patch
+revert-arm-dts-imx6qdl-wandboard-fix-audio-channel-swap.patch
diff --git a/queue-4.4/xfrm-fix-xfrm_do_migrate-with-aead-e.g-aes-gcm.patch b/queue-4.4/xfrm-fix-xfrm_do_migrate-with-aead-e.g-aes-gcm.patch
new file mode 100644 (file)
index 0000000..83d2dc1
--- /dev/null
@@ -0,0 +1,42 @@
+From 75bf50f4aaa1c78d769d854ab3d975884909e4fb Mon Sep 17 00:00:00 2001
+From: Antony Antony <antony@phenome.org>
+Date: Thu, 7 Dec 2017 21:54:27 +0100
+Subject: xfrm: fix xfrm_do_migrate() with AEAD e.g(AES-GCM)
+
+From: Antony Antony <antony@phenome.org>
+
+commit 75bf50f4aaa1c78d769d854ab3d975884909e4fb upstream.
+
+copy geniv when cloning the xfrm state.
+
+x->geniv was not copied to the new state and migration would fail.
+
+xfrm_do_migrate
+  ..
+  xfrm_state_clone()
+   ..
+   ..
+   esp_init_aead()
+   crypto_alloc_aead()
+    crypto_alloc_tfm()
+     crypto_find_alg() return EAGAIN and failed
+
+Signed-off-by: Antony Antony <antony@phenome.org>
+Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
+Cc: Ben Hutchings <ben.hutchings@codethink.co.uk>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ net/xfrm/xfrm_state.c |    1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/net/xfrm/xfrm_state.c
++++ b/net/xfrm/xfrm_state.c
+@@ -1159,6 +1159,7 @@ static struct xfrm_state *xfrm_state_clo
+       if (orig->aead) {
+               x->aead = xfrm_algo_aead_clone(orig->aead);
++              x->geniv = orig->geniv;
+               if (!x->aead)
+                       goto error;
+       }