> -----Original Message----- > From: Kees Cook <keesc...@chromium.org> > Sent: Wednesday, August 18, 2021 11:35 AM > To: linux-ker...@vger.kernel.org > Cc: Kees Cook <keesc...@chromium.org>; Ariel Elior <ael...@marvell.com>; > Sudarsana Reddy Kalluru <skall...@marvell.com>; GR-everest-linux-l2 <GR- > everest-linux...@marvell.com>; David S. Miller <da...@davemloft.net>; Jakub > Kicinski <k...@kernel.org>; net...@vger.kernel.org; Gustavo A. R. Silva > <gustavo...@kernel.org>; Greg Kroah-Hartman <gre...@linuxfoundation.org>; > Andrew Morton <a...@linux-foundation.org>; linux-wirel...@vger.kernel.org; > dri-devel@lists.freedesktop.org; linux-stag...@lists.linux.dev; linux- > bl...@vger.kernel.org; linux-kbu...@vger.kernel.org; clang-built- > li...@googlegroups.com; Rasmus Villemoes <li...@rasmusvillemoes.dk>; > linux-harden...@vger.kernel.org > Subject: [PATCH v2 17/63] bnx2x: Use struct_group() for memcpy() region > > In preparation for FORTIFY_SOURCE performing compile-time and run-time > field bounds checking for memcpy(), memmove(), and memset(), avoid > intentionally writing across neighboring fields. > > Use struct_group() in struct nig_stats around members egress_mac_pkt0_lo, > egress_mac_pkt0_hi, egress_mac_pkt1_lo, and egress_mac_pkt1_hi (and the > respective members in struct bnx2x_eth_stats), so they can be referenced > together. This will allow memcpy() and sizeof() to more easily reason > about sizes, improve readability, and avoid future warnings about writing > beyond the end of struct bnx2x_eth_stats's rx_stat_ifhcinbadoctets_hi. > > "pahole" shows no size nor member offset changes to either struct. > "objdump -d" shows no meaningful object code changes (i.e. only source > line number induced differences and optimizations). > > Additionally adds BUILD_BUG_ON() to compare the separate struct group > sizes. > > Cc: Ariel Elior <ael...@marvell.com> > Cc: Sudarsana Kalluru <skall...@marvell.com> > Cc: gr-everest-linux...@marvell.com > Cc: "David S. Miller" <da...@davemloft.net> > Cc: Jakub Kicinski <k...@kernel.org> > Cc: net...@vger.kernel.org > Signed-off-by: Kees Cook <keesc...@chromium.org> > ---
Reviewed-by: Prabhakar Kushwaha <pkushw...@marvell.com>