xs_set_buffer_size(xprt); 
xs_udp_set_buffer_size(xprt); 
static void xs_udp_connect_worker(void *args){	struct rpc_xprt *xprt = (struct rpc_xprt *) args;	struct socket *sock = xprt->sock;	int err, status = -EIO;	if (xprt->shutdown || xprt->addr.sin_port == 0)		goto out;	dprintk("RPC:      xs_udp_connect_worker for xprt %p\n", xprt);	/* Start by resetting any existing state */	xs_close(xprt);	if ((err = sock_create_kern(PF_INET, SOCK_DGRAM, IPPROTO_UDP, &sock)) < 0) {		dprintk("RPC:      can't create UDP transport socket (%d).\n", -err);		goto out;	}	if (xprt->resvport && xs_bindresvport(xprt, sock) < 0) {		sock_release(sock);		goto out;	}	if (!xprt->inet) {		struct sock *sk = sock->sk;		write_lock_bh(&sk->sk_callback_lock);		sk->sk_user_data = xprt;		xprt->old_data_ready = sk->sk_data_ready;		xprt->old_state_change = sk->sk_state_change;		xprt->old_write_space = sk->sk_write_space;		sk->sk_data_ready = xs_udp_data_ready;		sk->sk_write_space = xs_udp_write_space;		sk->sk_no_check = UDP_CSUM_NORCV;		xprt_set_connected(xprt);		/* Reset to new socket */		xprt->sock = sock;		xprt->inet = sk;		write_unlock_bh(&sk->sk_callback_lock);	}	xs_set_buffer_size(xprt);	status = 0;out:	xprt_wake_pending_tasks(xprt, status);	xprt_clear_connecting(xprt);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/43118c29dea2b23798bd42a147015cceee7fa885/xprtsock.c/buggy/net/sunrpc/xprtsock.c