[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [PATCH 0/3] block/qcow*: Don't take address of fields i
From: |
John Snow |
Subject: |
Re: [Qemu-block] [PATCH 0/3] block/qcow*: Don't take address of fields in packed structs |
Date: |
Tue, 9 Oct 2018 15:04:59 -0400 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 |
On 10/09/2018 01:24 PM, Peter Maydell wrote:
> 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(-)
>
Tested-by: John Snow <address@hidden>
Reviewed-by: John Snow <address@hidden>
- [Qemu-block] [PATCH 0/3] block/qcow*: Don't take address of fields in packed structs, Peter Maydell, 2018/10/09
- [Qemu-block] [PATCH 2/3] block/qcow: Don't take address of fields in packed structs, Peter Maydell, 2018/10/09
- [Qemu-block] [PATCH 3/3] block/qcow2-bitmap: Don't take address of fields in packed structs, Peter Maydell, 2018/10/09
- [Qemu-block] [PATCH 1/3] block/qcow2: Don't take address of fields in packed structs, Peter Maydell, 2018/10/09
- Re: [Qemu-block] [Qemu-devel] [PATCH 0/3] block/qcow*: Don't take address of fields in packed structs, Richard Henderson, 2018/10/09
- Re: [Qemu-block] [PATCH 0/3] block/qcow*: Don't take address of fields in packed structs,
John Snow <=
- Re: [Qemu-block] [PATCH 0/3] block/qcow*: Don't take address of fields in packed structs, Kevin Wolf, 2018/10/10