opnsense-src/sys/amd64
Konstantin Belousov a37d4032ed Improve the lcall $7,$0 syscall emulation on amd64.
Current code, which copies the potential syscall arguments into the
current frame, puts an arbitrary limit on the number of syscall
arguments.  Apparently, mmap(2) and lseek(2) (?) require larger
number.  But there is an issue that stack is only need to be mapped to
contain the number of arguments required by the syscall, so copying
arbitrary large number of words from the stack is not completely safe.

Use different approach to convert lcall frame into int $0x80 frame in
place, by doing the retl in kernel.  This also allows to stop proceed
vfork case specially, and stop making assumptions about %cs at the
syscall time.

Also, improve comments with the formulations provided by bde.

Reviewed and tested by:	bde
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2018-03-24 12:57:58 +00:00
..
acpica Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
amd64 Fixes for ptrace(PT_GETXSTATE_INFO) related to the padding in struct 2018-03-22 20:44:27 +00:00
cloudabi32 Use TO_PTR() to convert integers to pointers. 2017-11-26 14:45:56 +00:00
cloudabi64 Use TO_PTR() to convert integers to pointers. 2017-11-26 14:45:56 +00:00
conf Make the TCP blackbox code committed in r331347 be an optional feature 2018-03-24 12:48:10 +00:00
ia32 Improve the lcall $7,$0 syscall emulation on amd64. 2018-03-24 12:57:58 +00:00
include Move the CR0.WP manipulation KPI to x86. 2018-03-20 20:20:49 +00:00
linux Remove redundant cast from Linuxulator SYSINITs 2018-03-23 20:32:54 +00:00
linux32 Remove redundant cast from Linuxulator SYSINITs 2018-03-23 20:32:54 +00:00
pci sys/amd64: further adoption of SPDX licensing ID tags. 2017-11-27 15:03:07 +00:00
sgx Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
vmm Fix a lock recursion introduced in r327065. 2018-03-07 18:03:22 +00:00
Makefile Bring the tags and links entries for amd64 up to date. 2015-10-27 22:59:24 +00:00