qemu/include
Marc-André Lureau d83414e1fd ucontext: annotate coroutine stack for ASAN
It helps ASAN to detect more leaks on coroutine stacks, and to get rid
of some extra warnings.

Before:

tests/test-coroutine -p
/basic/lifecycle
/basic/lifecycle: ==20781==WARNING: ASan doesn't fully support
makecontext/swapcontext functions and may produce false positives in
some cases!
==20781==WARNING: ASan is ignoring requested __asan_handle_no_return:
stack top: 0x7ffcb184d000; bottom 0x7ff6c4cfd000; size: 0x0005ecb50000
(25446121472)
False positive error reports may follow
For details see https://github.com/google/sanitizers/issues/189
OK

After:

tests/test-coroutine -p /basic/lifecycle
/basic/lifecycle: ==21110==WARNING: ASan doesn't fully support
makecontext/swapcontext functions and may produce false positives in
some cases!
OK

A similar work would need to be done for sigaltstack & windows fibers
to have similar coverage. Since ucontext is preferred, I didn't bother
checking the other coroutine implementations for now.

Update travis to fix the build with ASAN annotations.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20180116151152.4040-4-marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2018-02-07 14:09:24 +01:00
..
block qapi: add nbd-server-remove 2018-01-26 09:37:20 -06:00
chardev chardev: introduce qemu_chr_timeout_add_ms() 2018-01-12 13:22:02 +01:00
crypto block: convert qcrypto_block_encrypt|decrypt to take bytes offset 2017-10-06 16:30:47 +02:00
disas target/xtensa: implement disassembler 2018-01-09 09:55:39 -08:00
exec memory-internal.h: Remove obsolete claim that header is obsolete 2018-02-05 18:09:45 +01:00
fpu configure: Drop ancient Solaris 9 and earlier support 2017-07-21 15:04:05 +01:00
hw qdev: add helpers to be more explicit when using abstract QOM parent functions 2018-02-05 13:54:38 +01:00
io io: introduce a network socket listener API 2017-12-15 15:07:26 +00:00
libdecnumber Clean up ill-advised or unusual header guards 2016-07-12 16:20:46 +02:00
migration vmstate: Add VMSTATE_UINT64_SUB_ARRAY 2018-01-25 11:45:29 +00:00
monitor block: rip out all traces of password prompting 2017-07-11 17:44:56 +02:00
net net: Remove the legacy "-net channel" parameter 2017-12-22 10:05:26 +08:00
qapi qapi: Add qobject_is_equal() 2017-11-17 18:21:30 +01:00
qemu ucontext: annotate coroutine stack for ASAN 2018-02-07 14:09:24 +01:00
qom accel/tcg: add size paremeter in tlb_fill() 2018-01-25 16:02:24 +01:00
scsi scsi: provide general-purpose functions to manage sense data 2017-12-21 09:30:32 +01:00
standard-headers linux-headers: update 2018-01-22 11:07:47 +01:00
sysemu target/hppa: Skeleton support for hppa-softmmu 2018-01-30 10:08:18 -08:00
ui ui: fix alphabetical ordering of keymaps 2018-01-29 09:35:43 +01:00
elf.h tcg/s390: Use constant pool for movi 2017-09-07 11:57:35 -07:00
glib-compat.h glib-compat: move G_SOURCE_CONTINUE/REMOVE there 2017-10-10 16:33:55 +02:00
qemu-common.h Use HTTPS for qemu.org and other domains 2017-11-21 13:34:13 +00:00
qemu-io.h hmp: Request permissions in qemu-io 2017-02-28 20:47:50 +01:00
trace-tcg.h trace: get rid of generated-events.h/generated-events.c 2016-10-12 09:54:52 +02:00