mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
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
1 changed files with 8 additions and 3 deletions
|
@ -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…
Add table
Reference in a new issue