diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2014-04-06 21:28:01 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-11-24 04:28:49 -0500 |
commit | e169371823827dae1fd1d15bceb0fe5497c1a5ba (patch) | |
tree | 8e3f8e4bfaeb5f370eeef55d0282280973ddba0b /net/ipx | |
parent | 6ce8e9ce5989ae13f493062975304700be86d20e (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.c | 3 | ||||
-rw-r--r-- | net/ipx/ipx_route.c | 4 |
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; |
1752 | out: | 1751 | out: |
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 | */ |
167 | int ipxrtr_route_packet(struct sock *sk, struct sockaddr_ipx *usipx, | 167 | int 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; |