return 0; 
 /* If 2 threads race to autobind, that is fine.  */ if (err == -EBUSY) err = 0;  return err; 
static int netlink_autobind(struct socket *sock){	struct sock *sk = sock->sk;	struct nl_pid_hash *hash = &nl_table[sk->sk_protocol].hash;	struct hlist_head *head;	struct sock *osk;	struct hlist_node *node;	s32 pid = current->pid;	int err;	static s32 rover = -4097;retry:	cond_resched();	netlink_table_grab();	head = nl_pid_hashfn(hash, pid);	sk_for_each(osk, node, head) {		if (nlk_sk(osk)->pid == pid) {			/* Bind collision, search negative pid values. */			pid = rover--;			if (rover > -4097)				rover = -4097;			netlink_table_ungrab();			goto retry;		}	}	netlink_table_ungrab();	err = netlink_insert(sk, pid);	if (err == -EADDRINUSE)		goto retry;	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/d470e3b483dcf79c16463bc740738dca76a035a9/af_netlink.c/buggy/net/netlink/af_netlink.c