On Wed, Sep 17, 2008 at 10:38:01PM +0400, Chagin Dmitry wrote:
Please review, any comment will be helpful.
@@ -978,9 +1072,13 @@ linux_sendmsg(struct thread *td, struct
linux_sendmsg_args *args)
*/
if (msg.msg_control != NULL && msg.msg_controllen == 0)
msg.msg_control = NULL;
+
+#if defined(__amd64__) && defined(COMPAT_LINUX32)
+ error = linux32_copyiniov(PTRIN(msg.msg_iov), msg.msg_iovlen,
+ &iov, EMSGSIZE);
+#else
error = copyiniov(msg.msg_iov, msg.msg_iovlen, &iov, EMSGSIZE);
- if (error)
- return (error);
+#endif
msg.msg_iov = iov;
msg.msg_flags = 0;
error = linux_sendit(td, args->s, &msg, args->flags, UIO_USERSPACE);