[PATCH] recvmsg() sendmsg() linux emulation
Alexander Leidinger
Alexander at Leidinger.net
Thu Sep 18 07:56:12 UTC 2008
Quoting "Chagin Dmitry" <dchagin at freebsd.org> (from Wed, 17 Sep 2008
23:02:30 +0400):
> On Wed, Sep 17, 2008 at 10:38:01PM +0400, Chagin Dmitry wrote:
>>
>> Please review, any comment will be helpful.
I did just a very quick look...
> @@ -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);
You've lost the error handling in the conditional.
Bye,
Alexander.
--
BOFH excuse #266:
All of the packets are empty
http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
More information about the freebsd-net
mailing list