Revision 1229e46d3cfe61ee0b11f08fbbc7530af1578637 authored by Peter Maydell on 16 October 2018, 17:09:38 UTC, committed by Kevin Wolf on 05 November 2018, 14:09:54 UTC
Taking the address of a field in a packed struct is a bad idea, because
it might not be actually aligned enough for that pointer type (and
thus cause a crash on dereference on some host architectures). Newer
versions of clang warn about this. Avoid the bug by not using the
"modify in place" byte swapping functions.

There are a few places where the in-place swap function is
used on something other than a packed struct field; we convert
those anyway, for consistency.

Patch produced with scripts/coccinelle/inplace-byteswaps.cocci.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
1 parent c317b64
History
File Mode Size
Makefile.objs -rw-r--r-- 1.8 KB
acl.c -rw-r--r-- 4.4 KB
aio-posix.c -rw-r--r-- 20.2 KB
aio-wait.c -rw-r--r-- 2.1 KB
aio-win32.c -rw-r--r-- 11.7 KB
aiocb.c -rw-r--r-- 1.7 KB
async.c -rw-r--r-- 13.1 KB
atomic64.c -rw-r--r-- 2.4 KB
base64.c -rw-r--r-- 1.9 KB
bitmap.c -rw-r--r-- 10.0 KB
bitops.c -rw-r--r-- 3.8 KB
buffer.c -rw-r--r-- 4.7 KB
bufferiszero.c -rw-r--r-- 8.5 KB
cacheinfo.c -rw-r--r-- 4.8 KB
compatfd.c -rw-r--r-- 2.3 KB
coroutine-sigaltstack.c -rw-r--r-- 8.4 KB
coroutine-ucontext.c -rw-r--r-- 6.4 KB
coroutine-win32.c -rw-r--r-- 3.0 KB
crc32c.c -rw-r--r-- 4.8 KB
cutils.c -rw-r--r-- 19.0 KB
drm.c -rw-r--r-- 1.6 KB
envlist.c -rw-r--r-- 5.1 KB
error.c -rw-r--r-- 6.6 KB
event_notifier-posix.c -rw-r--r-- 2.4 KB
event_notifier-win32.c -rw-r--r-- 986 bytes
fifo8.c -rw-r--r-- 2.7 KB
getauxval.c -rw-r--r-- 3.0 KB
hbitmap.c -rw-r--r-- 23.2 KB
hexdump.c -rw-r--r-- 1.3 KB
host-utils.c -rw-r--r-- 5.9 KB
id.c -rw-r--r-- 1.6 KB
iohandler.c -rw-r--r-- 3.7 KB
iov.c -rw-r--r-- 15.5 KB
iova-tree.c -rw-r--r-- 2.3 KB
keyval.c -rw-r--r-- 12.6 KB
lockcnt.c -rw-r--r-- 11.6 KB
log.c -rw-r--r-- 9.4 KB
main-loop.c -rw-r--r-- 13.3 KB
memfd.c -rw-r--r-- 4.7 KB
mmap-alloc.c -rw-r--r-- 3.7 KB
module.c -rw-r--r-- 5.0 KB
notify.c -rw-r--r-- 1.6 KB
osdep.c -rw-r--r-- 11.9 KB
oslib-posix.c -rw-r--r-- 17.8 KB
oslib-win32.c -rw-r--r-- 20.2 KB
pagesize.c -rw-r--r-- 499 bytes
path.c -rw-r--r-- 4.6 KB
qdist.c -rw-r--r-- 9.2 KB
qemu-config.c -rw-r--r-- 16.2 KB
qemu-coroutine-io.c -rw-r--r-- 3.0 KB
qemu-coroutine-lock.c -rw-r--r-- 12.5 KB
qemu-coroutine-sleep.c -rw-r--r-- 1.4 KB
qemu-coroutine.c -rw-r--r-- 5.6 KB
qemu-error.c -rw-r--r-- 7.9 KB
qemu-openpty.c -rw-r--r-- 3.8 KB
qemu-option.c -rw-r--r-- 32.7 KB
qemu-progress.c -rw-r--r-- 4.4 KB
qemu-sockets.c -rw-r--r-- 34.7 KB
qemu-thread-common.h -rw-r--r-- 1.2 KB
qemu-thread-posix.c -rw-r--r-- 13.0 KB
qemu-thread-win32.c -rw-r--r-- 11.1 KB
qemu-timer-common.c -rw-r--r-- 1.9 KB
qemu-timer.c -rw-r--r-- 19.6 KB
qht.c -rw-r--r-- 26.5 KB
qsp.c -rw-r--r-- 23.4 KB
range.c -rw-r--r-- 2.1 KB
rcu.c -rw-r--r-- 11.1 KB
readline.c -rw-r--r-- 14.1 KB
stats64.c -rw-r--r-- 3.3 KB
sys_membarrier.c -rw-r--r-- 1.2 KB
systemd.c -rw-r--r-- 1.8 KB
thread-pool.c -rw-r--r-- 9.4 KB
throttle.c -rw-r--r-- 19.8 KB
timed-average.c -rw-r--r-- 6.2 KB
trace-events -rw-r--r-- 4.4 KB
unicode.c -rw-r--r-- 4.5 KB
uri.c -rw-r--r-- 61.5 KB
uuid.c -rw-r--r-- 3.1 KB
vfio-helpers.c -rw-r--r-- 20.9 KB

back to top