1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-04 12:52:15 +00:00
freebsd/sys/amd64/linux32
Konstantin Belousov 77185f473b linux_sigreturn() loads the struct trapframe from l_sigcontext
members, thus making a signed extension of 32 bit register
context. If the register is not touched in usermode between
return from signal and next syscall entry, the sign-extension
part of 64bit register is not cleared, causing
linux32_fetch_syscall_args() to read wrong values.

Use unsigned type for the registers in the linux sigcontext.

Reported by:	Jacob Frelinger <jacob.frelinger duke edu>, arundel
In collaboration with:	dchagin
MFC after:	1 week
2011-01-27 21:45:38 +00:00
..
linux32_dummy.c Implement robust futexes. Most of the code is modelled after 2008-05-13 20:01:27 +00:00
linux32_genassym.c Segment registers are stored in the uc_mcontext member of the struct 2008-09-07 16:39:21 +00:00
linux32_ipc64.h
linux32_locore.s Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
linux32_machdep.c Add macro to test the sv_flags of any process. Change some places to test 2011-01-26 20:03:58 +00:00
linux32_proto.h Regen. 2010-10-08 07:19:05 +00:00
linux32_support.s
linux32_syscall.h Regen. 2010-10-08 07:19:05 +00:00
linux32_sysent.c Regen. 2010-10-08 07:19:05 +00:00
linux32_sysvec.c Remove redundant, bogus, and even harmful uses of setting TS bit in CR0. 2011-01-14 21:09:01 +00:00
linux.h linux_sigreturn() loads the struct trapframe from l_sigcontext 2011-01-27 21:45:38 +00:00
Makefile
syscalls.conf
syscalls.master Fix typo. 2010-10-08 07:18:44 +00:00