mirror of https://gitee.com/openkylin/linux.git
iwlwifi: dbg_ini: check for valid region type during regions parsing
Add region type checking during regions parsing to avoid attempts to parse unsupported or illegal region types. Signed-off-by: Shahar S Matityahu <shahar.s.matityahu@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
This commit is contained in:
parent
0aade8f484
commit
a0eaead41d
|
@ -2469,15 +2469,20 @@ static void iwl_fw_dbg_update_regions(struct iwl_fw_runtime *fwrt,
|
|||
{
|
||||
void *iter = (void *)tlv->region_config;
|
||||
int i, size = le32_to_cpu(tlv->num_regions);
|
||||
const char *err_st =
|
||||
"WRT: ext=%d. Invalid region %s %d for apply point %d\n";
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
struct iwl_fw_ini_region_cfg *reg = iter, **active;
|
||||
int id = le32_to_cpu(reg->region_id);
|
||||
u32 type = le32_to_cpu(reg->region_type);
|
||||
|
||||
if (WARN(id >= ARRAY_SIZE(fwrt->dump.active_regs),
|
||||
"WRT: ext=%d. Invalid region id %d for apply point %d\n",
|
||||
ext, id, pnt))
|
||||
if (WARN(id >= ARRAY_SIZE(fwrt->dump.active_regs), err_st, ext,
|
||||
"id", id, pnt))
|
||||
break;
|
||||
|
||||
if (WARN(type == 0 || type >= IWL_FW_INI_REGION_NUM, err_st,
|
||||
ext, "type", type, pnt))
|
||||
break;
|
||||
|
||||
active = &fwrt->dump.active_regs[id];
|
||||
|
|
Loading…
Reference in New Issue