• Skip to sidebar navigation
  • Skip to content

Bitbucket

  • More
    ProjectsRepositories
  • Help
    • Online help
    • Learn Git
    • Welcome to Bitbucket
    • Keyboard shortcuts
  • Log In
Alexander Dahl
  1. Alexander Dahl

buildroot

Public
Actions
  • Clone
  • Compare

Learn more about cloning repositories

You have read-only access

Navigation
  • Source
  • Commits
  • Branches
  • All Branches Graph
  • Forks
  1. Alexander Dahl
  2. buildroot

Source

buildroot/package/linux-fusion/0004-Port-one-one_udp.c-to-Linux-4.1.patch
Marc GonzalezMarc Gonzalez committed 2b291a074fa15 Jan 2016
Raw file
Source viewDiff to previous
@@ -213,14 +215,12 @@ ksocket_receive(struct socket* sock, struct sockaddr_in* addr, void *buf, int le
 
1
From be288b60278c78eccfd347aacf4d3dd8771215a9 Mon Sep 17 00:00:00 2001
2
From: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
3
Date: Tue, 12 Jan 2016 14:01:42 +0100
4
Subject: [PATCH] Port one/one_udp.c to Linux 4.1
5
​
6
Kernel commit c0371da6047a replaced msg_iov and msg_iovlen with msg_iter
7
in struct msghdr since 3.19
8
​
9
one/one_udp.c: In function 'ksocket_send_iov':
10
one/one_udp.c:186:9: error: 'struct msghdr' has no member named 'msg_iov'
11
one/one_udp.c:187:9: error: 'struct msghdr' has no member named 'msg_iovlen'
12
​
13
one/one_udp.c: In function 'ksocket_receive':
14
one/one_udp.c:221:9: error: 'struct msghdr' has no member named 'msg_iov'
15
one/one_udp.c:222:9: error: 'struct msghdr' has no member named 'msg_iovlen'
16
​
17
The iov_iter interface
18
https://lwn.net/Articles/625077/
19
​
20
Kernel commit d8725c86aeba dropped the len parameter in sock_sendmsg
21
since 4.1
22
​
23
one/one_udp.c: In function 'ksocket_send_iov':
24
one/one_udp.c:192:13: error: too many arguments to function 'sock_sendmsg'
25
​
26
Signed-off-by: Marc Gonzalez <marc_gonzalez@sigmadesigns.com>
27
---
28
 one/one_udp.c | 30 +++++++++++++++---------------
29
 1 file changed, 15 insertions(+), 15 deletions(-)
30
​
31
diff --git a/one/one_udp.c b/one/one_udp.c
32
index 26b9e6a1f729..b1daae164cdf 100644
33
--- a/one/one_udp.c
34
+++ b/one/one_udp.c
35
@@ -161,7 +161,7 @@ ksocket_send_iov( struct socket      *sock,
36
                   const struct iovec *iov,
37
                   size_t              iov_count )
38
 {
39
-     struct msghdr msg;
40
+     struct msghdr msg = { addr, sizeof *addr };
41
      mm_segment_t oldfs;
42
      int size = 0;
43
      size_t len = 0;
44
@@ -178,18 +178,20 @@ ksocket_send_iov( struct socket      *sock,
45
      for (i=0; i<iov_count; i++)
46
           len += iov[i].iov_len;
47
 
48
-     msg.msg_flags = 0;
49
-     msg.msg_name = addr;
50
-     msg.msg_namelen  = sizeof(struct sockaddr_in);
51
-     msg.msg_control = NULL;
52
-     msg.msg_controllen = 0;
53
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0) // commit c0371da6047a
54
      msg.msg_iov = (struct iovec*) iov;
55
      msg.msg_iovlen = iov_count;
56
-     msg.msg_control = NULL;
57
+#else
58
+     iov_iter_init(&msg.msg_iter, WRITE, iov, iov_count, len);
59
+#endif
60
 
61
      oldfs = get_fs();
62
      set_fs(KERNEL_DS);
63
-     size = sock_sendmsg(sock,&msg,len);
  • Git repository management for enterprise teams powered by Atlassian Bitbucket
  • Atlassian Bitbucket v6.7.2
  • Documentation
  • Request a feature
  • About
  • Contact Atlassian
Atlassian

Everything looks good. We'll let you know here if there's anything you should know about.