[Xenomai-git] Philippe Gerum : net/packet: ioctl: remove direct references to user memory (3)
Module: xenomai-3 Branch: wip/rtnet-fixes Commit: c1a0dda31addf7e35d7a1a124f271cbf6b975310 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c1a0dda31addf7e35d7a1a124f271cbf6b975310 Author: Philippe GerumDate: Sun Jan 7 18:24:18 2018 +0100 net/packet: ioctl: remove direct references to user memory (3) --- kernel/drivers/net/stack/packet/af_packet.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/drivers/net/stack/packet/af_packet.c b/kernel/drivers/net/stack/packet/af_packet.c index 56daba8..9fa985d 100644 --- a/kernel/drivers/net/stack/packet/af_packet.c +++ b/kernel/drivers/net/stack/packet/af_packet.c @@ -305,7 +305,7 @@ static int rt_packet_ioctl(struct rtdm_fd *fd, unsigned int request, void __user * rt_packet_recvmsg */ static ssize_t -rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) +rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *u_msg, int msg_flags) { struct rtsocket *sock = rtdm_fd_to_private(fd); ssize_t len; @@ -314,11 +314,11 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) struct sockaddr_ll sll; intret, flags; nanosecs_rel_t timeout = sock->timeout; -struct user_msghdr _msg; +struct user_msghdr _msg, *msg; socklen_t namelen; struct iovec iov_fast[RTDM_IOV_FASTMAX], *iov; -msg = rtnet_get_arg(fd, &_msg, msg, sizeof(*msg)); +msg = rtnet_get_arg(fd, &_msg, u_msg, sizeof(_msg)); if (IS_ERR(msg)) return PTR_ERR(msg); @@ -364,12 +364,12 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) /* Ethernet specific - we rather need some parse handler here */ memcpy(sll.sll_addr, rtskb->mac.ethernet->h_source, ETH_ALEN); sll.sll_halen = ETH_ALEN; - ret = rtnet_put_arg(fd, >msg_name, , sizeof(sll)); + ret = rtnet_put_arg(fd, msg->msg_name, , sizeof(sll)); if (ret) goto fail; namelen = sizeof(sll); - ret = rtnet_put_arg(fd, >msg_namelen, , sizeof(namelen)); + ret = rtnet_put_arg(fd, _msg->msg_namelen, , sizeof(namelen)); if (ret) goto fail; } @@ -389,7 +389,7 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) if (copy_len > len) { copy_len = len; flags = msg->msg_flags | MSG_TRUNC; - ret = rtnet_put_arg(fd, >msg_flags, , sizeof(flags)); + ret = rtnet_put_arg(fd, _msg->msg_flags, , sizeof(flags)); if (ret) goto fail; } ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : net/packet: ioctl: remove direct references to user memory (3)
Module: xenomai-3 Branch: next Commit: 4c351e2e6b8b46155df03d877da4b45dcd35ae5f URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=4c351e2e6b8b46155df03d877da4b45dcd35ae5f Author: Philippe GerumDate: Sun Jan 7 18:24:18 2018 +0100 net/packet: ioctl: remove direct references to user memory (3) --- kernel/drivers/net/stack/packet/af_packet.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/drivers/net/stack/packet/af_packet.c b/kernel/drivers/net/stack/packet/af_packet.c index 56daba8..9fa985d 100644 --- a/kernel/drivers/net/stack/packet/af_packet.c +++ b/kernel/drivers/net/stack/packet/af_packet.c @@ -305,7 +305,7 @@ static int rt_packet_ioctl(struct rtdm_fd *fd, unsigned int request, void __user * rt_packet_recvmsg */ static ssize_t -rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) +rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *u_msg, int msg_flags) { struct rtsocket *sock = rtdm_fd_to_private(fd); ssize_t len; @@ -314,11 +314,11 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) struct sockaddr_ll sll; intret, flags; nanosecs_rel_t timeout = sock->timeout; -struct user_msghdr _msg; +struct user_msghdr _msg, *msg; socklen_t namelen; struct iovec iov_fast[RTDM_IOV_FASTMAX], *iov; -msg = rtnet_get_arg(fd, &_msg, msg, sizeof(*msg)); +msg = rtnet_get_arg(fd, &_msg, u_msg, sizeof(_msg)); if (IS_ERR(msg)) return PTR_ERR(msg); @@ -364,12 +364,12 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) /* Ethernet specific - we rather need some parse handler here */ memcpy(sll.sll_addr, rtskb->mac.ethernet->h_source, ETH_ALEN); sll.sll_halen = ETH_ALEN; - ret = rtnet_put_arg(fd, >msg_name, , sizeof(sll)); + ret = rtnet_put_arg(fd, msg->msg_name, , sizeof(sll)); if (ret) goto fail; namelen = sizeof(sll); - ret = rtnet_put_arg(fd, >msg_namelen, , sizeof(namelen)); + ret = rtnet_put_arg(fd, _msg->msg_namelen, , sizeof(namelen)); if (ret) goto fail; } @@ -389,7 +389,7 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) if (copy_len > len) { copy_len = len; flags = msg->msg_flags | MSG_TRUNC; - ret = rtnet_put_arg(fd, >msg_flags, , sizeof(flags)); + ret = rtnet_put_arg(fd, _msg->msg_flags, , sizeof(flags)); if (ret) goto fail; } ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : net/packet: ioctl: remove direct references to user memory (3)
Module: xenomai-3 Branch: next Commit: c5cbef0d9e60a1bec92cc34078811c2c1ac2ddc5 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=c5cbef0d9e60a1bec92cc34078811c2c1ac2ddc5 Author: Philippe GerumDate: Sun Jan 7 18:24:18 2018 +0100 net/packet: ioctl: remove direct references to user memory (3) --- kernel/drivers/net/stack/packet/af_packet.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/drivers/net/stack/packet/af_packet.c b/kernel/drivers/net/stack/packet/af_packet.c index 56daba8..9fa985d 100644 --- a/kernel/drivers/net/stack/packet/af_packet.c +++ b/kernel/drivers/net/stack/packet/af_packet.c @@ -305,7 +305,7 @@ static int rt_packet_ioctl(struct rtdm_fd *fd, unsigned int request, void __user * rt_packet_recvmsg */ static ssize_t -rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) +rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *u_msg, int msg_flags) { struct rtsocket *sock = rtdm_fd_to_private(fd); ssize_t len; @@ -314,11 +314,11 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) struct sockaddr_ll sll; intret, flags; nanosecs_rel_t timeout = sock->timeout; -struct user_msghdr _msg; +struct user_msghdr _msg, *msg; socklen_t namelen; struct iovec iov_fast[RTDM_IOV_FASTMAX], *iov; -msg = rtnet_get_arg(fd, &_msg, msg, sizeof(*msg)); +msg = rtnet_get_arg(fd, &_msg, u_msg, sizeof(_msg)); if (IS_ERR(msg)) return PTR_ERR(msg); @@ -364,12 +364,12 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) /* Ethernet specific - we rather need some parse handler here */ memcpy(sll.sll_addr, rtskb->mac.ethernet->h_source, ETH_ALEN); sll.sll_halen = ETH_ALEN; - ret = rtnet_put_arg(fd, >msg_name, , sizeof(sll)); + ret = rtnet_put_arg(fd, msg->msg_name, , sizeof(sll)); if (ret) goto fail; namelen = sizeof(sll); - ret = rtnet_put_arg(fd, >msg_namelen, , sizeof(namelen)); + ret = rtnet_put_arg(fd, _msg->msg_namelen, , sizeof(namelen)); if (ret) goto fail; } @@ -389,7 +389,7 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) if (copy_len > len) { copy_len = len; flags = msg->msg_flags | MSG_TRUNC; - ret = rtnet_put_arg(fd, >msg_flags, , sizeof(flags)); + ret = rtnet_put_arg(fd, _msg->msg_flags, , sizeof(flags)); if (ret) goto fail; } ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : net/packet: ioctl: remove direct references to user memory (3)
Module: xenomai-3 Branch: wip/rtnet-fixes Commit: 32a02d1c49b36aa21f70930359ab3ef4fd894823 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=32a02d1c49b36aa21f70930359ab3ef4fd894823 Author: Philippe GerumDate: Sun Jan 7 18:24:18 2018 +0100 net/packet: ioctl: remove direct references to user memory (3) --- kernel/drivers/net/stack/packet/af_packet.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/drivers/net/stack/packet/af_packet.c b/kernel/drivers/net/stack/packet/af_packet.c index 56daba8..9fa985d 100644 --- a/kernel/drivers/net/stack/packet/af_packet.c +++ b/kernel/drivers/net/stack/packet/af_packet.c @@ -305,7 +305,7 @@ static int rt_packet_ioctl(struct rtdm_fd *fd, unsigned int request, void __user * rt_packet_recvmsg */ static ssize_t -rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) +rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *u_msg, int msg_flags) { struct rtsocket *sock = rtdm_fd_to_private(fd); ssize_t len; @@ -314,11 +314,11 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) struct sockaddr_ll sll; intret, flags; nanosecs_rel_t timeout = sock->timeout; -struct user_msghdr _msg; +struct user_msghdr _msg, *msg; socklen_t namelen; struct iovec iov_fast[RTDM_IOV_FASTMAX], *iov; -msg = rtnet_get_arg(fd, &_msg, msg, sizeof(*msg)); +msg = rtnet_get_arg(fd, &_msg, u_msg, sizeof(_msg)); if (IS_ERR(msg)) return PTR_ERR(msg); @@ -364,12 +364,12 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) /* Ethernet specific - we rather need some parse handler here */ memcpy(sll.sll_addr, rtskb->mac.ethernet->h_source, ETH_ALEN); sll.sll_halen = ETH_ALEN; - ret = rtnet_put_arg(fd, >msg_name, , sizeof(sll)); + ret = rtnet_put_arg(fd, msg->msg_name, , sizeof(sll)); if (ret) goto fail; namelen = sizeof(sll); - ret = rtnet_put_arg(fd, >msg_namelen, , sizeof(namelen)); + ret = rtnet_put_arg(fd, _msg->msg_namelen, , sizeof(namelen)); if (ret) goto fail; } @@ -389,7 +389,7 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) if (copy_len > len) { copy_len = len; flags = msg->msg_flags | MSG_TRUNC; - ret = rtnet_put_arg(fd, >msg_flags, , sizeof(flags)); + ret = rtnet_put_arg(fd, _msg->msg_flags, , sizeof(flags)); if (ret) goto fail; } ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : net/packet: ioctl: remove direct references to user memory (3)
Module: xenomai-3 Branch: wip/rtnet-fixes Commit: 0ca6fbf5b52ef1d7d07488253a4cf10d4b9bca74 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=0ca6fbf5b52ef1d7d07488253a4cf10d4b9bca74 Author: Philippe GerumDate: Sun Jan 7 18:24:18 2018 +0100 net/packet: ioctl: remove direct references to user memory (3) --- kernel/drivers/net/stack/packet/af_packet.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/drivers/net/stack/packet/af_packet.c b/kernel/drivers/net/stack/packet/af_packet.c index 56daba8..9fa985d 100644 --- a/kernel/drivers/net/stack/packet/af_packet.c +++ b/kernel/drivers/net/stack/packet/af_packet.c @@ -305,7 +305,7 @@ static int rt_packet_ioctl(struct rtdm_fd *fd, unsigned int request, void __user * rt_packet_recvmsg */ static ssize_t -rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) +rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *u_msg, int msg_flags) { struct rtsocket *sock = rtdm_fd_to_private(fd); ssize_t len; @@ -314,11 +314,11 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) struct sockaddr_ll sll; intret, flags; nanosecs_rel_t timeout = sock->timeout; -struct user_msghdr _msg; +struct user_msghdr _msg, *msg; socklen_t namelen; struct iovec iov_fast[RTDM_IOV_FASTMAX], *iov; -msg = rtnet_get_arg(fd, &_msg, msg, sizeof(*msg)); +msg = rtnet_get_arg(fd, &_msg, u_msg, sizeof(_msg)); if (IS_ERR(msg)) return PTR_ERR(msg); @@ -364,12 +364,12 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) /* Ethernet specific - we rather need some parse handler here */ memcpy(sll.sll_addr, rtskb->mac.ethernet->h_source, ETH_ALEN); sll.sll_halen = ETH_ALEN; - ret = rtnet_put_arg(fd, >msg_name, , sizeof(sll)); + ret = rtnet_put_arg(fd, msg->msg_name, , sizeof(sll)); if (ret) goto fail; namelen = sizeof(sll); - ret = rtnet_put_arg(fd, >msg_namelen, , sizeof(namelen)); + ret = rtnet_put_arg(fd, _msg->msg_namelen, , sizeof(namelen)); if (ret) goto fail; } @@ -389,7 +389,7 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) if (copy_len > len) { copy_len = len; flags = msg->msg_flags | MSG_TRUNC; - ret = rtnet_put_arg(fd, >msg_flags, , sizeof(flags)); + ret = rtnet_put_arg(fd, _msg->msg_flags, , sizeof(flags)); if (ret) goto fail; } ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : net/packet: ioctl: remove direct references to user memory (3)
Module: xenomai-3 Branch: wip/rtnet-fixes Commit: a9e0c0a735ae23a58f05c1408e244a3f9cfdc910 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a9e0c0a735ae23a58f05c1408e244a3f9cfdc910 Author: Philippe GerumDate: Sun Jan 7 18:24:18 2018 +0100 net/packet: ioctl: remove direct references to user memory (3) --- kernel/drivers/net/stack/packet/af_packet.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/drivers/net/stack/packet/af_packet.c b/kernel/drivers/net/stack/packet/af_packet.c index 56daba8..9fa985d 100644 --- a/kernel/drivers/net/stack/packet/af_packet.c +++ b/kernel/drivers/net/stack/packet/af_packet.c @@ -305,7 +305,7 @@ static int rt_packet_ioctl(struct rtdm_fd *fd, unsigned int request, void __user * rt_packet_recvmsg */ static ssize_t -rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) +rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *u_msg, int msg_flags) { struct rtsocket *sock = rtdm_fd_to_private(fd); ssize_t len; @@ -314,11 +314,11 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) struct sockaddr_ll sll; intret, flags; nanosecs_rel_t timeout = sock->timeout; -struct user_msghdr _msg; +struct user_msghdr _msg, *msg; socklen_t namelen; struct iovec iov_fast[RTDM_IOV_FASTMAX], *iov; -msg = rtnet_get_arg(fd, &_msg, msg, sizeof(*msg)); +msg = rtnet_get_arg(fd, &_msg, u_msg, sizeof(_msg)); if (IS_ERR(msg)) return PTR_ERR(msg); @@ -364,12 +364,12 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) /* Ethernet specific - we rather need some parse handler here */ memcpy(sll.sll_addr, rtskb->mac.ethernet->h_source, ETH_ALEN); sll.sll_halen = ETH_ALEN; - ret = rtnet_put_arg(fd, >msg_name, , sizeof(sll)); + ret = rtnet_put_arg(fd, msg->msg_name, , sizeof(sll)); if (ret) goto fail; namelen = sizeof(sll); - ret = rtnet_put_arg(fd, >msg_namelen, , sizeof(namelen)); + ret = rtnet_put_arg(fd, _msg->msg_namelen, , sizeof(namelen)); if (ret) goto fail; } @@ -389,7 +389,7 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) if (copy_len > len) { copy_len = len; flags = msg->msg_flags | MSG_TRUNC; - ret = rtnet_put_arg(fd, >msg_flags, , sizeof(flags)); + ret = rtnet_put_arg(fd, _msg->msg_flags, , sizeof(flags)); if (ret) goto fail; } ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : net/packet: ioctl: remove direct references to user memory (3)
Module: xenomai-3 Branch: wip/rtnet-fixes Commit: 535352895bf22f8a1c28493e1f3d70ebfc6f70f2 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=535352895bf22f8a1c28493e1f3d70ebfc6f70f2 Author: Philippe GerumDate: Sun Jan 7 18:24:18 2018 +0100 net/packet: ioctl: remove direct references to user memory (3) --- kernel/drivers/net/stack/packet/af_packet.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/drivers/net/stack/packet/af_packet.c b/kernel/drivers/net/stack/packet/af_packet.c index 56daba8..9fa985d 100644 --- a/kernel/drivers/net/stack/packet/af_packet.c +++ b/kernel/drivers/net/stack/packet/af_packet.c @@ -305,7 +305,7 @@ static int rt_packet_ioctl(struct rtdm_fd *fd, unsigned int request, void __user * rt_packet_recvmsg */ static ssize_t -rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) +rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *u_msg, int msg_flags) { struct rtsocket *sock = rtdm_fd_to_private(fd); ssize_t len; @@ -314,11 +314,11 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) struct sockaddr_ll sll; intret, flags; nanosecs_rel_t timeout = sock->timeout; -struct user_msghdr _msg; +struct user_msghdr _msg, *msg; socklen_t namelen; struct iovec iov_fast[RTDM_IOV_FASTMAX], *iov; -msg = rtnet_get_arg(fd, &_msg, msg, sizeof(*msg)); +msg = rtnet_get_arg(fd, &_msg, u_msg, sizeof(_msg)); if (IS_ERR(msg)) return PTR_ERR(msg); @@ -364,12 +364,12 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) /* Ethernet specific - we rather need some parse handler here */ memcpy(sll.sll_addr, rtskb->mac.ethernet->h_source, ETH_ALEN); sll.sll_halen = ETH_ALEN; - ret = rtnet_put_arg(fd, >msg_name, , sizeof(sll)); + ret = rtnet_put_arg(fd, msg->msg_name, , sizeof(sll)); if (ret) goto fail; namelen = sizeof(sll); - ret = rtnet_put_arg(fd, >msg_namelen, , sizeof(namelen)); + ret = rtnet_put_arg(fd, _msg->msg_namelen, , sizeof(namelen)); if (ret) goto fail; } @@ -389,7 +389,7 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) if (copy_len > len) { copy_len = len; flags = msg->msg_flags | MSG_TRUNC; - ret = rtnet_put_arg(fd, >msg_flags, , sizeof(flags)); + ret = rtnet_put_arg(fd, _msg->msg_flags, , sizeof(flags)); if (ret) goto fail; } ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git
[Xenomai-git] Philippe Gerum : net/packet: ioctl: remove direct references to user memory (3)
Module: xenomai-3 Branch: wip/rtnet-fixes Commit: beb05e1ab310cb9ca54e685adf8fbfb3b6797308 URL: http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=beb05e1ab310cb9ca54e685adf8fbfb3b6797308 Author: Philippe GerumDate: Sun Jan 7 18:24:18 2018 +0100 net/packet: ioctl: remove direct references to user memory (3) --- kernel/drivers/net/stack/packet/af_packet.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/kernel/drivers/net/stack/packet/af_packet.c b/kernel/drivers/net/stack/packet/af_packet.c index 56daba8..9fa985d 100644 --- a/kernel/drivers/net/stack/packet/af_packet.c +++ b/kernel/drivers/net/stack/packet/af_packet.c @@ -305,7 +305,7 @@ static int rt_packet_ioctl(struct rtdm_fd *fd, unsigned int request, void __user * rt_packet_recvmsg */ static ssize_t -rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) +rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *u_msg, int msg_flags) { struct rtsocket *sock = rtdm_fd_to_private(fd); ssize_t len; @@ -314,11 +314,11 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) struct sockaddr_ll sll; intret, flags; nanosecs_rel_t timeout = sock->timeout; -struct user_msghdr _msg; +struct user_msghdr _msg, *msg; socklen_t namelen; struct iovec iov_fast[RTDM_IOV_FASTMAX], *iov; -msg = rtnet_get_arg(fd, &_msg, msg, sizeof(*msg)); +msg = rtnet_get_arg(fd, &_msg, u_msg, sizeof(_msg)); if (IS_ERR(msg)) return PTR_ERR(msg); @@ -364,12 +364,12 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) /* Ethernet specific - we rather need some parse handler here */ memcpy(sll.sll_addr, rtskb->mac.ethernet->h_source, ETH_ALEN); sll.sll_halen = ETH_ALEN; - ret = rtnet_put_arg(fd, >msg_name, , sizeof(sll)); + ret = rtnet_put_arg(fd, msg->msg_name, , sizeof(sll)); if (ret) goto fail; namelen = sizeof(sll); - ret = rtnet_put_arg(fd, >msg_namelen, , sizeof(namelen)); + ret = rtnet_put_arg(fd, _msg->msg_namelen, , sizeof(namelen)); if (ret) goto fail; } @@ -389,7 +389,7 @@ rt_packet_recvmsg(struct rtdm_fd *fd, struct user_msghdr *msg, int msg_flags) if (copy_len > len) { copy_len = len; flags = msg->msg_flags | MSG_TRUNC; - ret = rtnet_put_arg(fd, >msg_flags, , sizeof(flags)); + ret = rtnet_put_arg(fd, _msg->msg_flags, , sizeof(flags)); if (ret) goto fail; } ___ Xenomai-git mailing list Xenomai-git@xenomai.org https://xenomai.org/mailman/listinfo/xenomai-git