Re: [Linux-ATM-General] RX/close vcc race with solos/atmtcp/usbatm/he
From: Chas Williams (CONTRACTOR) <hidden>
Date: 2010-06-07 16:38:34
From: Chas Williams (CONTRACTOR) <hidden>
Date: 2010-06-07 16:38:34
In message [ref],David Woodhouse writes:
You can still hit the oops that way -- br2684_push() is setting vcc->user_back to NULL before the final sock_put() anyway, and that's what was causing the oops.
i dont understand. if you do a sock_hold() in find_vcc(), and then call vcc->push() you should be able to call vcc->push() and then sock_put(). the solos driver is broken since the result find_vcc() does not do anything to keep the resulting vcc from evaporating. find_vcc() should be taking a reference on the vcc, or the lock needs to held around any usage of the results from find_vcc().