mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-31 04:01:48 -04:00
xfrm_user: don't copy esn replay window twice for new states
The ESN replay window was already fully initialized in xfrm_alloc_replay_state_esn(). No need to copy it again. Cc: Steffen Klassert <[email protected]> Signed-off-by: Mathias Krause <[email protected]> Acked-by: Steffen Klassert <[email protected]> Signed-off-by: David S. Miller <[email protected]>
This commit is contained in:
parent
ecd7918745
commit
e3ac104d41
1 changed files with 5 additions and 4 deletions
|
|
@ -461,10 +461,11 @@ static void copy_from_user_state(struct xfrm_state *x, struct xfrm_usersa_info *
|
|||
* somehow made shareable and move it to xfrm_state.c - JHS
|
||||
*
|
||||
*/
|
||||
static void xfrm_update_ae_params(struct xfrm_state *x, struct nlattr **attrs)
|
||||
static void xfrm_update_ae_params(struct xfrm_state *x, struct nlattr **attrs,
|
||||
int update_esn)
|
||||
{
|
||||
struct nlattr *rp = attrs[XFRMA_REPLAY_VAL];
|
||||
struct nlattr *re = attrs[XFRMA_REPLAY_ESN_VAL];
|
||||
struct nlattr *re = update_esn ? attrs[XFRMA_REPLAY_ESN_VAL] : NULL;
|
||||
struct nlattr *lt = attrs[XFRMA_LTIME_VAL];
|
||||
struct nlattr *et = attrs[XFRMA_ETIMER_THRESH];
|
||||
struct nlattr *rt = attrs[XFRMA_REPLAY_THRESH];
|
||||
|
|
@ -574,7 +575,7 @@ static struct xfrm_state *xfrm_state_construct(struct net *net,
|
|||
goto error;
|
||||
|
||||
/* override default values from above */
|
||||
xfrm_update_ae_params(x, attrs);
|
||||
xfrm_update_ae_params(x, attrs, 0);
|
||||
|
||||
return x;
|
||||
|
||||
|
|
@ -1848,7 +1849,7 @@ static int xfrm_new_ae(struct sk_buff *skb, struct nlmsghdr *nlh,
|
|||
goto out;
|
||||
|
||||
spin_lock_bh(&x->lock);
|
||||
xfrm_update_ae_params(x, attrs);
|
||||
xfrm_update_ae_params(x, attrs, 1);
|
||||
spin_unlock_bh(&x->lock);
|
||||
|
||||
c.event = nlh->nlmsg_type;
|
||||
|
|
|
|||
Loading…
Reference in a new issue