projects
/
linux-block.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
ddc47e4
)
xfrm: fix xfrm_do_migrate() with AEAD e.g(AES-GCM)
author
Antony Antony
<antony@phenome.org>
Thu, 7 Dec 2017 20:54:27 +0000
(21:54 +0100)
committer
Steffen Klassert
<steffen.klassert@secunet.com>
Fri, 8 Dec 2017 06:39:30 +0000
(07:39 +0100)
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>
net/xfrm/xfrm_state.c
patch
|
blob
|
blame
|
history
diff --git
a/net/xfrm/xfrm_state.c
b/net/xfrm/xfrm_state.c
index 1f5cee2269af4296bd41745adec063a4a04faa9f..88d0a563e1413a12339eba6703c40eac3f119ac3 100644
(file)
--- a/
net/xfrm/xfrm_state.c
+++ b/
net/xfrm/xfrm_state.c
@@
-1344,6
+1344,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;
}