patch-2.1.123 linux/net/sunrpc/xprt.c

Next file: linux/Documentation/Configure.help
Previous file: linux/net/sunrpc/clnt.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.122/linux/net/sunrpc/xprt.c linux/net/sunrpc/xprt.c
@@ -573,7 +573,6 @@
 	struct rpc_rqst *rovr;
 	struct sk_buff	*skb;
 	struct iovec	iov[MAX_IOVEC];
-	mm_segment_t	oldfs;
 	int		err, repsize, copied;
 
 	dprintk("RPC:      udp_data_ready...\n");
@@ -603,9 +602,8 @@
 
 	/* Okay, we have it. Copy datagram... */
 	memcpy(iov, rovr->rq_rvec, rovr->rq_rnr * sizeof(iov[0]));
-	oldfs = get_fs(); set_fs(get_ds());
-	skb_copy_datagram_iovec(skb, 8, iov, copied);
-	set_fs(oldfs);
+	/* This needs to stay tied with the usermode skb_copy_dagram... */
+	memcpy_tokerneliovec(iov, skb->data+8, copied);
 
 	xprt_complete_rqst(xprt, rovr, copied);
 


FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov