mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-26 05:34:13 +08:00
xfrm: fix xfrm_do_migrate() with AEAD e.g(AES-GCM)
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>
This commit is contained in:
parent
ddc47e4404
commit
75bf50f4aa
@ -1344,6 +1344,7 @@ static struct xfrm_state *xfrm_state_clone(struct xfrm_state *orig,
|
|||||||
|
|
||||||
if (orig->aead) {
|
if (orig->aead) {
|
||||||
x->aead = xfrm_algo_aead_clone(orig->aead);
|
x->aead = xfrm_algo_aead_clone(orig->aead);
|
||||||
|
x->geniv = orig->geniv;
|
||||||
if (!x->aead)
|
if (!x->aead)
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user