[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201006071510.o57FA6uP010212@thirdoffive.cmf.nrl.navy.mil>
Date: Mon, 07 Jun 2010 11:10:06 -0400
From: "Chas Williams (CONTRACTOR)" <chas@....nrl.navy.mil>
To: David Woodhouse <dwmw2@...radead.org>
cc: linux-atm-general@...ts.sourceforge.net, netdev@...r.kernel.org
Subject: Re: [Linux-ATM-General] RX/close vcc race with solos/atmtcp/usbatm/he
In message <1275920035.17903.4998.camel@...book.infradead.org>,David Woodhouse
writes:
>On Mon, 2010-06-07 at 09:44 -0400, Chas Williams (CONTRACTOR) wrote:
>> vcc's are really sockets, so you could just increase the refcount --
>> sock_hold().
>
>There are rules about where we're allowed to call sock_hold(), and I
>don't think our find_vcc() functions can be made to meet them.
if you are using find_vcc() then you should already have a lock on the
hash table for the vccs. you can safely increment the ref count at
this point.
>In that case I think we might as well stick with the RCU-like solution I
>already implemented in the vcc close function -- which is just to wait
>for the tasklet to complete, thus ensuring that it's no longer using the
>defunct vcc.
the driver shouldnt close the vcc while the tasklet is running and
using the vcc in question. i guess the safest thing is to simply
do as you are doing and not close while running the tasklet.
--
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