netdev
[Top] [All Lists]

Re: [3/4] [IPSEC] Add route element to xfrm_dst

To: Mika Penttil? <mika.penttila@xxxxxxxxxxx>
Subject: Re: [3/4] [IPSEC] Add route element to xfrm_dst
From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Tue, 15 Feb 2005 20:53:46 +1100
Cc: netdev@xxxxxxxxxxx
In-reply-to: <4211AE5E.2010506@kolumbus.fi>
References: <20050214221006.GA18415@gondor.apana.org.au> <20050214221200.GA18465@gondor.apana.org.au> <20050214221433.GB18465@gondor.apana.org.au> <4211AE5E.2010506@kolumbus.fi>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.6+20040722i
On Tue, Feb 15, 2005 at 10:10:06AM +0200, Mika Penttil? wrote:
> 
> Shouldn't this pinning happen inside the loop for eaxh xdst, to be 
> balanced with  the dst_release(xdst->route) in xfrm_dst_destroy ?
> 
> >+    dst_hold(&rt->u.dst);
> >
> >     for (i = 0; i < nx; i++) {
> >             struct dst_entry *dst1 = dst_alloc(&xfrm4_dst_ops);
> >+            struct xfrm_dst *xdst;
> >
> >             if (unlikely(dst1 == NULL)) {
> >                     err = -ENOBUFS;

There is a dst_release here.

The reference is either released here if the allocation fails, or it
is held by dst1 which is either returned or freed as part of the bundle.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

<Prev in Thread] Current Thread [Next in Thread>