diff options
Diffstat (limited to 'net/xfrm/xfrm_user.c')
-rw-r--r-- | net/xfrm/xfrm_user.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index 5ce8558eac91..ecade4893a13 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c | |||
@@ -249,17 +249,10 @@ static struct xfrm_state *xfrm_state_construct(struct xfrm_usersa_info *p, | |||
249 | if ((err = attach_encap_tmpl(&x->encap, xfrma[XFRMA_ENCAP-1]))) | 249 | if ((err = attach_encap_tmpl(&x->encap, xfrma[XFRMA_ENCAP-1]))) |
250 | goto error; | 250 | goto error; |
251 | 251 | ||
252 | err = -ENOENT; | 252 | err = xfrm_init_state(x); |
253 | x->type = xfrm_get_type(x->id.proto, x->props.family); | ||
254 | if (x->type == NULL) | ||
255 | goto error; | ||
256 | |||
257 | err = x->type->init_state(x, NULL); | ||
258 | if (err) | 253 | if (err) |
259 | goto error; | 254 | goto error; |
260 | 255 | ||
261 | x->curlft.add_time = (unsigned long) xtime.tv_sec; | ||
262 | x->km.state = XFRM_STATE_VALID; | ||
263 | x->km.seq = p->seq; | 256 | x->km.seq = p->seq; |
264 | 257 | ||
265 | return x; | 258 | return x; |