aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipx
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2014-04-06 21:28:01 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2014-11-24 04:28:49 -0500
commite169371823827dae1fd1d15bceb0fe5497c1a5ba (patch)
tree8e3f8e4bfaeb5f370eeef55d0282280973ddba0b /net/ipx
parent6ce8e9ce5989ae13f493062975304700be86d20e (diff)
switch ipxrtr_route_packet() from iovec to msghdr
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'net/ipx')
-rw-r--r--net/ipx/af_ipx.c3
-rw-r--r--net/ipx/ipx_route.c4
2 files changed, 3 insertions, 4 deletions
diff --git a/net/ipx/af_ipx.c b/net/ipx/af_ipx.c
index 97dc4320ac15..f11ad1d95e0e 100644
--- a/net/ipx/af_ipx.c
+++ b/net/ipx/af_ipx.c
@@ -1745,8 +1745,7 @@ static int ipx_sendmsg(struct kiocb *iocb, struct socket *sock,
1745 memcpy(usipx->sipx_node, ipxs->dest_addr.node, IPX_NODE_LEN); 1745 memcpy(usipx->sipx_node, ipxs->dest_addr.node, IPX_NODE_LEN);
1746 } 1746 }
1747 1747
1748 rc = ipxrtr_route_packet(sk, usipx, msg->msg_iov, len, 1748 rc = ipxrtr_route_packet(sk, usipx, msg, len, flags & MSG_DONTWAIT);
1749 flags & MSG_DONTWAIT);
1750 if (rc >= 0) 1749 if (rc >= 0)
1751 rc = len; 1750 rc = len;
1752out: 1751out:
diff --git a/net/ipx/ipx_route.c b/net/ipx/ipx_route.c
index 67e7ad3d46b1..3e2a32a9f3bd 100644
--- a/net/ipx/ipx_route.c
+++ b/net/ipx/ipx_route.c
@@ -165,7 +165,7 @@ int ipxrtr_route_skb(struct sk_buff *skb)
165 * Route an outgoing frame from a socket. 165 * Route an outgoing frame from a socket.
166 */ 166 */
167int ipxrtr_route_packet(struct sock *sk, struct sockaddr_ipx *usipx, 167int ipxrtr_route_packet(struct sock *sk, struct sockaddr_ipx *usipx,
168 struct iovec *iov, size_t len, int noblock) 168 struct msghdr *msg, size_t len, int noblock)
169{ 169{
170 struct sk_buff *skb; 170 struct sk_buff *skb;
171 struct ipx_sock *ipxs = ipx_sk(sk); 171 struct ipx_sock *ipxs = ipx_sk(sk);
@@ -229,7 +229,7 @@ int ipxrtr_route_packet(struct sock *sk, struct sockaddr_ipx *usipx,
229 memcpy(ipx->ipx_dest.node, usipx->sipx_node, IPX_NODE_LEN); 229 memcpy(ipx->ipx_dest.node, usipx->sipx_node, IPX_NODE_LEN);
230 ipx->ipx_dest.sock = usipx->sipx_port; 230 ipx->ipx_dest.sock = usipx->sipx_port;
231 231
232 rc = memcpy_fromiovec(skb_put(skb, len), iov, len); 232 rc = memcpy_from_msg(skb_put(skb, len), msg, len);
233 if (rc) { 233 if (rc) {
234 kfree_skb(skb); 234 kfree_skb(skb);
235 goto out_put; 235 goto out_put;