Re: [patch] ipc: unbreak 32-bit shmctl/semctl/msgctl

From: Johannes Weiner
Date: Sun Jun 21 2009 - 15:05:11 EST


On Sat, Jun 20, 2009 at 08:20:56AM +0000, Arnd Bergmann wrote:
> On Saturday 20 June 2009 01:09:39 am Johannes Weiner wrote:
> > 31a985f "ipc: use __ARCH_WANT_IPC_PARSE_VERSION in ipc/util.h" would
> > choose the implementation of ipc_parse_version() based on a symbol
> > defined in <asm/unistd.h>.
> >
> > But it failed to also include this header and thus broke
> > IPC_64-passing 32-bit userspace because the flag wasn't masked out
> > properly anymore and the command not understood.
> >
> > Include <linux/unistd.h> to give the architecture a chance to ask for
> > the no-no-op ipc_parse_version().
> >
> > Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
>
> Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
>
> Obviously fixes the bug I introduced, sorry for the trouble and thanks
> for fixing it!

Linus, could you apply this patch?

OTOH, breaking mplayer on x86_32 is probably the way to push 64-bit as
the driving factor in adoption of new technology seems to be porn.

Hannes

---
From: Johannes Weiner <hannes@xxxxxxxxxxx>
Date: Sat, 20 Jun 2009 02:23:29 +0200
Subject: [PATCH] ipc: unbreak 32-bit shmctl/semctl/msgctl

31a985f "ipc: use __ARCH_WANT_IPC_PARSE_VERSION in ipc/util.h" would
choose the implementation of ipc_parse_version() based on a symbol
defined in <asm/unistd.h>.

But it failed to also include this header and thus broke
IPC_64-passing 32-bit userspace because the flag wasn't masked out
properly anymore and the command not understood.

Include <linux/unistd.h> to give the architecture a chance to ask for
the no-no-op ipc_parse_version().

Signed-off-by: Johannes Weiner <hannes@xxxxxxxxxxx>
Acked-by: Arnd Bergmann <arnd@xxxxxxxx>
---
ipc/util.h | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/ipc/util.h b/ipc/util.h
index ab3ebf2..764b51a 100644
--- a/ipc/util.h
+++ b/ipc/util.h
@@ -10,6 +10,7 @@
#ifndef _IPC_UTIL_H
#define _IPC_UTIL_H

+#include <linux/unistd.h>
#include <linux/err.h>

#define SEQ_MULTIPLIER (IPCMNI)
--
1.6.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/