Commit f0f149d9 authored by Kees Cook's avatar Kees Cook Committed by Jakub Kicinski
Browse files

emulex/benet: Annotate flash_cookie as nonstring



GCC 15's new -Wunterminated-string-initialization notices that the 32
character "flash_cookie" (which is not used as a C-String)
needs to be marked as "nonstring":

drivers/net/ethernet/emulex/benet/be_cmds.c:2618:51: warning: initializer-string for array of 'char' truncates NUL terminator but destination lacks 'nonstring' attribute (17 chars into 16 available) [-Wunterminated-string-initialization]
 2618 | static char flash_cookie[2][16] = {"*** SE FLAS", "H DIRECTORY *** "};
      |                                                   ^~~~~~~~~~~~~~~~~~

Add this annotation, avoid using a multidimensional array, but keep the
string split (with a comment about why). Additionally mark it const
and annotate the "cookie" member that is being memcmp()ed against as
nonstring too.

Signed-off-by: default avatarKees Cook <kees@kernel.org>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20250416221028.work.967-kees@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 044412d9
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -2615,7 +2615,11 @@ static int be_cmd_get_flash_crc(struct be_adapter *adapter, u8 *flashed_crc,
	return status;
}

static char flash_cookie[2][16] = {"*** SE FLAS", "H DIRECTORY *** "};
/*
 * Since the cookie is text, add a parsing-skipped space to keep it from
 * ever being matched on storage holding this source file.
 */
static const char flash_cookie[32] __nonstring = "*** SE FLAS" "H DIRECTORY *** ";

static bool phy_flashing_required(struct be_adapter *adapter)
{
+1 −1
Original line number Diff line number Diff line
@@ -1415,7 +1415,7 @@ struct flash_section_entry {
} __packed;

struct flash_section_info {
	u8 cookie[32];
	u8 cookie[32] __nonstring;
	struct flash_section_hdr fsec_hdr;
	struct flash_section_entry fsec_entry[32];
} __packed;