linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] wifi: drivers: fix remaining W=1 warnings
@ 2023-06-13 14:09 Kalle Valo
  2023-06-13 14:09 ` [PATCH 1/4] wifi: brcmfmac: fix gnu_printf warnings Kalle Valo
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Kalle Valo @ 2023-06-13 14:09 UTC (permalink / raw)
  To: linux-wireless

Here are the final fixes and workarounds I see with W=1. After this patchset my
plan is to compile wireless driver patches with W=1 before applying them.

Please review.

Kalle Valo (4):
  wifi: brcmfmac: fix gnu_printf warnings
  wifi: brcmsmac: fix gnu_printf warnings
  wifi: hostap: fix stringop-truncations GCC warning
  wifi: ray_cs: fix stringop-truncation GCC warning

 .../net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.h | 7 +++++++
 .../brcm80211/brcmsmac/brcms_trace_brcmsmac_msg.h         | 8 ++++++++
 drivers/net/wireless/intersil/hostap/hostap_ioctl.c       | 2 +-
 drivers/net/wireless/legacy/ray_cs.c                      | 2 +-
 4 files changed, 17 insertions(+), 2 deletions(-)


base-commit: cabb8b48e542e1401f6881c4f7d3bb82f723ee40
-- 
2.30.2


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/4] wifi: brcmfmac: fix gnu_printf warnings
  2023-06-13 14:09 [PATCH 0/4] wifi: drivers: fix remaining W=1 warnings Kalle Valo
@ 2023-06-13 14:09 ` Kalle Valo
  2023-06-16  9:26   ` Kalle Valo
  2023-06-13 14:09 ` [PATCH 2/4] wifi: brcmsmac: " Kalle Valo
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Kalle Valo @ 2023-06-13 14:09 UTC (permalink / raw)
  To: linux-wireless

With GCC 13.1 and W=1 brcmfmac has warnings like this:

./include/trace/perf.h:26:16: warning: function 'perf_trace_brcmf_dbg' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]

Add a workaround which disables -Wsuggest-attribute=format in tracepoint.h. I
see similar workarounds in other drivers as well.

Compile tested only.

Signed-off-by: Kalle Valo <kvalo@kernel.org>
---
 .../net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.h  | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.h
index 5a139d7ed47a..5d66e94c806d 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.h
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/tracepoint.h
@@ -28,6 +28,11 @@ static inline void trace_ ## name(proto) {}
 
 #define MAX_MSG_LEN		100
 
+#pragma GCC diagnostic push
+#ifndef __clang__
+#pragma GCC diagnostic ignored "-Wsuggest-attribute=format"
+#endif
+
 TRACE_EVENT(brcmf_err,
 	TP_PROTO(const char *func, struct va_format *vaf),
 	TP_ARGS(func, vaf),
@@ -123,6 +128,8 @@ TRACE_EVENT(brcmf_sdpcm_hdr,
 		  __entry->len, ((u8 *)__get_dynamic_array(hdr))[4])
 );
 
+#pragma GCC diagnostic pop
+
 #ifdef CONFIG_BRCM_TRACING
 
 #undef TRACE_INCLUDE_PATH
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/4] wifi: brcmsmac: fix gnu_printf warnings
  2023-06-13 14:09 [PATCH 0/4] wifi: drivers: fix remaining W=1 warnings Kalle Valo
  2023-06-13 14:09 ` [PATCH 1/4] wifi: brcmfmac: fix gnu_printf warnings Kalle Valo
@ 2023-06-13 14:09 ` Kalle Valo
  2023-06-13 14:09 ` [PATCH 3/4] wifi: hostap: fix stringop-truncations GCC warning Kalle Valo
  2023-06-13 14:09 ` [PATCH 4/4] wifi: ray_cs: fix stringop-truncation " Kalle Valo
  3 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2023-06-13 14:09 UTC (permalink / raw)
  To: linux-wireless

With GCC 13.1 and W=1 brcmsmac has warnings like this:

./include/trace/stages/stage5_get_offsets.h:23:31: warning: function 'trace_event_get_offsets_brcms_dbg' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]

Add a workaround which disables -Wsuggest-attribute=format in
brcms_trace_brcmsmac_msg.h. I see similar workarounds in other drivers as well.

Compile tested only.

Signed-off-by: Kalle Valo <kvalo@kernel.org>
---
 .../brcm80211/brcmsmac/brcms_trace_brcmsmac_msg.h         | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac_msg.h b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac_msg.h
index 488456420353..42b0a91656c4 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac_msg.h
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/brcms_trace_brcmsmac_msg.h
@@ -24,6 +24,11 @@
 
 #define MAX_MSG_LEN	100
 
+#pragma GCC diagnostic push
+#ifndef __clang__
+#pragma GCC diagnostic ignored "-Wsuggest-attribute=format"
+#endif
+
 DECLARE_EVENT_CLASS(brcms_msg_event,
 	TP_PROTO(struct va_format *vaf),
 	TP_ARGS(vaf),
@@ -71,6 +76,9 @@ TRACE_EVENT(brcms_dbg,
 	),
 	TP_printk("%s: %s", __get_str(func), __get_str(msg))
 );
+
+#pragma GCC diagnostic pop
+
 #endif /* __TRACE_BRCMSMAC_MSG_H */
 
 #ifdef CONFIG_BRCM_TRACING
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 3/4] wifi: hostap: fix stringop-truncations GCC warning
  2023-06-13 14:09 [PATCH 0/4] wifi: drivers: fix remaining W=1 warnings Kalle Valo
  2023-06-13 14:09 ` [PATCH 1/4] wifi: brcmfmac: fix gnu_printf warnings Kalle Valo
  2023-06-13 14:09 ` [PATCH 2/4] wifi: brcmsmac: " Kalle Valo
