Re: PPC64 AT_IGNOREPPC question
From: Paul Mackerras
Date: Sun Sep 09 2007 - 16:48:16 EST
Vitaly Mayatskikh writes:
> include/asm-powerpc/elf.h:289
>
> Why we need the second AT_IGNOREPPC entry here?
>
> There is a mm_struct->saved_auxv overflow on PPC64 with AT_VECTOR_SIZE
> == 44 (may be on PPC32 too, not checked) when adding all entries to
> it. I've removed the second AT_IGNOREPCC from ARCH_DLINFO to prevent
> overflowing, checked it on IBM OpenPower 720 and a system (Fedora 7) is
> going on as well. Have I missed some tricky thing?
In the past, ppc32 kernels used to round up the address of the end of
the environment pointers to a multiple of 16 before writing the aux
vector, which meant that that was where userspace looked for it. When
the rounding was removed in the kernel, we arranged to put in the two
AT_IGNOREPPC entries so that old binaries would still be able to find
the aux vector.
I'll have to check when that change was done and decide whether we can
now take out the AT_IGNOREPPC entries. If not it sounds like we need
to expand AT_VECTOR_SIZE.
Paul.
-
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/