Module: xenomai-3
Branch: next
Commit: a85a4116edb8d7631cea2b472dd5ce45297ef1af
URL:    
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a85a4116edb8d7631cea2b472dd5ce45297ef1af

Author: Philippe Gerum <r...@xenomai.org>
Date:   Mon Nov  2 20:45:10 2015 +0100

cobalt/kernel: fixup for v3.19+ (user_msghdr)

---

 include/cobalt/kernel/compat.h                       |    5 +++--
 include/cobalt/kernel/rtdm/fd.h                      |   16 ++++++++--------
 include/cobalt/kernel/rtdm/rtdm.h                    |    8 ++++----
 kernel/cobalt/include/asm-generic/xenomai/wrappers.h |    4 ++++
 kernel/cobalt/posix/compat.c                         |    4 ++--
 kernel/cobalt/posix/io.c                             |    8 ++++----
 kernel/cobalt/posix/io.h                             |    4 ++--
 kernel/cobalt/posix/syscall32.c                      |    4 ++--
 kernel/cobalt/rtdm/core.c                            |    8 ++++----
 kernel/cobalt/rtdm/fd.c                              |    4 ++--
 kernel/drivers/can/rtcan_raw.c                       |    4 ++--
 kernel/drivers/ipc/bufp.c                            |    4 ++--
 kernel/drivers/ipc/iddp.c                            |    4 ++--
 kernel/drivers/ipc/internal.h                        |    8 ++++----
 kernel/drivers/ipc/rtipc.c                           |    8 ++++----
 kernel/drivers/ipc/xddp.c                            |    4 ++--
 kernel/drivers/net/stack/ipv4/tcp/tcp.c              |    4 ++--
 kernel/drivers/net/stack/ipv4/udp/udp.c              |    4 ++--
 kernel/drivers/net/stack/packet/af_packet.c          |    4 ++--
 19 files changed, 57 insertions(+), 52 deletions(-)

diff --git a/include/cobalt/kernel/compat.h b/include/cobalt/kernel/compat.h
index b0ef81e..43378d9 100644
--- a/include/cobalt/kernel/compat.h
+++ b/include/cobalt/kernel/compat.h
@@ -22,6 +22,7 @@
 
 #include <linux/compat.h>
 #include <net/compat.h>
+#include <asm/xenomai/wrappers.h>
 #include <cobalt/uapi/sched.h>
 
 struct mq_attr;
@@ -135,11 +136,11 @@ int sys32_get_sigval(union sigval *val, const union 
compat_sigval *u_cval);
 int sys32_put_siginfo(void __user *u_si, const struct siginfo *si,
                      int overrun);
 
