Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Jul 2000 23:49:48 -0700 (PDT)
From:      Brian Feldman <green@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/kern imgact_elf.c
Message-ID:  <200007230649.XAA77168@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
green       2000/07/22 23:49:48 PDT

  Modified files:
    sys/kern             imgact_elf.c 
  Log:
  Solve the problem where it is possible to get the kernel stuck in
  a loop down in pmap_init_pt().  A subtraction causes the number of
  pages to become negative, that was assigned to an unsigned variable,
  and there is a lot of iteration.  The bug is due to the ELF image
  activator not properly checking for its files being the correct size
  as specified by the ELF header.
  
  The solution is to check that the header doesn't ask for part of a
  file when that part of the file doesn't exist.  Make sure to set
  VEXEC at the proper times to make the executables immutable (remove
  race conditions).  Also, the ELF format specifiies header entries
  that allow embedding of other executables (hence how ld-elf.so.1
  gets loaded, but not the same as loading shared libraries), so those
  executables need to be set VEXEC, too, so they're immutable.
  
  Reviewed by:	peter
  
  Revision  Changes    Path
  1.76      +32 -4     src/sys/kern/imgact_elf.c



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200007230649.XAA77168>