mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-02 07:04:24 +00:00
mwl8k: Use named struct for memcpy() region
In preparation for FORTIFY_SOURCE performing compile-time and run-time field bounds checking for memcpy(), memmove(), and memset(), avoid intentionally writing across neighboring fields. Use named struct in struct mwl8k_cmd_set_key around members key_material, tkip_tx_mic_key, and tkip_rx_mic_key so they can be referenced together. This will allow memcpy() and sizeof() to more easily reason about sizes, improve readability, and avoid future warnings about writing beyond the end of key_material. "pahole" shows no size nor member offset changes to struct mwl8k_cmd_set_key. "objdump -d" shows no object code changes. Signed-off-by: Kees Cook <keescook@chromium.org> Signed-off-by: Kalle Valo <kvalo@codeaurora.org> Link: https://lore.kernel.org/r/20211119004905.2348143-1-keescook@chromium.org
This commit is contained in:
parent
601d2293e2
commit
f01b377430
1 changed files with 6 additions and 4 deletions
|
@ -4225,9 +4225,11 @@ struct mwl8k_cmd_set_key {
|
|||
__le32 key_info;
|
||||
__le32 key_id;
|
||||
__le16 key_len;
|
||||
struct {
|
||||
__u8 key_material[MAX_ENCR_KEY_LENGTH];
|
||||
__u8 tkip_tx_mic_key[MIC_KEY_LENGTH];
|
||||
__u8 tkip_rx_mic_key[MIC_KEY_LENGTH];
|
||||
} tkip;
|
||||
__le16 tkip_rsc_low;
|
||||
__le32 tkip_rsc_high;
|
||||
__le16 tkip_tsc_low;
|
||||
|
@ -4375,7 +4377,7 @@ static int mwl8k_cmd_encryption_set_key(struct ieee80211_hw *hw,
|
|||
goto done;
|
||||
}
|
||||
|
||||
memcpy(cmd->key_material, key->key, keymlen);
|
||||
memcpy(&cmd->tkip, key->key, keymlen);
|
||||
cmd->action = cpu_to_le32(action);
|
||||
|
||||
rc = mwl8k_post_pervif_cmd(hw, vif, &cmd->header);
|
||||
|
|
Loading…
Reference in a new issue