wifi: iwlwifi: fw: dbg: ensure correct config name sizes
authorJohannes Berg <johannes.berg@intel.com>
Sun, 28 Jan 2024 06:53:54 +0000 (08:53 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 2 Feb 2024 12:47:46 +0000 (13:47 +0100)
This hard-codes the size, but it's not obvious why that's
correct. Use sizeof() and cross-check the two structs.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240128084842.58fcdea2ace7.I49cb1d7bdbea12085aada0c96ef42fcbcb3d2b38@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/intel/iwlwifi/fw/dbg.c

index 05e220173fa14ca0007fed84acfca6e164f0fbb7..b877a2cd40059d772c45d02da754fee32c12a49b 100644 (file)
@@ -2430,9 +2430,12 @@ static u32 iwl_dump_ini_info(struct iwl_fw_runtime *fwrt,
                struct iwl_fw_ini_debug_info_tlv *debug_info =
                        (void *)node->tlv.data;
 
+               BUILD_BUG_ON(sizeof(cfg_name->cfg_name) !=
+                            sizeof(debug_info->debug_cfg_name));
+
                cfg_name->image_type = debug_info->image_type;
                cfg_name->cfg_name_len =
-                       cpu_to_le32(IWL_FW_INI_MAX_CFG_NAME);
+                       cpu_to_le32(sizeof(cfg_name->cfg_name));
                memcpy(cfg_name->cfg_name, debug_info->debug_cfg_name,
                       sizeof(cfg_name->cfg_name));
                cfg_name++;