read_lock_bh(&sap->sk_list.lock); sk_for_each(rc, node, &sap->sk_list.list) { struct llc_sock *llc = llc_sk(rc);  if (llc->laddr.lsap == laddr->lsap && llc->daddr.lsap == daddr->lsap && llc_mac_match(llc->laddr.mac, laddr->mac) && llc_mac_match(llc->daddr.mac, daddr->mac)) { sock_hold(rc); goto found; } } rc = NULL; found: read_unlock_bh(&sap->sk_list.lock); return rc; 
local_bh_disable(); sk = __llc_lookup_established(sap, daddr, laddr); local_bh_enable(); return sk; 
struct sock *llc_lookup_established(struct llc_sap *sap, struct llc_addr *daddr,				    struct llc_addr *laddr){	struct sock *rc;	struct hlist_node *node;	read_lock_bh(&sap->sk_list.lock);	sk_for_each(rc, node, &sap->sk_list.list) {		struct llc_sock *llc = llc_sk(rc);		if (llc->laddr.lsap == laddr->lsap &&		    llc->daddr.lsap == daddr->lsap &&		    llc_mac_match(llc->laddr.mac, laddr->mac) &&		    llc_mac_match(llc->daddr.mac, daddr->mac)) {			sock_hold(rc);			goto found;		}	}	rc = NULL;found:	read_unlock_bh(&sap->sk_list.lock);	return rc;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/d389424e00f9097cd24b3df4ca0ab7221f140eeb/llc_conn.c/clean/net/llc/llc_conn.c