Commit 45dcc687f764f89e1e7c41dace52b105494e5dbb

Authored by Al Viro
1 parent 562640f3c3

tipc_msg_build(): pass msghdr instead of its ->msg_iov

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Showing 3 changed files with 8 additions and 9 deletions Side-by-side Diff

... ... @@ -162,14 +162,14 @@
162 162 /**
163 163 * tipc_msg_build - create buffer chain containing specified header and data
164 164 * @mhdr: Message header, to be prepended to data
165   - * @iov: User data
  165 + * @m: User message
166 166 * @offset: Posision in iov to start copying from
167 167 * @dsz: Total length of user data
168 168 * @pktmax: Max packet size that can be used
169 169 * @chain: Buffer or chain of buffers to be returned to caller
170 170 * Returns message data size or errno: -ENOMEM, -EFAULT
171 171 */
172   -int tipc_msg_build(struct tipc_msg *mhdr, struct iovec const *iov,
  172 +int tipc_msg_build(struct tipc_msg *mhdr, struct msghdr *m,
173 173 int offset, int dsz, int pktmax , struct sk_buff **chain)
174 174 {
175 175 int mhsz = msg_hdr_sz(mhdr);
... ... @@ -194,7 +194,7 @@
194 194 skb_copy_to_linear_data(buf, mhdr, mhsz);
195 195 pktpos = buf->data + mhsz;
196 196 TIPC_SKB_CB(buf)->chain_sz = 1;
197   - if (!dsz || !memcpy_fromiovecend(pktpos, iov, offset, dsz))
  197 + if (!dsz || !memcpy_fromiovecend(pktpos, m->msg_iov, offset, dsz))
198 198 return dsz;
199 199 rc = -EFAULT;
200 200 goto error;
... ... @@ -223,7 +223,7 @@
223 223 if (drem < pktrem)
224 224 pktrem = drem;
225 225  
226   - if (memcpy_fromiovecend(pktpos, iov, offset, pktrem)) {
  226 + if (memcpy_fromiovecend(pktpos, m->msg_iov, offset, pktrem)) {
227 227 rc = -EFAULT;
228 228 goto error;
229 229 }
... ... @@ -743,7 +743,7 @@
743 743  
744 744 bool tipc_msg_make_bundle(struct sk_buff **buf, u32 mtu, u32 dnode);
745 745  
746   -int tipc_msg_build(struct tipc_msg *mhdr, struct iovec const *iov,
  746 +int tipc_msg_build(struct tipc_msg *mhdr, struct msghdr *m,
747 747 int offset, int dsz, int mtu , struct sk_buff **chain);
748 748  
749 749 struct sk_buff *tipc_msg_reassemble(struct sk_buff *chain);
... ... @@ -727,7 +727,7 @@
727 727  
728 728 new_mtu:
729 729 mtu = tipc_bclink_get_mtu();
730   - rc = tipc_msg_build(mhdr, msg->msg_iov, 0, dsz, mtu, &buf);
  730 + rc = tipc_msg_build(mhdr, msg, 0, dsz, mtu, &buf);
731 731 if (unlikely(rc < 0))
732 732 return rc;
733 733  
... ... @@ -905,7 +905,6 @@
905 905 struct sock *sk = sock->sk;
906 906 struct tipc_sock *tsk = tipc_sk(sk);
907 907 struct tipc_msg *mhdr = &tsk->phdr;
908   - struct iovec *iov = m->msg_iov;
909 908 u32 dnode, dport;
910 909 struct sk_buff *buf;
911 910 struct tipc_name_seq *seq = &dest->addr.nameseq;
... ... @@ -982,7 +981,7 @@
982 981  
983 982 new_mtu:
984 983 mtu = tipc_node_get_mtu(dnode, tsk->ref);
985   - rc = tipc_msg_build(mhdr, iov, 0, dsz, mtu, &buf);
  984 + rc = tipc_msg_build(mhdr, m, 0, dsz, mtu, &buf);
986 985 if (rc < 0)
987 986 goto exit;
988 987  
... ... @@ -1094,7 +1093,7 @@
1094 1093 next:
1095 1094 mtu = tsk->max_pkt;
1096 1095 send = min_t(uint, dsz - sent, TIPC_MAX_USER_MSG_SIZE);
1097   - rc = tipc_msg_build(mhdr, m->msg_iov, sent, send, mtu, &buf);
  1096 + rc = tipc_msg_build(mhdr, m, sent, send, mtu, &buf);
1098 1097 if (unlikely(rc < 0))
1099 1098 goto exit;
1100 1099 do {