scsi-aacraid-correct-hba_send-to-include-iu_type.patch
xfrm-use-__skb_queue_tail-in-xfrm_trans_queue.patch
btrfs-take-trans-lock-before-access-running-trans-in-check_delayed_ref.patch
+xfrm-fix-xfrm_do_migrate-with-aead-e.g-aes-gcm.patch
--- /dev/null
+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
+@@ -1345,6 +1345,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;
+ }