freebsd-dev/sys/compat/ia32
John Baldwin 19059a13ed Rework the support for ABIs to override resource limits (used by 32-bit
processes under 64-bit kernels).  Previously, each 32-bit process overwrote
its resource limits at exec() time.  The problem with this approach is that
the new limits affect all child processes of the 32-bit process, including
if the child process forks and execs a 64-bit process.  To fix this, don't
ovewrite the resource limits during exec().  Instead, sv_fixlimits() is
now replaced with a different function sv_fixlimit() which asks the ABI to
sanitize a single resource limit.  We then use this when querying and
setting resource limits.  Thus, if a 32-bit process sets a limit, then
that new limit will be inherited by future children.  However, if the
32-bit process doesn't change a limit, then a future 64-bit child will
see the "full" 64-bit limit rather than the 32-bit limit.

MFC is tentative since it will break the ABI of old linux.ko modules (no
other modules are affected).

MFC after:	1 week
2007-05-14 22:40:04 +00:00
..
ia32_genassym.c Move some declaration of 32-bit signal structures into file 2006-10-05 01:56:11 +00:00
ia32_reg.h Jumbo-commit to enhance 32 bit application support on 64 bit kernels. 2005-06-30 07:49:22 +00:00
ia32_signal.h Move some declaration of 32-bit signal structures into file 2006-10-05 01:56:11 +00:00
ia32_sysvec.c Rework the support for ABIs to override resource limits (used by 32-bit 2007-05-14 22:40:04 +00:00
ia32_util.h Assimilate ia64 back into the fold with the common freebsd32/ia32 code. 2003-12-11 01:05:09 +00:00