[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080902.231420.255718595.davem@davemloft.net>
Date: Tue, 02 Sep 2008 23:14:20 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: herbert@...dor.apana.org.au
Cc: timo.teras@....fi, netdev@...r.kernel.org
Subject: Re: xfrm_state locking regression...
From: Herbert Xu <herbert@...dor.apana.org.au>
Date: Wed, 3 Sep 2008 15:50:41 +1000
> On Wed, Sep 03, 2008 at 08:45:01AM +0300, Timo Teräs wrote:
> >
> > > ipsec: Move state dump list unlinking into GC
> > >
> > > This patch moves the unlinking of x->all (for dumping) into the
> > > GC and changes the lock to xfrm_cfg_mutex.
> >
> > Shouldn't this also change the locking in all places where
> > x->all is used?
>
> You're right. I'd forgotten about the larval states for some
> reason, probably because I just added them to the list :)
>
> So let's keep xfrm_state_lock and just move it.
How about we un-crap the reference counting?
Every list an object lives on is an external reference, and that is
the rule that is violated by this ->all list handling.
And that's why we need to take a single shared lock twice just to get
rid of an xfrm_state object now.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists