[TRIVIAL] ppc64 shmget() translation bugfix
From: David Gibson (david_at_gibson.dropbear.id.au)
Date: 04/30/04
- Previous message: Nick Piggin: "Re: ~500 megs cached yet 2.6.5 goes into swap hell"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Fri, 30 Apr 2004 15:33:43 +1000 To: Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>
Linus, please apply:
The 32->64 bit syscall translation layer on ppc64 incorrectly
sign-extends rather than zero-extending the second parameter to
shmget(), which should be a size_t. This means that it is impossible
to shmget() more 2GB or more from a 32-bit process.
Index: working-2.6/arch/ppc64/kernel/sys_ppc32.c
===================================================================
--- working-2.6.orig/arch/ppc64/kernel/sys_ppc32.c 2004-03-31 11:10:09.000000000 +1000
+++ working-2.6/arch/ppc64/kernel/sys_ppc32.c 2004-04-30 15:18:51.421878128 +1000
@@ -1666,7 +1666,7 @@
err = sys_shmdt((char *)AA(ptr));
break;
case SHMGET:
- err = sys_shmget(first, second, third);
+ err = sys_shmget(first, second_parm, third);
break;
case SHMCTL:
err = do_sys32_shmctl(first, second, (void *)AA(ptr));
-- David Gibson | For every complex problem there is a david AT gibson.dropbear.id.au | solution which is simple, neat and | wrong. http://www.ozlabs.org/people/dgibson - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
- Previous message: Nick Piggin: "Re: ~500 megs cached yet 2.6.5 goes into swap hell"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]