xfrm_state.c (17c2a42a24e1e8dd6aa7cea4f84e034ab1bfff31) xfrm_state.c (13996378e6585fb25e582afe7489bf52dde78deb)
1/*
2 * xfrm_state.c
3 *
4 * Changes:
5 * Mitsuru KANDA @USAGI
6 * Kazunori MIYAZAWA @USAGI
7 * Kunihiro Ishiguro <kunihiro@ipinfusion.com>
8 * IPv6 support

--- 363 unchanged lines hidden (view full) ---

372{
373 del_timer_sync(&x->timer);
374 del_timer_sync(&x->rtimer);
375 kfree(x->aalg);
376 kfree(x->ealg);
377 kfree(x->calg);
378 kfree(x->encap);
379 kfree(x->coaddr);
1/*
2 * xfrm_state.c
3 *
4 * Changes:
5 * Mitsuru KANDA @USAGI
6 * Kazunori MIYAZAWA @USAGI
7 * Kunihiro Ishiguro <kunihiro@ipinfusion.com>
8 * IPv6 support

--- 363 unchanged lines hidden (view full) ---

372{
373 del_timer_sync(&x->timer);
374 del_timer_sync(&x->rtimer);
375 kfree(x->aalg);
376 kfree(x->ealg);
377 kfree(x->calg);
378 kfree(x->encap);
379 kfree(x->coaddr);
380 if (x->mode)
381 xfrm_put_mode(x->mode);
380 if (x->inner_mode)
381 xfrm_put_mode(x->inner_mode);
382 if (x->outer_mode)
383 xfrm_put_mode(x->outer_mode);
382 if (x->type) {
383 x->type->destructor(x);
384 xfrm_put_type(x->type);
385 }
386 security_xfrm_state_free(x);
387 kfree(x);
388}
389

--- 1552 unchanged lines hidden (view full) ---

1942 err = afinfo->init_flags(x);
1943
1944 xfrm_state_put_afinfo(afinfo);
1945
1946 if (err)
1947 goto error;
1948
1949 err = -EPROTONOSUPPORT;
384 if (x->type) {
385 x->type->destructor(x);
386 xfrm_put_type(x->type);
387 }
388 security_xfrm_state_free(x);
389 kfree(x);
390}
391

--- 1552 unchanged lines hidden (view full) ---

1944 err = afinfo->init_flags(x);
1945
1946 xfrm_state_put_afinfo(afinfo);
1947
1948 if (err)
1949 goto error;
1950
1951 err = -EPROTONOSUPPORT;
1952 x->inner_mode = xfrm_get_mode(x->props.mode, x->sel.family);
1953 if (x->inner_mode == NULL)
1954 goto error;
1955
1956 if (!(x->inner_mode->flags & XFRM_MODE_FLAG_TUNNEL) &&
1957 family != x->sel.family)
1958 goto error;
1959
1950 x->type = xfrm_get_type(x->id.proto, family);
1951 if (x->type == NULL)
1952 goto error;
1953
1954 err = x->type->init_state(x);
1955 if (err)
1956 goto error;
1957
1960 x->type = xfrm_get_type(x->id.proto, family);
1961 if (x->type == NULL)
1962 goto error;
1963
1964 err = x->type->init_state(x);
1965 if (err)
1966 goto error;
1967
1958 x->mode = xfrm_get_mode(x->props.mode, family);
1959 if (x->mode == NULL)
1968 x->outer_mode = xfrm_get_mode(x->props.mode, family);
1969 if (x->outer_mode == NULL)
1960 goto error;
1961
1962 x->km.state = XFRM_STATE_VALID;
1963
1964error:
1965 return err;
1966}
1967

--- 87 unchanged lines hidden ---
1970 goto error;
1971
1972 x->km.state = XFRM_STATE_VALID;
1973
1974error:
1975 return err;
1976}
1977

--- 87 unchanged lines hidden ---