sk->sk_hashent = inet_sk_ehashfn(sk, hashinfo->ehash_size); list = &hashinfo->ehash[sk->sk_hashent].chain; lock = &hashinfo->ehash[sk->sk_hashent].lock; 
struct inet_ehash_bucket *head; sk->sk_hash = inet_sk_ehashfn(sk); head = inet_ehash_bucket(hashinfo, sk->sk_hash); list = &head->chain; lock = &head->lock; 
static inline void __inet_hash(struct inet_hashinfo *hashinfo,			       struct sock *sk, const int listen_possible){	struct hlist_head *list;	rwlock_t *lock;	BUG_TRAP(sk_unhashed(sk));	if (listen_possible && sk->sk_state == TCP_LISTEN) {		list = &hashinfo->listening_hash[inet_sk_listen_hashfn(sk)];		lock = &hashinfo->lhash_lock;		inet_listen_wlock(hashinfo);	} else {		sk->sk_hashent = inet_sk_ehashfn(sk, hashinfo->ehash_size);		list = &hashinfo->ehash[sk->sk_hashent].chain;		lock = &hashinfo->ehash[sk->sk_hashent].lock;		write_lock(lock);	}	__sk_add_node(sk, list);	sock_prot_inc_use(sk->sk_prot);	write_unlock(lock);	if (listen_possible && sk->sk_state == TCP_LISTEN)		wake_up(&hashinfo->lhash_wait);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/81c3d5470ecc70564eb9209946730fe2be93ad06/inet_hashtables.h/clean/include/net/inet_hashtables.h