On Sat, Feb 28, 2009 at 6:33 PM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote: > Hi Gustavo, > >> fix race condition >> >> Signed-off-by: Gustavo F. Padovan <gustavo@xxxxxxxxxxxxxxxxx> >> --- >> net/bluetooth/l2cap.c | 2 ++ >> 1 files changed, 2 insertions(+), 0 deletions(-) >> >> diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c >> index ca4d3b4..355f375 100644 >> --- a/net/bluetooth/l2cap.c >> +++ b/net/bluetooth/l2cap.c >> @@ -175,12 +175,14 @@ static inline void __l2cap_chan_link(struct l2cap_chan_list *l, struct sock *sk) >> { >> sock_hold(sk); >> >> + write_lock_bh(&l->lock); >> if (l->head) >> l2cap_pi(l->head)->prev_c = sk; >> >> l2cap_pi(sk)->next_c = l->head; >> l2cap_pi(sk)->prev_c = NULL; >> l->head = sk; >> + write_unlock_bh(&l->lock); >> } > > a general rule of thumb is that function starting with __ are the ones > that don't use any kind of locking. Ok. I noted this after send the patch. :-( > > Regards > > Marcel > > > -- Gustavo F. Padovan Computer Engineering Student Institute of Computing - IC University of Campinas - UNICAMP email: gustavo@xxxxxxxxxxxxxxxxx gtalk: gfpadovan@xxxxxxxxx mobile: +55 19 81030803 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html