| To: | Christoph Lameter <christoph@xxxxxxxxxxx> |
|---|---|
| Subject: | Re: atomic_dec_and_test for child dst needed in dst_destroy? |
| From: | Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> |
| Date: | Fri, 8 Apr 2005 15:48:31 +1000 |
| Cc: | "David S. Miller" <davem@xxxxxxxxxxxxx>, netdev@xxxxxxxxxxx, pravins@xxxxxxxxxxxxxx, shai@xxxxxxxxxxxxx |
| In-reply-to: | <Pine.LNX.4.58.0504072221190.11242@graphe.net> |
| References: | <Pine.LNX.4.58.0504051925250.21486@graphe.net> <E1DJ5y2-0003rF-00@gondolin.me.apana.org.au> <20050406111721.3ac67605.davem@davemloft.net> <20050407110724.GA8760@gondor.apana.org.au> <Pine.LNX.4.58.0504070842420.29731@graphe.net> <20050407212504.GA4939@gondor.apana.org.au> <Pine.LNX.4.58.0504072221190.11242@graphe.net> |
| Sender: | netdev-bounce@xxxxxxxxxxx |
| User-agent: | Mutt/1.5.6+20040907i |
On Thu, Apr 07, 2005 at 10:45:02PM -0700, Christoph Lameter wrote: > > + atomic_dec(&dst->__refcnt); > + smp_mb__after_atomic_dec(); > + if (!atomic_read(&dst->__refcnt)) > + /* > + * There are no other references and therefore > + * the dst can be freed now > + */ > goto again; This is wrong. The barrier needs to be after the atomic_read. Please see my patch to Dave. 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 |
| Previous by Date: | Re: atomic_dec_and_test for child dst needed in dst_destroy?, Christoph Lameter |
|---|---|
| Next by Date: | [patch 1/1] drivers/net/: Use the DMA_{64,32}BIT_MASK constants, domen |
| Previous by Thread: | Re: atomic_dec_and_test for child dst needed in dst_destroy?, Christoph Lameter |
| Next by Thread: | Re: atomic_dec_and_test for child dst needed in dst_destroy?, Christoph Lameter |
| Indexes: | [Date] [Thread] [Top] [All Lists] |