Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 539972 | Differences between
and this patch

Collapse All | Expand All

(-)vsock-only.orig/linux/af_vsock.c (-9 / +11 lines)
Lines 233-245 Link Here
233
                                     char __user *optval, int __user * optlen);
233
                                     char __user *optval, int __user * optlen);
234
234
235
static int VSockVmciDgramSendmsg(struct kiocb *kiocb,
235
static int VSockVmciDgramSendmsg(struct kiocb *kiocb,
236
                                 struct socket *sock, struct msghdr *msg, size_t len);
236
                                 struct socket *sock, struct user_msghdr *msg, size_t len);
237
static int VSockVmciDgramRecvmsg(struct kiocb *kiocb, struct socket *sock,
237
static int VSockVmciDgramRecvmsg(struct kiocb *kiocb, struct socket *sock,
238
                                 struct msghdr *msg, size_t len, int flags);
238
                                 struct user_msghdr *msg, size_t len, int flags);
239
static int VSockVmciStreamSendmsg(struct kiocb *kiocb,
239
static int VSockVmciStreamSendmsg(struct kiocb *kiocb,
240
                                 struct socket *sock, struct msghdr *msg, size_t len);
240
                                 struct socket *sock, struct user_msghdr *msg, size_t len);
241
static int VSockVmciStreamRecvmsg(struct kiocb *kiocb, struct socket *sock,
241
static int VSockVmciStreamRecvmsg(struct kiocb *kiocb, struct socket *sock,
242
                                 struct msghdr *msg, size_t len, int flags);
242
                                 struct user_msghdr *msg, size_t len, int flags);
243
243
244
static int VSockVmciCreate(
244
static int VSockVmciCreate(
245
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
245
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
Lines 4195-4201 Link Here
4195
static int
4195
static int
4196
VSockVmciDgramSendmsg(struct kiocb *kiocb,          // UNUSED
4196
VSockVmciDgramSendmsg(struct kiocb *kiocb,          // UNUSED
4197
                      struct socket *sock,          // IN: socket to send on
4197
                      struct socket *sock,          // IN: socket to send on
4198
                      struct msghdr *msg,           // IN: message to send
4198
                      struct user_msghdr *msg,           // IN: message to send
4199
                      size_t len)                   // IN: length of message
4199
                      size_t len)                   // IN: length of message
4200
{
4200
{
4201
   int err;
4201
   int err;
Lines 4525-4531 Link Here
4525
static int
4525
static int
4526
VSockVmciStreamSendmsg(struct kiocb *kiocb,          // UNUSED
4526
VSockVmciStreamSendmsg(struct kiocb *kiocb,          // UNUSED
4527
                       struct socket *sock,          // IN: socket to send on
4527
                       struct socket *sock,          // IN: socket to send on
4528
                       struct msghdr *msg,           // IN: message to send
4528
                       struct user_msghdr *msg,           // IN: message to send
4529
                       size_t len)                   // IN: length of message
4529
                       size_t len)                   // IN: length of message
4530
{
4530
{
4531
   struct sock *sk;
4531
   struct sock *sk;
Lines 4694-4700 Link Here
4694
static int
4694
static int
4695
VSockVmciDgramRecvmsg(struct kiocb *kiocb,          // UNUSED
4695
VSockVmciDgramRecvmsg(struct kiocb *kiocb,          // UNUSED
4696
                      struct socket *sock,          // IN: socket to receive from
4696
                      struct socket *sock,          // IN: socket to receive from
4697
                      struct msghdr *msg,           // IN/OUT: message to receive into
4697
                      struct user_msghdr *msg,           // IN/OUT: message to receive into
4698
                      size_t len,                   // IN: length of receive buffer
4698
                      size_t len,                   // IN: length of receive buffer
4699
                      int flags)                    // IN: receive flags
4699
                      int flags)                    // IN: receive flags
4700
{
4700
{
Lines 4704-4709 Link Here
4704
   VMCIDatagram *dg;
4704
   VMCIDatagram *dg;
4705
   size_t payloadLen;
4705
   size_t payloadLen;
4706
   struct sk_buff *skb;
4706
   struct sk_buff *skb;
4707
   struct iov_iter to;
4707
4708
4708
   sk = sock->sk;
4709
   sk = sock->sk;
4709
   noblock = flags & MSG_DONTWAIT;
4710
   noblock = flags & MSG_DONTWAIT;
Lines 4742-4748 Link Here
4742
   }
4743
   }
4743
4744
4744
   /* Place the datagram payload in the user's iovec. */
4745
   /* Place the datagram payload in the user's iovec. */
4745
   err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
4746
   iov_iter_init(&to, READ, msg->msg_iov, 1, payloadLen);
4747
   err = skb_copy_datagram_iter(skb, sizeof *dg, &to, payloadLen);
4746
   if (err) {
4748
   if (err) {
4747
      goto out;
4749
      goto out;
4748
   }
4750
   }
Lines 4785-4791 Link Here
4785
static int
4787
static int
4786
VSockVmciStreamRecvmsg(struct kiocb *kiocb,          // UNUSED
4788
VSockVmciStreamRecvmsg(struct kiocb *kiocb,          // UNUSED
4787
                       struct socket *sock,          // IN: socket to receive from
4789
                       struct socket *sock,          // IN: socket to receive from
4788
                       struct msghdr *msg,           // IN/OUT: message to receive into
4790
                       struct user_msghdr *msg,           // IN/OUT: message to receive into
4789
                       size_t len,                   // IN: length of receive buffer
4791
                       size_t len,                   // IN: length of receive buffer
4790
                       int flags)                    // IN: receive flags
4792
                       int flags)                    // IN: receive flags
4791
{
4793
{

Return to bug 539972