From: Laurent Vivier <laurent@vivier.eu>
To: Chen Gang <chengang@emindsoft.com.cn>, riku.voipio@iki.fi
Cc: peter.maydell@linaro.org, qemu-devel@nongnu.org, rth@twiddle.net
Subject: Re: [Qemu-devel] [PATCH] linux-user: syscall: Add SO_LINGER for setsockopt
Date: Fri, 8 Jan 2016 10:57:24 +0100 [thread overview]
Message-ID: <568F8804.8080101@vivier.eu> (raw)
In-Reply-To: <568F8557.3000107@emindsoft.com.cn>
Le 08/01/2016 10:45, Chen Gang a écrit :
>
> On 2016年01月08日 16:38, Laurent Vivier wrote:
>>
>>> + if (!lock_user_struct(VERIFY_READ, tlg, optval_addr, 1)) {
>>> + return -TARGET_EFAULT;
>>> + }
>>> + __get_user(lg.l_onoff, &tlg->l_onoff);
>>> + __get_user(lg.l_linger, &tlg->l_linger);
>>> + unlock_user_struct(tlg, optval_addr, 0);
>>
>> You can't unlock the structure you're going to use.
>>
>
> OK, thanks.
>
>
>>> + return get_errno(setsockopt(sockfd, SOL_SOCKET, optname,
>>> + &lg, sizeof(lg)));
>>
>> Why do you use "SOL_SOCKET" instead of "level" ?
>>
>
> At present, level is TARGET_SOL_SOCKET, but we need SOL_SOCKET.
Yes, you're right... so there is a bug in TARGET_SO_BINDTODEVICE which
is using "level" :)
>
>
>>> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
>>> index 9d3c537..5a4d565 100644
>>> --- a/linux-user/syscall_defs.h
>>> +++ b/linux-user/syscall_defs.h
>>> @@ -165,6 +165,11 @@ struct target_ip_mreq_source {
>>> uint32_t imr_sourceaddr;
>>> };
>>>
>>> +struct target_linger {
>>> + int l_onoff; /* Linger active */
>>> + int l_linger; /* How long to linger for */
>>> +};
>>> +
>>
>> Must be "abi_int" to force good alignment for the target.
>>
>
> OK, thanks.
>
>
next prev parent reply other threads:[~2016-01-08 9:57 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-08 2:03 [Qemu-devel] [PATCH] linux-user: syscall: Add SO_LINGER for setsockopt chengang
2016-01-08 8:38 ` Laurent Vivier
2016-01-08 9:45 ` Chen Gang
2016-01-08 9:57 ` Laurent Vivier [this message]
2016-01-08 10:13 ` Chen Gang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=568F8804.8080101@vivier.eu \
--to=laurent@vivier.eu \
--cc=chengang@emindsoft.com.cn \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=riku.voipio@iki.fi \
--cc=rth@twiddle.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.