[IPSEC]: Merge common code into xfrm_bundle_create
authorHerbert Xu <herbert@gondor.apana.org.au>
Tue, 11 Dec 2007 17:32:34 +0000 (09:32 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 22:53:43 +0000 (14:53 -0800)
commit25ee3286dcbc830a833354bb1d15567956844813
treebb5597d9e148f363bf0bbcd1a7269b5f677f0103
parent66cdb3ca27323a92712d289fc5edc7841d74a139
[IPSEC]: Merge common code into xfrm_bundle_create

Half of the code in xfrm4_bundle_create and xfrm6_bundle_create are
common.  This patch extracts that logic and puts it into
xfrm_bundle_create.  The rest of it are then accessed through afinfo.

As a result this fixes the problem with inter-family transforms where
we treat every xfrm dst in the bundle as if it belongs to the top
family.

This patch also fixes a long-standing error-path bug where we may free
the xfrm states twice.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/xfrm.h
net/ipv4/xfrm4_policy.c
net/ipv6/xfrm6_policy.c
net/xfrm/xfrm_policy.c