[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: |
Laurent Vivier |
Subject: |
Re: [Qemu-devel] [PATCH] linux-user: shmctl() should ignore IPC_64 |
Date: |
Thu, 11 Jun 2009 00:18:08 +0200 |
Le jeudi 11 juin 2009 à 00:41 +0300, Riku Voipio a écrit :
> 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
Why it is not in qemu original git tree ?
>
> > 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;
> > --
If no patch to solve this is applied soon, I will resend mine... :-P
Regards,
Laurent
--
--------------------- address@hidden ----------------------
"Tout ce qui est impossible reste à accomplir" Jules Verne
"Things are only impossible until they're not" Jean-Luc Picard