wifi: ath10k: replace deprecated strncpy with memcpy
authorJustin Stitt <justinstitt@google.com>
Wed, 25 Oct 2023 17:47:56 +0000 (20:47 +0300)
committerKalle Valo <quic_kvalo@quicinc.com>
Tue, 31 Oct 2023 07:46:11 +0000 (09:46 +0200)
commitac2f43d3d34e52b0d388b4c573ff6bbac90235b9
tree5d36d67ac148537b73cdabf42c3f36e6b903b035
parent56d9854bd7c6b29a65fbb4175e01196166ed61de
wifi: ath10k: replace deprecated strncpy with memcpy

strncpy() is deprecated [1] and we should prefer less ambiguous
interfaces.

In this case, arvif->u.ap.ssid has its length maintained by
arvif->u.ap.ssid_len which indicates it may not need to be
NUL-terminated. Make this explicit with __nonstring and use a plain old
memcpy.

This is also consistent with future copies into arvif->u.ap.ssid:

if (changed & BSS_CHANGED_SSID &&
    vif->type == NL80211_IFTYPE_AP) {
arvif->u.ap.ssid_len = vif->cfg.ssid_len;
if (vif->cfg.ssid_len)
memcpy(arvif->u.ap.ssid, vif->cfg.ssid,
       vif->cfg.ssid_len);
arvif->u.ap.hidden_ssid = info->hidden_ssid;
}

Link: https://www.kernel.org/doc/html/latest/process/deprecated.html#strncpy-on-nul-terminated-strings
Link: https://github.com/KSPP/linux/issues/90
Cc: linux-hardening@vger.kernel.org
Signed-off-by: Justin Stitt <justinstitt@google.com>
Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com>
Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>
Link: https://lore.kernel.org/r/20231024-strncpy-drivers-net-wireless-ath-ath10k-mac-c-v2-1-4c1f4cd4b4df@google.com
drivers/net/wireless/ath/ath10k/core.h
drivers/net/wireless/ath/ath10k/mac.c