ppc: fix AT_VECTOR_SIZE on arch/ppc
authorGrant Likely <grant.likely@secretlab.ca>
Mon, 22 Oct 2007 22:38:32 +0000 (16:38 -0600)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 23 Oct 2007 02:18:54 +0000 (19:18 -0700)
Commit 4f9a58d75bfe82ab2b8ba5b8506dfb190a267834 ("increase
AT_VECTOR_SIZE to terminate saved_auxv properly") changes the size of
AT_VECTOR_SIZE from hard coded '44' to a calculation based on the value
of AT_VECTOR_SIZE_ARCH and AT_VECTOR_SIZE_BASE.

The change works for arch/powerpc, but it breaks arch/ppc because the
needed AT_VECTOR_SIZE_ARCH is not present in include/asm-ppc/system.h
and a default value of 0 is used instead.  This results in
AT_VECTOR_SIZE being too small and it causes a kernel crash on loading
init.

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
include/asm-ppc/system.h

index cc45780..51df94c 100644 (file)
@@ -33,6 +33,7 @@
 
 #define set_mb(var, value)     do { var = value; mb(); } while (0)
 
+#define AT_VECTOR_SIZE_ARCH 6 /* entries in ARCH_DLINFO */
 #ifdef CONFIG_SMP
 #define smp_mb()       mb()
 #define smp_rmb()      rmb()