cvs commit: src/sys/amd64/linux32 linux32_sysvec.c src/sys/compat/ia32 ia32_sysvec.c src/sys/kern imgact_elf.c kern_exec.c kern_resource.c src/sys/sys sysent.h

John Baldwin jhb at FreeBSD.org
Mon May 14 22:40:06 UTC 2007


jhb         2007-05-14 22:40:04 UTC

  FreeBSD src repository

  Modified files:
    sys/amd64/linux32    linux32_sysvec.c 
    sys/compat/ia32      ia32_sysvec.c 
    sys/kern             imgact_elf.c kern_exec.c kern_resource.c 
    sys/sys              sysent.h 
  Log:
  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
  
  Revision  Changes    Path
  1.29      +28 -34    src/sys/amd64/linux32/linux32_sysvec.c
  1.24      +28 -30    src/sys/compat/ia32/ia32_sysvec.c
  1.178     +1 -1      src/sys/kern/imgact_elf.c
  1.303     +0 -9      src/sys/kern/kern_exec.c
  1.170     +4 -6      src/sys/kern/kern_resource.c
  1.54      +2 -2      src/sys/sys/sysent.h


More information about the cvs-all mailing list