> > +static void cma_detach_from_dev(struct rdma_id_private *id_priv) > > +{ > > + list_del(&id_priv->list); > > + if (atomic_dec_and_test(&id_priv->cma_dev->refcount)) > > + wake_up(&id_priv->cma_dev->wait); > > + id_priv->cma_dev = NULL; > > +} > >doesn't need to do atomic_dec_and_test(), because it is never dropping >the last reference to id_priv (and in fact if it was, the last line >would be a use-after-free bug).
It's dropping the reference on cma_dev, as opposed to id_priv. - Sean - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html