Message ID | 20171207205427.53236-1-antony@phenome.org |
---|---|
State | Awaiting Upstream, archived |
Delegated to: | David Miller |
Headers | show |
Series | xfrm: fix xfrm_do_migrate() with AEAD e.g(AES-GCM) | expand |
On Thu, Dec 07, 2017 at 09:54:27PM +0100, Antony Antony wrote: > 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> Patch applied, thanks Antony!
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c index 065d89606888..500b3391f474 100644 --- a/net/xfrm/xfrm_state.c +++ b/net/xfrm/xfrm_state.c @@ -1343,6 +1343,7 @@ static struct xfrm_state *xfrm_state_clone(struct xfrm_state *orig, if (orig->aead) { x->aead = xfrm_algo_aead_clone(orig->aead); + x->geniv = orig->geniv; if (!x->aead) goto error; }
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> --- net/xfrm/xfrm_state.c | 1 + 1 file changed, 1 insertion(+)