Re: [RFC PATCH] wifi: mac80211: Replace strncpy() with strscpy()
From: I Hsin Cheng
Date: Thu Mar 27 2025 - 10:25:10 EST
On Thu, Mar 27, 2025 at 10:11:08PM +0800, I Hsin Cheng wrote:
> The name of vif which is "vif_name" should be NULL-terminated to be a
> valid string, however "strncpy()" doesn't guarantee that. Replace it
> with "strscpy()" to make sure the content within "vif_name" is
> NULL-terminated.
>
> Link: https://github.com/KSPP/linux/issues/90
> Signed-off-by: I Hsin Cheng <richard120310@xxxxxxxxx>
> ---
> net/mac80211/trace.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/mac80211/trace.h b/net/mac80211/trace.h
> index 72fad8ea8bb9..37f5b1c87709 100644
> --- a/net/mac80211/trace.h
> +++ b/net/mac80211/trace.h
> @@ -1725,7 +1725,7 @@ TRACE_EVENT(drv_switch_vif_chanctx,
> SWITCH_ENTRY_ASSIGN(vif.vif_type, vif->type);
> SWITCH_ENTRY_ASSIGN(vif.p2p, vif->p2p);
> SWITCH_ENTRY_ASSIGN(link_id, link_conf->link_id);
> - strncpy(local_vifs[i].vif.vif_name,
> + strscpy(local_vifs[i].vif.vif_name,
> sdata->name,
> sizeof(local_vifs[i].vif.vif_name));
> SWITCH_ENTRY_ASSIGN(old_chandef.control_freq,
> --
> 2.43.0
>
> The name of vif which is "vif_name" should be NULL-terminated to be a
Or maybe it should be trailing NULL-padding when sources is shorter, if
it's the case we should consider strscpy_pad() or other alternatives.
Let me know if there's any mistakes or tests I can help to validate,
thanks!
Best regards,
I Hsin Cheng