netdev
[Top] [All Lists]

Re: patch2: del/get byid

To: jamal <hadi@xxxxxxxxxx>
Subject: Re: patch2: del/get byid
From: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Sat, 30 Apr 2005 10:12:48 +1000
Cc: Alexey Kuznetsov <kuznet@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxx, "David S. Miller" <davem@xxxxxxxxxxxxx>
In-reply-to: <1114819281.8929.9.camel@xxxxxxxxxxxxxxxxxxxxx>
References: <20050428024253.GA23695@xxxxxxxxxxxxxxxxxxx> <1114656932.7663.88.camel@xxxxxxxxxxxxxxxxxxxxx> <20050428030325.GB23823@xxxxxxxxxxxxxxxxxxx> <1114658657.7663.110.camel@xxxxxxxxxxxxxxxxxxxxx> <1114698033.7663.197.camel@xxxxxxxxxxxxxxxxxxxxx> <20050428231154.GA14215@xxxxxxxxxxxxxxxxxxx> <1114779104.7800.22.camel@xxxxxxxxxxxxxxxxxxxxx> <1114816846.8929.6.camel@xxxxxxxxxxxxxxxxxxxxx> <20050429234952.GB22699@xxxxxxxxxxxxxxxxxxx> <1114819281.8929.9.camel@xxxxxxxxxxxxxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
User-agent: Mutt/1.5.6+20040907i
On Fri, Apr 29, 2005 at 08:01:21PM -0400, jamal wrote:
> On Sat, 2005-30-04 at 09:49 +1000, Herbert Xu wrote:
> > On Fri, Apr 29, 2005 at 07:20:46PM -0400, jamal wrote:
> > 
> > >   write_unlock_bh(&xfrm_policy_lock);
> > >  
> > > - if (delpol) {
> > > -         xfrm_policy_kill(delpol);
> > > + if (delp) {
> > > +         xfrm_policy_kill(delp);
> > >   }
> > 
> > This is racy.  The policy could be killed by the timer in the middle.
> 
> the policy_kill is?

1) You find delpol using xfrm_policy_byid/xfrm_policy_bysel.
2) The timer kicks in and unlinks delpol from the list.
3) You take the list lock and continue to use delpol as if it was
   still on the list.
4) You call xfrm_policy_kill on delpol again even though it's already
   dead.
 
> > This is also getting pretty hairy for something that nobody has needed so
> > far.  Which user-space application is going to use this index thing?
> 
> did you see the attachment i put with ip x tests?

Well I meant a usage other than a test suite :)
-- 
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>