Revision fc3d1bad1edf08871275cf469a64e12dae4eba96 authored by Brad Smith on 19 October 2018, 12:52:39 UTC, committed by Peter Maydell on 06 November 2018, 10:52:23 UTC
Use MAP_STACK in qemu_alloc_stack() on OpenBSD.

Added to our 6.4 release.

MAP_STACK      Indicate that the mapping is used as a stack.  This
               flag must be used in combination with MAP_ANON and
               MAP_PRIVATE.

Implement MAP_STACK option for mmap().  Synchronous faults (pagefault and
syscall) confirm the stack register points at MAP_STACK memory, otherwise
SIGSEGV is delivered. sigaltstack() and pthread_attr_setstack() are modified
to create a MAP_STACK sub-region which satisfies alignment requirements.
Observe that MAP_STACK can only be set/cleared by mmap(), which zeroes the
contents of the region -- there is no mprotect() equivalent operation, so
there is no MAP_STACK-adding gadget.

Signed-off-by: Brad Smith <brad@comstyle.com>
Reviewed-by: Kamil Rytarowski <n54@gmx.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20181019125239.GA13884@humpty.home.comstyle.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
1 parent 03c1ca1
History
File Mode Size
can
Makefile.objs -rw-r--r-- 821 bytes
checksum.c -rw-r--r-- 5.1 KB
clients.h -rw-r--r-- 2.5 KB
colo-compare.c -rw-r--r-- 34.3 KB
colo-compare.h -rw-r--r-- 785 bytes
colo.c -rw-r--r-- 5.8 KB
colo.h -rw-r--r-- 3.4 KB
dump.c -rw-r--r-- 7.0 KB
eth.c -rw-r--r-- 15.9 KB
filter-buffer.c -rw-r--r-- 6.3 KB
filter-mirror.c -rw-r--r-- 12.1 KB
filter-replay.c -rw-r--r-- 2.6 KB
filter-rewriter.c -rw-r--r-- 13.4 KB
filter.c -rw-r--r-- 7.9 KB
hub.c -rw-r--r-- 8.6 KB
hub.h -rw-r--r-- 705 bytes
l2tpv3.c -rw-r--r-- 19.5 KB
net.c -rw-r--r-- 45.5 KB
netmap.c -rw-r--r-- 12.4 KB
queue.c -rw-r--r-- 8.0 KB
slirp.c -rw-r--r-- 26.8 KB
socket.c -rw-r--r-- 21.8 KB
tap-bsd.c -rw-r--r-- 6.4 KB
tap-linux.c -rw-r--r-- 8.3 KB
tap-linux.h -rw-r--r-- 1.8 KB
tap-solaris.c -rw-r--r-- 6.7 KB
tap-stub.c -rw-r--r-- 2.1 KB
tap-win32.c -rw-r--r-- 23.3 KB
tap.c -rw-r--r-- 26.8 KB
tap_int.h -rw-r--r-- 2.0 KB
trace-events -rw-r--r-- 1.1 KB
util.c -rw-r--r-- 1.9 KB
util.h -rw-r--r-- 1.3 KB
vde.c -rw-r--r-- 3.6 KB
vhost-user.c -rw-r--r-- 11.4 KB

back to top