|
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 > > |
[Prev in Thread] | Current Thread | [Next in Thread] |