Re: [PATCH 6/6] wifi: ath10k: remove duplicate memset() in 10.4 TDLS peer update

From: Kees Cook
Date: Wed Dec 13 2023 - 14:16:05 EST


On Wed, Dec 13, 2023 at 09:06:44AM -0800, Jeff Johnson wrote:
> In [1] it was identified that in ath10k_wmi_10_4_gen_tdls_peer_update()
> the memset(skb->data, 0, sizeof(*cmd)) is unnecessary since function
> ath10k_wmi_alloc_skb() already zeroes skb->data, so remove it.

Is .gen_tdls_peer_update only ever called after a fresh allocation? It
wasn't obvious to me as I tried to follow the call paths. Is there harm
in leaving this?

-Kees

>
> No functional changes, compile tested only.
>
> [1] https://lore.kernel.org/linux-wireless/626ae2e7-66f8-423b-b17f-e75c1a6d29b3@xxxxxxxxxxxxxx/
>
> Signed-off-by: Jeff Johnson <quic_jjohnson@xxxxxxxxxxx>
> ---
> drivers/net/wireless/ath/ath10k/wmi.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
> index 4d5aadbc7159..0cfd9484c45e 100644
> --- a/drivers/net/wireless/ath/ath10k/wmi.c
> +++ b/drivers/net/wireless/ath/ath10k/wmi.c
> @@ -8918,8 +8918,6 @@ ath10k_wmi_10_4_gen_tdls_peer_update(struct ath10k *ar,
> if (!skb)
> return ERR_PTR(-ENOMEM);
>
> - memset(skb->data, 0, sizeof(*cmd));
> -
> cmd = (struct wmi_10_4_tdls_peer_update_cmd *)skb->data;
> cmd->vdev_id = __cpu_to_le32(arg->vdev_id);
> ether_addr_copy(cmd->peer_macaddr.addr, arg->addr);
>
> --
> 2.42.0
>

--
Kees Cook