qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v5 5/8] linux-user: Fix msgrcv() and msgsnd() sy


From: Aleksandar Markovic
Subject: Re: [Qemu-devel] [PATCH v5 5/8] linux-user: Fix msgrcv() and msgsnd() syscalls support
Date: Mon, 19 Sep 2016 19:05:04 +0000

Hello, Lorain.

I really appreciate your reviewing these patches. This was a great opportunity 
for me to learn a lot. I will address all your concerns about this series in 
its next version, which is planned to be posted by the end of this week. 
Regarding another series on Mips-specific issues, its v7 was posted on 
qemu-devel today.

Thanks,
Aleksandar

________________________________________
From: Laurent Vivier address@hidden
Sent: Saturday, September 17, 2016 4:43 PM
To: Aleksandar Markovic; address@hidden; address@hidden; address@hidden; Petar 
Jovanovic; Miodrag Dinic; Aleksandar Rikalo; Aleksandar Markovic
Subject: Re: [Qemu-devel] [PATCH v5 5/8] linux-user: Fix msgrcv() and msgsnd() 
syscalls support

Le 14/09/2016 à 22:19, Aleksandar Markovic a écrit :
> From: Aleksandar Markovic <address@hidden>
>
> If syscalls msgrcv() and msgsnd() fail, they return E2BIG, EACCES,
> EAGAIN, EFAULT, EIDRM, EINTR, EINVAL, ENOMEM, or ENOMSG.
>
> By examining negative scenarios of these syscalls for Mips, it was
> established that ENOMSG does not have the same value accross all
> platforms, but it is nevertheless not included for conversion in
> the correspondant conversion table defined in linux-user/syscall.c.
> This is certainly a bug, since it leads to the incorrect emulation
> of msgrcv() and msgsnd() for scenarios involving ENOMSG.
>
> This patch fixes this by extending the conversion table to include
> ENOMSG.
>
> Also, LTP test msgrcv04 will be fixed for some platforms.
>
> Signed-off-by: Aleksandar Markovic <address@hidden>

Reviewed-by: Laurent Vivier <address@hidden>

> ---
>  linux-user/syscall.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 7f8ae41..bdc12ae 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -750,6 +750,9 @@ static uint16_t 
> host_to_target_errno_table[ERRNO_TABLE_SIZE] = {
>  #ifdef ENOTRECOVERABLE
>      [ENOTRECOVERABLE]        = TARGET_ENOTRECOVERABLE,
>  #endif
> +#ifdef ENOMSG
> +    [ENOMSG]            = TARGET_ENOMSG,
> +#endif
>  };
>
>  static inline int host_to_target_errno(int err)
>



reply via email to

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