On 6 January 2014 17:07, Laurent Vivier <laur...@vivier.eu> wrote: > >> Le 6 janvier 2014 à 17:15, André Hentschel <n...@dawncrow.de> a écrit : >> >> >> From: André Hentschel <n...@dawncrow.de> >> Cc: Riku Voipio <riku.voi...@iki.fi> >> Signed-off-by: André Hentschel <n...@dawncrow.de> >> --- >> 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.
It's not required for correctness (since get_user_ual always does an abi_ulong sized access of guest memory regardless of the size of its first argument) but I think it would be clearer, yes. thanks -- PMM