[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] linux-user: shmctl() should ignore IPC_64
From: |
Riku Voipio |
Subject: |
Re: [Qemu-devel] [PATCH] linux-user: shmctl() should ignore IPC_64 |
Date: |
Thu, 11 Jun 2009 00:41:02 +0300 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Tue, Jun 02, 2009 at 12:32:37AM +0200, Laurent Vivier wrote:
> This has been detected trying to use "dbench" with m68k-linux-user/qemu-m68k
> where
> "shmctl()" is called with "IPC_RMID | IPC_64".
>
> IPC_64 is useless with IPC_RMID, SHM_LOCK, SHM_UNLOCK
> (as the only parameter is the id without shmid_ds) and
> already ignored with semctl() and msgctl().
>
> Signed-off-by: Laurent Vivier <address@hidden>
> ---
> linux-user/syscall.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index b1bba48..c3d1d73 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -2539,11 +2539,11 @@ static abi_long do_ipc(unsigned int call, int first,
>
> /* IPC_* and SHM_* command values are the same on all linux platforms */
> case IPCOP_shmctl:
> - switch(second) {
> + switch(second & 0xff) {
This appears to be also taken care in this old patch
where shmctl was moved to do_shmctl()
https://git.maemo.org/projects/qemu/gitweb?p=qemu;a=commitdiff;h=d1f365ccd0615c57d2869d33fb5e0637b3623b64
> case IPC_RMID:
> case SHM_LOCK:
> case SHM_UNLOCK:
> - ret = get_errno(shmctl(first, second, NULL));
> + ret = get_errno(shmctl(first, second & 0xff, NULL));
> break;
> default:
> goto unimplemented;
> --
> 1.5.6.5
>
>