qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2] linux-user: Support the accept4 socketcall


From: Laurent Vivier
Subject: Re: [Qemu-devel] [PATCH v2] linux-user: Support the accept4 socketcall
Date: Mon, 6 Jan 2014 18:07:35 +0100 (CET)


> Le 6 janvier 2014 à 17:15, André Hentschel <address@hidden> a écrit :
>
>
> From: André Hentschel <address@hidden>
> Cc: Riku Voipio <address@hidden>
> Signed-off-by: André Hentschel <address@hidden>
> ---
> See https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/net.h for the value.
>
> linux-user/syscall.c | 16 ++++++++++++++++
> linux-user/syscall_defs.h | 1 +
> 2 files changed, 17 insertions(+)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index efd1453..1a848a6 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -2245,6 +2245,22 @@ static abi_long do_socketcall(int num, abi_ulong vptr)
> ret = do_accept4(sockfd, target_addr, target_addrlen, 0);
> }
> break;
> + case SOCKOP_accept4:
> + {
> + abi_ulong sockfd;
> + abi_ulong target_addr, target_addrlen;
> + int flags;
> +
> + if (get_user_ual(sockfd, vptr)
> + || get_user_ual(target_addr, vptr + n)
> + || get_user_ual(target_addrlen, vptr + 2 * n)
> + || get_user_ual(flags, vptr + 3 * n)) {
 
I'm not sure, but I think as get_user_ual() get an abi_ulong, flags should be an abi_ulong. Peter ?

> + return -TARGET_EFAULT;
> + }
> +
> + ret = do_accept4(sockfd, target_addr, target_addrlen, flags);
> + }
> + break;
> case SOCKOP_getsockname:
> {
> abi_ulong sockfd;
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index cf08db5..ae30476 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
> @@ -27,6 +27,7 @@
> #define SOCKOP_getsockopt 15
> #define SOCKOP_sendmsg 16
> #define SOCKOP_recvmsg 17
> +#define SOCKOP_accept4 18
>
> #define IPCOP_semop 1
> #define IPCOP_semget 2
> --
> 1.8.1.2
>
>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]