[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] linux-user/syscall.c: Let lv always match val i
From: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH] linux-user/syscall.c: Let lv always match val in do_getsockopt() |
Date: |
Thu, 14 Jan 2016 09:15:54 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 |
Le 14/01/2016 07:24, address@hidden a écrit :
> From: Chen Gang <address@hidden>
>
> After host_to_target_sock_type(), the length of val may be changed, so
> calculate the related lv, too.
>
> Signed-off-by: Chen Gang <address@hidden>
> ---
> linux-user/syscall.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index fcdca2a..0e95f35 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -1841,6 +1841,7 @@ static abi_long do_getsockopt(int sockfd, int level,
> int optname,
> return ret;
> if (optname == SO_TYPE) {
> val = host_to_target_sock_type(val);
> + lv = (val >> 8) ? 4 : 1;
It seems the kernel always returns sizeof(int) (for all archs), what is
the aim of reducing the size ?
> }
> if (len > lv)
> len = lv;
>