summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_timer.c
diff options
context:
space:
mode:
authorjmallett <jmallett@FreeBSD.org>2010-07-29 02:32:21 +0000
committerjmallett <jmallett@FreeBSD.org>2010-07-29 02:32:21 +0000
commitce09b77dffc110690f8cc8729e3ad2da62d90415 (patch)
tree3d30464b5797d4a0d1356071e6106a87e7321687 /sys/netinet/sctp_timer.c
parentb6b6deae713ea8abc1a351f07286e1bf6d574179 (diff)
downloadFreeBSD-src-ce09b77dffc110690f8cc8729e3ad2da62d90415.zip
FreeBSD-src-ce09b77dffc110690f8cc8729e3ad2da62d90415.tar.gz
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
Diffstat (limited to 'sys/netinet/sctp_timer.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud