mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 15:34:48 +08:00
wifi: iwlwifi: mvm: don't set replay counters to 0xff
[ Upstream commitd5bd4041cd
] The firmware (later) actually uses the values even for keys that are invalid as far as the host is concerned, later in rekeying, and then only sets the low 48 bits since the PNs are only 48 bits over the air. It does, however, compare the full 64 bits later, obviously causing problems. Remove the memset and use kzalloc instead to avoid any old heap data leaking to the firmware. We already init all the other fields in the struct anyway. This leaves the data set to zero for any unused fields, so the firmware can look at them safely even if they're not used right now. Fixes:79e561f0f0
("iwlwifi: mvm: d3: implement RSC command version 5") Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com> Link: https://msgid.link/20240206175739.462101146fef.I10f3855b99417af4247cff04af78dcbc6cb75c9c@changeid Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
b4f1b0b3b9
commit
85074e3394
@ -461,12 +461,10 @@ static int iwl_mvm_wowlan_config_rsc_tsc(struct iwl_mvm *mvm,
|
||||
struct wowlan_key_rsc_v5_data data = {};
|
||||
int i;
|
||||
|
||||
data.rsc = kmalloc(sizeof(*data.rsc), GFP_KERNEL);
|
||||
data.rsc = kzalloc(sizeof(*data.rsc), GFP_KERNEL);
|
||||
if (!data.rsc)
|
||||
return -ENOMEM;
|
||||
|
||||
memset(data.rsc, 0xff, sizeof(*data.rsc));
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(data.rsc->mcast_key_id_map); i++)
|
||||
data.rsc->mcast_key_id_map[i] =
|
||||
IWL_MCAST_KEY_MAP_INVALID;
|
||||
|
Loading…
Reference in New Issue
Block a user