[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 0/3] block/qcow*: Don't take address of fields in pa
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH 0/3] block/qcow*: Don't take address of fields in packed structs |
Date: |
Tue, 9 Oct 2018 18:24:58 +0100 |
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 in the affected files where the in-place swap
function is used on something other than a packed struct field; we
convert those anyway, for consistency.
Patches produced mechanically using spatch; in one case I also
did a little hand-editing to wrap overlong lines that checkpatch
would otherwise complain about.
(clang also complains about other files in block: vdi.c, vpc.c,
vhdx.h, vhdx.c, vhdx-endian.c, vhdx-log.c -- I may produce patches
for those later if nobody else gets there first.)
thanks
-- PMM
Peter Maydell (3):
block/qcow2: Don't take address of fields in packed structs
block/qcow: Don't take address of fields in packed structs
block/qcow2-bitmap: Don't take address of fields in packed structs
block/qcow.c | 18 ++++++-------
block/qcow2-bitmap.c | 24 ++++++++---------
block/qcow2.c | 64 +++++++++++++++++++++++---------------------
3 files changed, 55 insertions(+), 51 deletions(-)
--
2.19.0
- [Qemu-devel] [PATCH 0/3] block/qcow*: Don't take address of fields in packed structs,
Peter Maydell <=
- [Qemu-devel] [PATCH 2/3] block/qcow: Don't take address of fields in packed structs, Peter Maydell, 2018/10/09
- [Qemu-devel] [PATCH 3/3] block/qcow2-bitmap: Don't take address of fields in packed structs, Peter Maydell, 2018/10/09
- [Qemu-devel] [PATCH 1/3] block/qcow2: Don't take address of fields in packed structs, Peter Maydell, 2018/10/09
- Re: [Qemu-devel] [PATCH 0/3] block/qcow*: Don't take address of fields in packed structs, Richard Henderson, 2018/10/09
- Re: [Qemu-devel] [Qemu-block] [PATCH 0/3] block/qcow*: Don't take address of fields in packed structs, John Snow, 2018/10/09
- Re: [Qemu-devel] [PATCH 0/3] block/qcow*: Don't take address of fields in packed structs, Kevin Wolf, 2018/10/10