summaryrefslogtreecommitdiff
blob: a2b0136620242374397bb83c557537b7e22ce3c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
--- vsock-only/linux/af_vsock.c	2015-05-05 11:51:59.794166063 -0400
+++ vsock-only.new/linux/af_vsock.c	2015-05-05 11:53:38.621171420 -0400
@@ -4874,9 +4874,11 @@ VSockVmciStreamRecvmsg(struct kiocb *kio
          }
 
          if (flags & MSG_PEEK) {
-            read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0);
+		    struct iovec iov = iov_iter_iovec(&msg->msg_iter);
+            read = vmci_qpair_peekv(vsk->qpair, &iov, len - copied, 0);
          } else {
-            read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0);
+		    struct iovec iov = iov_iter_iovec(&msg->msg_iter);
+            read = vmci_qpair_dequev(vsk->qpair, &iov, len - copied, 0);
          }
 
          if (read < 0) {
diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
--- vsock-only/linux/af_vsock.c	2015-05-05 11:53:59.937172575 -0400
+++ vsock-only.new/linux/af_vsock.c	2015-05-05 11:59:25.824190240 -0400
@@ -4628,9 +4628,12 @@ VSockVmciStreamSendmsg(struct kiocb *kio
        * size.  It is the caller's responsibility to check how many bytes we were
        * able to send.
        */
-
-      written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov,
-                                  len - totalWritten, 0);
+      {
+	      struct iovec iov = iov_iter_iovec(&msg->msg_iter);
+          written = vmci_qpair_enquev(vsk->qpair, &iov,
+                                      len - totalWritten, 0);
+      }
+	  
       if (written < 0) {
          err = -ENOMEM;
          goto outWait;