Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jul 2010 02:32:21 +0000 (UTC)
From:      Juli Mallett <jmallett@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/mips/mips pm_machdep.c trap.c
Message-ID:  <201007290232.o6T2Wh4U078629@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jmallett    2010-07-29 02:32:21 UTC

  FreeBSD src repository

  Modified files:
    sys/mips/mips        pm_machdep.c trap.c 
  Log:
  SVN rev 210595 on 2010-07-29 02:32:21Z by jmallett
  
  o) Subtract 64K from the default userland stack pointer.  GCC generate code
     that with a 32-bit ABI on a system with 64-bit registers can attempt to
     access an invalid (well, kernel) memory address rather than the intended
     user address for stack-relative loads and stores.  Lowering the stack
     pointer works around this. [1]
  o) Make TRAP_DEBUG code conditional on the trap_debug variable.  Make
     trap_debug default to 0 instead of 1 now but make it possible to change it
     at runtime using sysctl.
  o) Kill programs that attempt an unaligned access of a kernel address.  Note
     that with some ABIs, calling useracc() is not sufficient since the register
     may be 64-bit but vm_offset_t is 32-bit so a kernel address could be
     truncated to what looks like a valid user address, allowing the user to
     crash the kernel.
  o) Clean up unaligned access emulation to support unaligned 16-bit and 64-bit
     accesses.  (For 16-bit accesses it was checking for user access to too much
     memory (4 bytes) and there was no 64-bit support.)  This still lacks support
     for unaligned load-linked and store-conditional.
  
  Reviewed by:    [1] gonzo
  
  Revision  Changes    Path
  1.10      +29 -1     src/sys/mips/mips/pm_machdep.c
  1.18      +97 -64    src/sys/mips/mips/trap.c



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