Date: Sun, 13 Feb 2022 13:36:51 GMT From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 09d0a0fbe859 - main - bwi: Fix clang 14 warning about possible unaligned access Message-ID: <202202131336.21DDapFF014081@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by dim: URL: https://cgit.FreeBSD.org/src/commit/?id=09d0a0fbe859e3fc7bbff0cf48c389b5e55b9e00 commit 09d0a0fbe859e3fc7bbff0cf48c389b5e55b9e00 Author: Dimitry Andric <dim@FreeBSD.org> AuthorDate: 2022-02-07 20:59:46 +0000 Commit: Dimitry Andric <dim@FreeBSD.org> CommitDate: 2022-02-13 13:35:58 +0000 bwi: Fix clang 14 warning about possible unaligned access On architectures with strict alignment requirements (e.g. arm), clang 14 warns about a packed struct which encloses a non-packed union: In file included from sys/dev/bwi/bwimac.c:79: sys/dev/bwi/if_bwivar.h:308:7: error: field iv_val within 'struct bwi_fw_iv' is less aligned than 'union (unnamed union at sys/dev/bwi/if_bwivar.h:305:2)' and is usually due to 'struct bwi_fw_iv' being packed, which can lead to unaligned accesses [-Werror,-Wunaligned-access] } iv_val; ^ It appears to help if you also add __packed to the inner union (i.e. iv_val). No change to the layout is intended. MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D34196 --- sys/dev/bwi/if_bwivar.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/bwi/if_bwivar.h b/sys/dev/bwi/if_bwivar.h index 90b4aeab6d26..9961cfca9193 100644 --- a/sys/dev/bwi/if_bwivar.h +++ b/sys/dev/bwi/if_bwivar.h @@ -305,7 +305,7 @@ struct bwi_fw_iv { union { uint32_t val32; uint16_t val16; - } iv_val; + } __packed iv_val; } __packed; #define BWI_FW_IV_OFS_MASK __BITS(14, 0)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202202131336.21DDapFF014081>