From: Thiruvadi rajaraman <trajara...@mvista.com>

Updated the xfrm state update process to update the
Authendication and Encryption keys.

Signed-off-by: Thiruvadi rajaraman <trajara...@mvista.com>
---
 net/xfrm/xfrm_state.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
index 419bf5d..6b15447 100644
--- a/net/xfrm/xfrm_state.c
+++ b/net/xfrm/xfrm_state.c
@@ -1388,6 +1388,12 @@ int xfrm_state_update(struct xfrm_state *x)
                memcpy(&x1->lft, &x->lft, sizeof(x1->lft));
                x1->km.dying = 0;
 
+               /* To update Authendication and Encryption keys */
+               x1->aalg = kmemdup(x->aalg, xfrm_alg_auth_len(x->aalg),
+                                                               GFP_KERNEL);
+               x1->ealg = kmemdup(x->ealg, xfrm_alg_len(x->ealg),
+                                                               GFP_KERNEL);
+
                tasklet_hrtimer_start(&x1->mtimer, ktime_set(1, 0), 
HRTIMER_MODE_REL);
                if (x1->curlft.use_time)
                        xfrm_state_check_expire(x1);
-- 
1.9.1

Reply via email to