[PATCH 0/4] no MAX_ARG_PAGES

Peter Zijlstra
2007-06-05T15:15:24Z

This patch-set aims at removing the current limit on argv+env space aka.
MAX_ARG_PAGES.

The new mm is created before the binfmt code runs, the stack is placed at the
highest address supported by that architecture.

The argv+env data is then copied from the old mm into the new mm (which is
inactive at that time - this introduces some cache coherency issues).

Then we run the binfmt code, which will compute the final stack address. The
existing stack will be moved downwards (or upwards on PA-RISC) to the desired
place.

This 'trick' heavily relies on the MMU, so for no-MMU archs we stay with the
old approach.

Tested-on: i386, ia64, frv, parisc, ppc64, um, x86_64

Patches against: .22-rc4

--
Changes since last time:

- fixed ia64
( va-space constraints )

- fixed ia64 CONFIG_IA32_SUPPORT
( brown paper bags and more va-space constraints)

- fixed powerpc
( address limit on stack extention )

- removed audit_kill() in favour of audit_panic()

- nicely spit out the patches