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
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 |
Computing file changes ...