-int sys32_get_msghdr(struct msghdr *msg,
+int sys32_get_msghdr(struct user_msghdr *msg,
                     const struct compat_msghdr __user *u_cmsg);
 
 int sys32_put_msghdr(struct compat_msghdr __user *u_cmsg,
-                    const struct msghdr *msg);
+                    const struct user_msghdr *msg);
 
 int sys32_get_iovec(struct iovec *iov,
                    const struct compat_iovec __user *ciov,
diff --git a/include/cobalt/kernel/rtdm/fd.h b/include/cobalt/kernel/rtdm/fd.h
index 1c0fe9e..dc653d6 100644
--- a/include/cobalt/kernel/rtdm/fd.h
+++ b/include/cobalt/kernel/rtdm/fd.h
@@ -143,7 +143,7 @@ ssize_t rtdm_write_handler(struct rtdm_fd *fd, const void 
__user *buf, size_t si
  * @see @c recvmsg() in IEEE Std 1003.1,
  * http://www.opengroup.org/onlinepubs/009695399
  */
-ssize_t rtdm_recvmsg_handler(struct rtdm_fd *fd, struct msghdr *msg, int 
flags);
+ssize_t rtdm_recvmsg_handler(struct rtdm_fd *fd, struct user_msghdr *msg, int 
flags);
 
 /**
  * Transmit message handler
@@ -160,7 +160,7 @@ ssize_t rtdm_recvmsg_handler(struct rtdm_fd *fd, struct 
msghdr *msg, int flags);
  * @see @c sendmsg() in IEEE Std 1003.1,
  * http://www.opengroup.org/onlinepubs/009695399
  */
-ssize_t rtdm_sendmsg_handler(struct rtdm_fd *fd, const struct msghdr *msg, int 
flags);
+ssize_t rtdm_sendmsg_handler(struct rtdm_fd *fd, const struct user_msghdr 
*msg, int flags);
 
 /**
  * Select handler
@@ -267,16 +267,16 @@ struct rtdm_fd_ops {
                             const void __user *buf, size_t size);
        /** See rtdm_recvmsg_handler(). */
        ssize_t (*recvmsg_rt)(struct rtdm_fd *fd,
-                             struct msghdr *msg, int flags);
+                             struct user_msghdr *msg, int flags);
        /** See rtdm_recvmsg_handler(). */
        ssize_t (*recvmsg_nrt)(struct rtdm_fd *fd,
-                              struct msghdr *msg, int flags);
+                              struct user_msghdr *msg, int flags);
        /** See rtdm_sendmsg_handler(). */
        ssize_t (*sendmsg_rt)(struct rtdm_fd *fd,
-                             const struct msghdr *msg, int flags);
+                             const struct user_msghdr *msg, int flags);
        /** See rtdm_sendmsg_handler(). */
        ssize_t (*sendmsg_nrt)(struct rtdm_fd *fd,
-                              const struct msghdr *msg, int flags);
+                              const struct user_msghdr *msg, int flags);
        /** See rtdm_select_handler(). */
        int (*select)(struct rtdm_fd *fd,
                      struct xnselector *selector,
@@ -363,9 +363,9 @@ ssize_t rtdm_fd_write(int ufd, const void __user *buf, 
size_t size);
 
 int rtdm_fd_close(int ufd, unsigned int magic);
 
-ssize_t rtdm_fd_recvmsg(int ufd, struct msghdr *msg, int flags);
+ssize_t rtdm_fd_recvmsg(int ufd, struct user_msghdr *msg, int flags);
 
-ssize_t rtdm_fd_sendmsg(int ufd, const struct msghdr *msg,
+ssize_t rtdm_fd_sendmsg(int ufd, const struct user_msghdr *msg,
                        int flags);
 
 int rtdm_fd_mmap(int ufd, struct _rtdm_mmap_request *rma,
diff --git a/include/cobalt/kernel/rtdm/rtdm.h 
b/include/cobalt/kernel/rtdm/rtdm.h
index 7b1b33a..b937df2 100644
--- a/include/cobalt/kernel/rtdm/rtdm.h
+++ b/include/cobalt/kernel/rtdm/rtdm.h
@@ -68,12 +68,12 @@ static inline ssize_t rtdm_write(int fd, const void *buf, 
size_t count)
        return rtdm_fd_write(fd, buf, count);
 }
 
-static inline ssize_t rtdm_recvmsg(int s, struct msghdr *msg, int flags)
+static inline ssize_t rtdm_recvmsg(int s, struct user_msghdr *msg, int flags)
 {
        return rtdm_fd_recvmsg(s, msg, flags);
 }
 
-static inline ssize_t rtdm_sendmsg(int s, const struct msghdr *msg, int flags)
+static inline ssize_t rtdm_sendmsg(int s, const struct user_msghdr *msg, int 
flags)
 {
        return rtdm_fd_sendmsg(s, msg, flags);
 }
@@ -83,7 +83,7 @@ ssize_t rtdm_recvfrom(int s, void *buf, size_t len, int flags,
                      struct sockaddr *from,
                      socklen_t *fromlen)
 {
-       struct msghdr msg;
+       struct user_msghdr msg;
        struct iovec iov;
        ssize_t ret;
 
@@ -115,7 +115,7 @@ static inline ssize_t rtdm_sendto(int s, const void *buf, 
size_t len,
                                  int flags, const struct sockaddr *to,
                                  socklen_t tolen)
 {
-       struct msghdr msg;
+       struct user_msghdr msg;
        struct iovec iov;
 
        iov.iov_base = (void *)buf;
diff --git a/kernel/cobalt/include/asm-generic/xenomai/wrappers.h 
b/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
index 61b8a54..d0c3952 100644
--- a/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
+++ b/kernel/cobalt/include/asm-generic/xenomai/wrappers.h
@@ -68,4 +68,8 @@
        alloc_netdev_mqs(sizeof_priv, name, setup, 1, 1)
 #endif
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0)
+#define user_msghdr msghdr
+#endif
+
 #endif /* _COBALT_ASM_GENERIC_WRAPPERS_H */
diff --git a/kernel/cobalt/posix/compat.c b/kernel/cobalt/posix/compat.c
index 6118f8a..44521b5 100644
--- a/kernel/cobalt/posix/compat.c
+++ b/kernel/cobalt/posix/compat.c
@@ -337,7 +337,7 @@ int sys32_put_siginfo(void __user *u_si, const struct 
siginfo *si,
 }
 EXPORT_SYMBOL_GPL(sys32_put_siginfo);
 
-int sys32_get_msghdr(struct msghdr *msg,
+int sys32_get_msghdr(struct user_msghdr *msg,
                     const struct compat_msghdr __user *u_cmsg)
 {
        compat_uptr_t tmp1, tmp2, tmp3;
@@ -365,7 +365,7 @@ int sys32_get_msghdr(struct msghdr *msg,
 EXPORT_SYMBOL_GPL(sys32_get_msghdr);
 
 int sys32_put_msghdr(struct compat_msghdr __user *u_cmsg,
-                    const struct msghdr *msg)
+                    const struct user_msghdr *msg)
 {
        if (u_cmsg == NULL ||
            !access_wok(u_cmsg, sizeof(*u_cmsg)) ||
diff --git a/kernel/cobalt/posix/io.c b/kernel/cobalt/posix/io.c
index cadc2d1..7110d21 100644
--- a/kernel/cobalt/posix/io.c
+++ b/kernel/cobalt/posix/io.c
@@ -77,9 +77,9 @@ COBALT_SYSCALL(write, probing,
 }
 
 COBALT_SYSCALL(recvmsg, probing,
-              (int fd, struct msghdr __user *umsg, int flags))
+              (int fd, struct user_msghdr __user *umsg, int flags))
 {
-       struct msghdr m;
+       struct user_msghdr m;
        ssize_t ret;
 
        ret = cobalt_copy_from_user(&m, umsg, sizeof(m));
@@ -94,9 +94,9 @@ COBALT_SYSCALL(recvmsg, probing,
 }
 
 COBALT_SYSCALL(sendmsg, probing,
-              (int fd, struct msghdr __user *umsg, int flags))
+              (int fd, struct user_msghdr __user *umsg, int flags))
 {
-       struct msghdr m;
+       struct user_msghdr m;
        int ret;
 
        ret = cobalt_copy_from_user(&m, umsg, sizeof(m));
diff --git a/kernel/cobalt/posix/io.h b/kernel/cobalt/posix/io.h
index 3189acf..b2db702 100644
--- a/kernel/cobalt/posix/io.h
+++ b/kernel/cobalt/posix/io.h
@@ -49,10 +49,10 @@ COBALT_SYSCALL_DECL(write,
                    (int fd, const void __user *buf, size_t size));
 
 COBALT_SYSCALL_DECL(recvmsg,
-                   (int fd, struct msghdr __user *umsg, int flags));
+                   (int fd, struct user_msghdr __user *umsg, int flags));
 
 COBALT_SYSCALL_DECL(sendmsg,
-                   (int fd, struct msghdr __user *umsg, int flags));
+                   (int fd, struct user_msghdr __user *umsg, int flags));
 
 COBALT_SYSCALL_DECL(mmap,
                    (int fd, struct _rtdm_mmap_request __user *u_rma,
diff --git a/kernel/cobalt/posix/syscall32.c b/kernel/cobalt/posix/syscall32.c
index d0af2cc..0576b37 100644
--- a/kernel/cobalt/posix/syscall32.c
+++ b/kernel/cobalt/posix/syscall32.c
@@ -770,7 +770,7 @@ COBALT_SYSCALL32emu(recvmsg, probing,
                    (int fd, struct compat_msghdr __user *umsg,
                     int flags))
 {
-       struct msghdr m;
+       struct user_msghdr m;
        ssize_t ret;
 
        ret = sys32_get_msghdr(&m, umsg);
@@ -787,7 +787,7 @@ COBALT_SYSCALL32emu(recvmsg, probing,
 COBALT_SYSCALL32emu(sendmsg, probing,
                    (int fd, struct compat_msghdr __user *umsg, int flags))
 {
-       struct msghdr m;
+       struct user_msghdr m;
        int ret;
 
        ret = sys32_get_msghdr(&m, umsg);
diff --git a/kernel/cobalt/rtdm/core.c b/kernel/cobalt/rtdm/core.c
index 6de8e85..0ec8169 100644
--- a/kernel/cobalt/rtdm/core.c
+++ b/kernel/cobalt/rtdm/core.c
@@ -775,7 +775,7 @@ ssize_t rtdm_write(int fd, const void *buf, size_t nbyte);
  *
  * @coretags{mode-unrestricted, might-switch}
  */
-ssize_t rtdm_recvmsg(int fd, struct msghdr *msg, int flags);
+ssize_t rtdm_recvmsg(int fd, struct user_msghdr *msg, int flags);
 
 /**
  * @brief Receive message from socket
@@ -809,7 +809,7 @@ ssize_t rtdm_recv(int fd, void *buf, size_t len, int flags);
  *
  * @coretags{mode-unrestricted, might-switch}
  */
-ssize_t rtdm_sendmsg(int fd, const struct msghdr *msg, int flags);
+ssize_t rtdm_sendmsg(int fd, const struct user_msghdr *msg, int flags);
 
 /**
  * @brief Transmit message to socket
@@ -1080,7 +1080,7 @@ ssize_t rtdm_write(int fd, const void *buf, size_t nbyte);
  *
  * @coretags{mode-unrestricted, might-switch}
  */
-ssize_t rtdm_recvmsg(int fd, struct msghdr *msg, int flags);
+ssize_t rtdm_recvmsg(int fd, struct user_msghdr *msg, int flags);
 
 /**
  * @brief Receive message from socket
@@ -1142,7 +1142,7 @@ ssize_t rtdm_recv(int fd, void *buf, size_t len, int 
flags);
  *
  * @coretags{mode-unrestricted, might-switch}
  */
-ssize_t rtdm_sendmsg(int fd, const struct msghdr *msg, int flags);
+ssize_t rtdm_sendmsg(int fd, const struct user_msghdr *msg, int flags);
 
 /**
  * @brief Transmit message to socket
diff --git a/kernel/cobalt/rtdm/fd.c b/kernel/cobalt/rtdm/fd.c
index aeb494b..eacc1cc 100644
--- a/kernel/cobalt/rtdm/fd.c
+++ b/kernel/cobalt/rtdm/fd.c
@@ -502,7 +502,7 @@ ssize_t rtdm_fd_write(int ufd, const void __user *buf, 
size_t size)
 }
 EXPORT_SYMBOL_GPL(rtdm_fd_write);
 
-ssize_t rtdm_fd_recvmsg(int ufd, struct msghdr *msg, int flags)
+ssize_t rtdm_fd_recvmsg(int ufd, struct user_msghdr *msg, int flags)
 {
        struct rtdm_fd *fd;
        ssize_t err;
@@ -534,7 +534,7 @@ out:
 }
 EXPORT_SYMBOL_GPL(rtdm_fd_recvmsg);
 
-ssize_t rtdm_fd_sendmsg(int ufd, const struct msghdr *msg, int flags)
+ssize_t rtdm_fd_sendmsg(int ufd, const struct user_msghdr *msg, int flags)
 {
        struct rtdm_fd *fd;
        ssize_t err;
diff --git a/kernel/drivers/can/rtcan_raw.c b/kernel/drivers/can/rtcan_raw.c
index 2047529..693b927 100644
--- a/kernel/drivers/can/rtcan_raw.c
+++ b/kernel/drivers/can/rtcan_raw.c
@@ -527,7 +527,7 @@ do {                                                        
                \
 } while (0)
 
 ssize_t rtcan_raw_recvmsg(struct rtdm_fd *fd,
-                         struct msghdr *msg, int flags)
+                         struct user_msghdr *msg, int flags)
 {
     struct rtcan_socket *sock = rtdm_fd_to_private(fd);
     struct sockaddr_can scan;
@@ -763,7 +763,7 @@ ssize_t rtcan_raw_recvmsg(struct rtdm_fd *fd,
 
 
 ssize_t rtcan_raw_sendmsg(struct rtdm_fd *fd,
-                         const struct msghdr *msg, int flags)
+                         const struct user_msghdr *msg, int flags)
 {
     struct rtcan_socket *sock = rtdm_fd_to_private(fd);
     struct sockaddr_can *scan = (struct sockaddr_can *)msg->msg_name;
diff --git a/kernel/drivers/ipc/bufp.c b/kernel/drivers/ipc/bufp.c
index fcfd694..7ea8b2c 100644
--- a/kernel/drivers/ipc/bufp.c
+++ b/kernel/drivers/ipc/bufp.c
@@ -356,7 +356,7 @@ static ssize_t __bufp_recvmsg(struct rtdm_fd *fd,
 }
 
 static ssize_t bufp_recvmsg(struct rtdm_fd *fd,
-                           struct msghdr *msg, int flags)
+                           struct user_msghdr *msg, int flags)
 {
        struct iovec iov[RTIPC_IOV_MAX];
        struct sockaddr_ipc saddr;
@@ -603,7 +603,7 @@ fail:
 }
 
 static ssize_t bufp_sendmsg(struct rtdm_fd *fd,
-                           const struct msghdr *msg, int flags)
+                           const struct user_msghdr *msg, int flags)
 {
        struct rtipc_private *priv = rtdm_fd_to_private(fd);
        struct bufp_socket *sk = priv->state;
diff --git a/kernel/drivers/ipc/iddp.c b/kernel/drivers/ipc/iddp.c
index 1eac820..ed09f76 100644
--- a/kernel/drivers/ipc/iddp.c
+++ b/kernel/drivers/ipc/iddp.c
@@ -325,7 +325,7 @@ static ssize_t __iddp_recvmsg(struct rtdm_fd *fd,
 }
 
 static ssize_t iddp_recvmsg(struct rtdm_fd *fd,
-                           struct msghdr *msg, int flags)
+                           struct user_msghdr *msg, int flags)
 {
        struct iovec iov[RTIPC_IOV_MAX];
        struct sockaddr_ipc saddr;
@@ -466,7 +466,7 @@ fail:
 }
 
 static ssize_t iddp_sendmsg(struct rtdm_fd *fd,
-                           const struct msghdr *msg, int flags)
+                           const struct user_msghdr *msg, int flags)
 {
        struct rtipc_private *priv = rtdm_fd_to_private(fd);
        struct iddp_socket *sk = priv->state;
diff --git a/kernel/drivers/ipc/internal.h b/kernel/drivers/ipc/internal.h
index aeb7abd..6e20971 100644
--- a/kernel/drivers/ipc/internal.h
+++ b/kernel/drivers/ipc/internal.h
@@ -47,9 +47,9 @@ struct rtipc_protocol {
                int (*socket)(struct rtdm_fd *fd);
                void (*close)(struct rtdm_fd *fd);
                ssize_t (*recvmsg)(struct rtdm_fd *fd,
-                                  struct msghdr *msg, int flags);
+                                  struct user_msghdr *msg, int flags);
                ssize_t (*sendmsg)(struct rtdm_fd *fd,
-                                  const struct msghdr *msg, int flags);
+                                  const struct user_msghdr *msg, int flags);
                ssize_t (*read)(struct rtdm_fd *fd,
                                void *buf, size_t len);
                ssize_t (*write)(struct rtdm_fd *fd,
@@ -85,10 +85,10 @@ static inline void rtipc_ns_to_timeval(struct timeval *tv, 
nanosecs_rel_t ns)
 }
 
 int rtipc_get_iovec(struct rtdm_fd *fd, struct iovec *iov,
-                   const struct msghdr *msg);
+                   const struct user_msghdr *msg);
 
 int rtipc_put_iovec(struct rtdm_fd *fd, const struct iovec *iov,
-                   const struct msghdr *msg);
+                   const struct user_msghdr *msg);
 
 int rtipc_get_sockaddr(struct rtdm_fd *fd,
                       struct sockaddr_ipc **saddrp,
diff --git a/kernel/drivers/ipc/rtipc.c b/kernel/drivers/ipc/rtipc.c
index c09584f..77fc7dd 100644
--- a/kernel/drivers/ipc/rtipc.c
+++ b/kernel/drivers/ipc/rtipc.c
@@ -64,7 +64,7 @@ int rtipc_put_arg(struct rtdm_fd *fd, void *dst, const void 
*src, size_t len)
 }
 
 int rtipc_get_iovec(struct rtdm_fd *fd, struct iovec *iov,
-                   const struct msghdr *msg)
+                   const struct user_msghdr *msg)
 {
        size_t len = sizeof(iov[0]) * msg->msg_iovlen;
 
@@ -84,7 +84,7 @@ int rtipc_get_iovec(struct rtdm_fd *fd, struct iovec *iov,
 }
 
 int rtipc_put_iovec(struct rtdm_fd *fd, const struct iovec *iov,
-                   const struct msghdr *msg)
+                   const struct user_msghdr *msg)
 {
        size_t len = sizeof(iov[0]) * msg->msg_iovlen;
 
@@ -437,14 +437,14 @@ static void rtipc_close(struct rtdm_fd *fd)
 }
 
 static ssize_t rtipc_recvmsg(struct rtdm_fd *fd,
-                            struct msghdr *msg, int flags)
+                            struct user_msghdr *msg, int flags)
 {
        struct rtipc_private *priv = rtdm_fd_to_private(fd);
        return priv->proto->proto_ops.recvmsg(fd, msg, flags);
 }
 
 static ssize_t rtipc_sendmsg(struct rtdm_fd *fd,
-                            const struct msghdr *msg, int flags)
+                            const struct user_msghdr *msg, int flags)
 {
        struct rtipc_private *priv = rtdm_fd_to_private(fd);
        return priv->proto->proto_ops.sendmsg(fd, msg, flags);
diff --git a/kernel/drivers/ipc/xddp.c b/kernel/drivers/ipc/xddp.c
index e40f8b0..2923b69 100644
--- a/kernel/drivers/ipc/xddp.c
+++ b/kernel/drivers/ipc/xddp.c
@@ -331,7 +331,7 @@ out:
 }
 
 static ssize_t xddp_recvmsg(struct rtdm_fd *fd,
-                           struct msghdr *msg, int flags)
+                           struct user_msghdr *msg, int flags)
 {
        struct iovec iov[RTIPC_IOV_MAX];
        struct sockaddr_ipc saddr;
@@ -590,7 +590,7 @@ nostream:
 }
 
 static ssize_t xddp_sendmsg(struct rtdm_fd *fd,
-                           const struct msghdr *msg, int flags)
+                           const struct user_msghdr *msg, int flags)
 {
        struct rtipc_private *priv = rtdm_fd_to_private(fd);
        struct xddp_socket *sk = priv->state;
diff --git a/kernel/drivers/net/stack/ipv4/tcp/tcp.c 
b/kernel/drivers/net/stack/ipv4/tcp/tcp.c
index a270713..8bbb740 100644
--- a/kernel/drivers/net/stack/ipv4/tcp/tcp.c
+++ b/kernel/drivers/net/stack/ipv4/tcp/tcp.c
@@ -2037,7 +2037,7 @@ static ssize_t rt_tcp_write(struct rtdm_fd *fd, const 
void *buf, size_t nbyte)
 /***
  *  rt_tcp_recvmsg
  */
-static ssize_t rt_tcp_recvmsg(struct rtdm_fd *fd, struct msghdr *msg, int 
msg_flags)
+static ssize_t rt_tcp_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int 
msg_flags)
 {
     size_t len;
     void *buf;
@@ -2059,7 +2059,7 @@ static ssize_t rt_tcp_recvmsg(struct rtdm_fd *fd, struct 
msghdr *msg, int msg_fl
  *  rt_tcp_sendmsg
  */
 static ssize_t rt_tcp_sendmsg(struct rtdm_fd *fd,
-                             const struct msghdr *msg, int msg_flags)
+                             const struct user_msghdr *msg, int msg_flags)
 {
     size_t len;
     void *buf;
diff --git a/kernel/drivers/net/stack/ipv4/udp/udp.c 
b/kernel/drivers/net/stack/ipv4/udp/udp.c
index 3eaca64..01c9d8d 100644
--- a/kernel/drivers/net/stack/ipv4/udp/udp.c
+++ b/kernel/drivers/net/stack/ipv4/udp/udp.c
@@ -372,7 +372,7 @@ int rt_udp_ioctl(struct rtdm_fd *fd, unsigned int request, 
void *arg)
 /***
  *  rt_udp_recvmsg
  */
-ssize_t rt_udp_recvmsg(struct rtdm_fd *fd, struct msghdr *msg, int msg_flags)
+ssize_t rt_udp_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int 
msg_flags)
 {
     struct rtsocket     *sock = rtdm_fd_to_private(fd);
     size_t              len   = rt_iovec_len(msg->msg_iov, msg->msg_iovlen);
@@ -527,7 +527,7 @@ static int rt_udp_getfrag(const void *p, unsigned char *to,
 /***
  *  rt_udp_sendmsg
  */
-ssize_t rt_udp_sendmsg(struct rtdm_fd *fd, const struct msghdr *msg, int 
msg_flags)
+ssize_t rt_udp_sendmsg(struct rtdm_fd *fd, const struct user_msghdr *msg, int 
msg_flags)
 {
     struct rtsocket     *sock = rtdm_fd_to_private(fd);
     size_t              len   = rt_iovec_len(msg->msg_iov, msg->msg_iovlen);
diff --git a/kernel/drivers/net/stack/packet/af_packet.c 
b/kernel/drivers/net/stack/packet/af_packet.c
index faddd18..1e4c2be 100644
--- a/kernel/drivers/net/stack/packet/af_packet.c
+++ b/kernel/drivers/net/stack/packet/af_packet.c
@@ -281,7 +281,7 @@ static int rt_packet_ioctl(struct rtdm_fd *fd, unsigned int 
request, void *arg)
  *  rt_packet_recvmsg
  */
 static ssize_t
-rt_packet_recvmsg(struct rtdm_fd *fd, struct msghdr *msg, int msg_flags)
+rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags)
 {
     struct rtsocket     *sock = rtdm_fd_to_private(fd);
     size_t              len   = rt_iovec_len(msg->msg_iov, msg->msg_iovlen);
@@ -360,7 +360,7 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct msghdr *msg, 
int msg_flags)
  *  rt_packet_sendmsg
  */
 static ssize_t
-rt_packet_sendmsg(struct rtdm_fd *fd, const struct msghdr *msg, int msg_flags)
+rt_packet_sendmsg(struct rtdm_fd *fd, const struct user_msghdr *msg, int 
msg_flags)
 {
     struct rtsocket     *sock = rtdm_fd_to_private(fd);
     size_t              len   = rt_iovec_len(msg->msg_iov, msg->msg_iovlen);


_______________________________________________
Xenomai-git mailing list
Xenomai-git@xenomai.org
http://xenomai.org/mailman/listinfo/xenomai-git

Reply via email to