[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