@ 2023-06-13 14:09 ` Kalle Valo
  2023-06-13 14:09 ` [PATCH 4/4] wifi: ray_cs: fix stringop-truncation " Kalle Valo
  3 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2023-06-13 14:09 UTC (permalink / raw)
  To: linux-wireless

With GCC 13.1 and W=1 hostap has a warning:

drivers/net/wireless/intersil/hostap/hostap_ioctl.c:3633:17: warning: 'strncpy' specified bound 16 equals destination size [-Wstringop-truncation]

fortify-string.h recommends not to use strncpy() so use strscpy() which fixes
the warning. Also now it's guarenteed that the string is NUL-terminated.

Compile tested only.

Signed-off-by: Kalle Valo <kvalo@kernel.org>
---
 drivers/net/wireless/intersil/hostap/hostap_ioctl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/intersil/hostap/hostap_ioctl.c b/drivers/net/wireless/intersil/hostap/hostap_ioctl.c
index 26287b129d18..b4adfc190ae8 100644
--- a/drivers/net/wireless/intersil/hostap/hostap_ioctl.c
+++ b/drivers/net/wireless/intersil/hostap/hostap_ioctl.c
@@ -3630,7 +3630,7 @@ static int prism2_ioctl_get_encryption(local_info_t *local,
 		param->u.crypt.key_len = 0;
 		param->u.crypt.idx = 0xff;
 	} else {
-		strncpy(param->u.crypt.alg, (*crypt)->ops->name,
+		strscpy(param->u.crypt.alg, (*crypt)->ops->name,
 			HOSTAP_CRYPT_ALG_NAME_LEN);
 		param->u.crypt.key_len = 0;
 
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 4/4] wifi: ray_cs: fix stringop-truncation GCC warning
  2023-06-13 14:09 [PATCH 0/4] wifi: drivers: fix remaining W=1 warnings Kalle Valo
                   ` (2 preceding siblings ...)
  2023-06-13 14:09 ` [PATCH 3/4] wifi: hostap: fix stringop-truncations GCC warning Kalle Valo
@ 2023-06-13 14:09 ` Kalle Valo
  3 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2023-06-13 14:09 UTC (permalink / raw)
  To: linux-wireless

GCC 12.2 with W=1 warns:

drivers/net/wireless/legacy/ray_cs.c:630:17: warning: 'strncpy' specified bound 32 equals destination size [-Wstringop-truncation]

The driver uses SSID as a string which is just wrong, it should be treated as a
byte array instead. But as the driver is ancient and most likely there are no
users so convert it to use strscpy(). This makes sure that the string is
NUL-terminated and also the warning is fixed.

Signed-off-by: Kalle Valo <kvalo@kernel.org>
---
 drivers/net/wireless/legacy/ray_cs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/legacy/ray_cs.c b/drivers/net/wireless/legacy/ray_cs.c
index 4b53a9c70e7e..8ace797ce951 100644
--- a/drivers/net/wireless/legacy/ray_cs.c
+++ b/drivers/net/wireless/legacy/ray_cs.c
@@ -627,7 +627,7 @@ static void init_startup_params(ray_dev_t *local)
 	local->sparm.b4.a_acting_as_ap_status = TYPE_STA;
 
 	if (essid != NULL)
-		strncpy(local->sparm.b4.a_current_ess_id, essid, ESSID_SIZE);
+		strscpy(local->sparm.b4.a_current_ess_id, essid, ESSID_SIZE);
 } /* init_startup_params */
 
 /*===========================================================================*/
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/4] wifi: brcmfmac: fix gnu_printf warnings
  2023-06-13 14:09 ` [PATCH 1/4] wifi: brcmfmac: fix gnu_printf warnings Kalle Valo
@ 2023-06-16  9:26   ` Kalle Valo
  0 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2023-06-16  9:26 UTC (permalink / raw)
  To: Kalle Valo; +Cc: linux-wireless

Kalle Valo <kvalo@kernel.org> wrote:

> With GCC 13.1 and W=1 brcmfmac has warnings like this:
> 
> ./include/trace/perf.h:26:16: warning: function 'perf_trace_brcmf_dbg' might be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
> 
> Add a workaround which disables -Wsuggest-attribute=format in tracepoint.h. I
> see similar workarounds in other drivers as well.
> 
> Compile tested only.
> 
> Signed-off-by: Kalle Valo <kvalo@kernel.org>

4 patches applied to wireless-next.git, thanks.

56714e5f1255 wifi: brcmfmac: fix gnu_printf warnings
4b6ec74ec476 wifi: brcmsmac: fix gnu_printf warnings
5ea0c3130900 wifi: hostap: fix stringop-truncations GCC warning
707a13c7e488 wifi: ray_cs: fix stringop-truncation GCC warning

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/20230613140918.389690-2-kvalo@kernel.org/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-06-16  9:28 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-13 14:09 [PATCH 0/4] wifi: drivers: fix remaining W=1 warnings Kalle Valo
2023-06-13 14:09 ` [PATCH 1/4] wifi: brcmfmac: fix gnu_printf warnings Kalle Valo
2023-06-16  9:26   ` Kalle Valo
2023-06-13 14:09 ` [PATCH 2/4] wifi: brcmsmac: " Kalle Valo
2023-06-13 14:09 ` [PATCH 3/4] wifi: hostap: fix stringop-truncations GCC warning Kalle Valo
2023-06-13 14:09 ` [PATCH 4/4] wifi: ray_cs: fix stringop-truncation " Kalle Valo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).