/* Called to transform a socket from bound (i.e. with a local address) into a listening socket (doesn't need a local port number) and rehashes based upon the object name/number.  */
static void dn_rehash_sock(struct sock *sk)
/* Called to transform a socket from bound (i.e. with a local address) into a listening socket (doesn't need a local port number) and rehashes based upon the object name/number.  */
static void dn_rehash_sock(struct sock *sk)
{
	struct hlist_head *list;
	struct dn_scp *scp = DN_SK(sk);
	if (scp->addr.sdn_flags & SDF_WILD)
		return;
	write_lock_bh(&dn_hash_lock);
	sk_del_node_init(sk);
	DN_SK(sk)->addrloc = 0;
	list = listen_hash(&DN_SK(sk)->addr);
	sk_add_node(sk, list);
	write_unlock_bh(&dn_hash_lock);
}