All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] carl9170: Replace zero-length array of trailing structs with flex-array
@ 2022-11-18 21:11 Kees Cook
  2022-11-18 22:34 ` Gustavo A. R. Silva
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Kees Cook @ 2022-11-18 21:11 UTC (permalink / raw)
  To: Christian Lamparter
  Cc: Kees Cook, Kalle Valo, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Gustavo A. R. Silva, linux-wireless,
	netdev, linux-kernel, linux-hardening

Zero-length arrays are deprecated[1] and are being replaced with
flexible array members in support of the ongoing efforts to tighten the
FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing
with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3.

Replace zero-length array with flexible-array member.

This results in no differences in binary output.

[1] https://github.com/KSPP/linux/issues/78

Cc: Christian Lamparter <chunkeey@googlemail.com>
Cc: Kalle Valo <kvalo@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 drivers/net/wireless/ath/carl9170/fwcmd.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/carl9170/fwcmd.h b/drivers/net/wireless/ath/carl9170/fwcmd.h
index 4a500095555c..ff4b3b50250c 100644
--- a/drivers/net/wireless/ath/carl9170/fwcmd.h
+++ b/drivers/net/wireless/ath/carl9170/fwcmd.h
@@ -118,10 +118,10 @@ struct carl9170_reg_list {
 } __packed;
 
 struct carl9170_write_reg {
-	struct {
+	DECLARE_FLEX_ARRAY(struct {
 		__le32		addr;
 		__le32		val;
-	} regs[0] __packed;
+	} __packed, regs);
 } __packed;
 
 struct carl9170_write_reg_byte {
-- 
2.34.1


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

* Re: [PATCH] carl9170: Replace zero-length array of trailing structs with flex-array
  2022-11-18 21:11 [PATCH] carl9170: Replace zero-length array of trailing structs with flex-array Kees Cook
@ 2022-11-18 22:34 ` Gustavo A. R. Silva
  2022-11-18 22:54 ` Christian Lamparter
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 6+ messages in thread
From: Gustavo A. R. Silva @ 2022-11-18 22:34 UTC (permalink / raw)
  To: Kees Cook
  Cc: Christian Lamparter, Kalle Valo, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, linux-wireless, netdev,
	linux-kernel, linux-hardening

On Fri, Nov 18, 2022 at 01:11:47PM -0800, Kees Cook wrote:
> Zero-length arrays are deprecated[1] and are being replaced with
> flexible array members in support of the ongoing efforts to tighten the
> FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing
> with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3.
> 
> Replace zero-length array with flexible-array member.
> 
> This results in no differences in binary output.
> 
> [1] https://github.com/KSPP/linux/issues/78
> 
> Cc: Christian Lamparter <chunkeey@googlemail.com>
> Cc: Kalle Valo <kvalo@kernel.org>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
> Cc: linux-wireless@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Signed-off-by: Kees Cook <keescook@chromium.org>

Another sneaky one. :p

Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>

Thanks!
--
Gustavo

> ---
>  drivers/net/wireless/ath/carl9170/fwcmd.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/carl9170/fwcmd.h b/drivers/net/wireless/ath/carl9170/fwcmd.h
> index 4a500095555c..ff4b3b50250c 100644
> --- a/drivers/net/wireless/ath/carl9170/fwcmd.h
> +++ b/drivers/net/wireless/ath/carl9170/fwcmd.h
> @@ -118,10 +118,10 @@ struct carl9170_reg_list {
>  } __packed;
>  
>  struct carl9170_write_reg {
> -	struct {
> +	DECLARE_FLEX_ARRAY(struct {
>  		__le32		addr;
>  		__le32		val;
> -	} regs[0] __packed;
> +	} __packed, regs);
>  } __packed;
>  
>  struct carl9170_write_reg_byte {
> -- 
> 2.34.1
> 

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

* Re: [PATCH] carl9170: Replace zero-length array of trailing structs with flex-array
  2022-11-18 21:11 [PATCH] carl9170: Replace zero-length array of trailing structs with flex-array Kees Cook
  2022-11-18 22:34 ` Gustavo A. R. Silva
@ 2022-11-18 22:54 ` Christian Lamparter
  2022-11-19  6:39 ` Kalle Valo
  2022-11-25 11:15 ` Kalle Valo
  3 siblings, 0 replies; 6+ messages in thread
From: Christian Lamparter @ 2022-11-18 22:54 UTC (permalink / raw)
  To: Kees Cook, Christian Lamparter
  Cc: Kalle Valo, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Gustavo A. R. Silva, linux-wireless, netdev,
	linux-kernel, linux-hardening

On 11/18/22 22:11, Kees Cook wrote:
> Zero-length arrays are deprecated[1] and are being replaced with
> flexible array members in support of the ongoing efforts to tighten the
> FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing
> with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3.
> 
> Replace zero-length array with flexible-array member.
> 
> This results in no differences in binary output.
> 
> [1] https://github.com/KSPP/linux/issues/78
> 
> Cc: Christian Lamparter <chunkeey@googlemail.com>
> Cc: Kalle Valo <kvalo@kernel.org>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
> Cc: linux-wireless@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Signed-off-by: Kees Cook <keescook@chromium.org>
Acked-by: Christian Lamparter <chunkeey@gmail.com>

> ---
>   drivers/net/wireless/ath/carl9170/fwcmd.h | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/carl9170/fwcmd.h b/drivers/net/wireless/ath/carl9170/fwcmd.h
> index 4a500095555c..ff4b3b50250c 100644
> --- a/drivers/net/wireless/ath/carl9170/fwcmd.h
> +++ b/drivers/net/wireless/ath/carl9170/fwcmd.h
> @@ -118,10 +118,10 @@ struct carl9170_reg_list {
>   } __packed;
>   
>   struct carl9170_write_reg {
> -	struct {
> +	DECLARE_FLEX_ARRAY(struct {
>   		__le32		addr;
>   		__le32		val;
> -	} regs[0] __packed;
> +	} __packed, regs);
>   } __packed;
>   
>   struct carl9170_write_reg_byte {


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

* Re: [PATCH] carl9170: Replace zero-length array of trailing structs with flex-array
  2022-11-18 21:11 [PATCH] carl9170: Replace zero-length array of trailing structs with flex-array Kees Cook
  2022-11-18 22:34 ` Gustavo A. R. Silva
  2022-11-18 22:54 ` Christian Lamparter
@ 2022-11-19  6:39 ` Kalle Valo
  2022-11-19  7:08   ` Kees Cook
  2022-11-25 11:15 ` Kalle Valo
  3 siblings, 1 reply; 6+ messages in thread
From: Kalle Valo @ 2022-11-19  6:39 UTC (permalink / raw)
  To: Kees Cook
  Cc: Christian Lamparter, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Gustavo A. R. Silva, linux-wireless,
	netdev, linux-kernel, linux-hardening

Kees Cook <keescook@chromium.org> writes:

> Zero-length arrays are deprecated[1] and are being replaced with
> flexible array members in support of the ongoing efforts to tighten the
> FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing
> with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3.
>
> Replace zero-length array with flexible-array member.
>
> This results in no differences in binary output.
>
> [1] https://github.com/KSPP/linux/issues/78
>
> Cc: Christian Lamparter <chunkeey@googlemail.com>
> Cc: Kalle Valo <kvalo@kernel.org>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
> Cc: linux-wireless@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Signed-off-by: Kees Cook <keescook@chromium.org>

Nowadays we include "wifi:" in the subject, but I can add that. But
please use this in the future for all wireless patches.

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

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

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

* Re: [PATCH] carl9170: Replace zero-length array of trailing structs with flex-array
  2022-11-19  6:39 ` Kalle Valo
@ 2022-11-19  7:08   ` Kees Cook
  0 siblings, 0 replies; 6+ messages in thread
From: Kees Cook @ 2022-11-19  7:08 UTC (permalink / raw)
  To: Kalle Valo
  Cc: Christian Lamparter, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Gustavo A. R. Silva, linux-wireless,
	netdev, linux-kernel, linux-hardening

On Sat, Nov 19, 2022 at 08:39:11AM +0200, Kalle Valo wrote:
> Kees Cook <keescook@chromium.org> writes:
> 
> > Zero-length arrays are deprecated[1] and are being replaced with
> > flexible array members in support of the ongoing efforts to tighten the
> > FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing
> > with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3.
> >
> > Replace zero-length array with flexible-array member.
> >
> > This results in no differences in binary output.
> >
> > [1] https://github.com/KSPP/linux/issues/78
> >
> > Cc: Christian Lamparter <chunkeey@googlemail.com>
> > Cc: Kalle Valo <kvalo@kernel.org>
> > Cc: "David S. Miller" <davem@davemloft.net>
> > Cc: Eric Dumazet <edumazet@google.com>
> > Cc: Jakub Kicinski <kuba@kernel.org>
> > Cc: Paolo Abeni <pabeni@redhat.com>
> > Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
> > Cc: linux-wireless@vger.kernel.org
> > Cc: netdev@vger.kernel.org
> > Signed-off-by: Kees Cook <keescook@chromium.org>
> 
> Nowadays we include "wifi:" in the subject, but I can add that. But
> please use this in the future for all wireless patches.

Okay, thanks! I use a recency/frequency prefix guesser, but I've updated
it to include "wifi: " if "linux-wireless@vger.kernel.org" is in CC. :)

-- 
Kees Cook

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

* Re: [PATCH] carl9170: Replace zero-length array of trailing structs with flex-array
  2022-11-18 21:11 [PATCH] carl9170: Replace zero-length array of trailing structs with flex-array Kees Cook
                   ` (2 preceding siblings ...)
  2022-11-19  6:39 ` Kalle Valo
@ 2022-11-25 11:15 ` Kalle Valo
  3 siblings, 0 replies; 6+ messages in thread
From: Kalle Valo @ 2022-11-25 11:15 UTC (permalink / raw)
  To: Kees Cook
  Cc: Christian Lamparter, Kees Cook, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni, Gustavo A. R. Silva, linux-wireless,
	netdev, linux-kernel, linux-hardening

Kees Cook <keescook@chromium.org> wrote:

> Zero-length arrays are deprecated[1] and are being replaced with
> flexible array members in support of the ongoing efforts to tighten the
> FORTIFY_SOURCE routines on memcpy(), correctly instrument array indexing
> with UBSAN_BOUNDS, and to globally enable -fstrict-flex-arrays=3.
> 
> Replace zero-length array with flexible-array member.
> 
> This results in no differences in binary output.
> 
> [1] https://github.com/KSPP/linux/issues/78
> 
> Cc: Christian Lamparter <chunkeey@googlemail.com>
> Cc: Kalle Valo <kvalo@kernel.org>
> Cc: "David S. Miller" <davem@davemloft.net>
> Cc: Eric Dumazet <edumazet@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Paolo Abeni <pabeni@redhat.com>
> Cc: "Gustavo A. R. Silva" <gustavoars@kernel.org>
> Cc: linux-wireless@vger.kernel.org
> Cc: netdev@vger.kernel.org
> Signed-off-by: Kees Cook <keescook@chromium.org>
> Reviewed-by: Gustavo A. R. Silva <gustavoars@kernel.org>
> Acked-by: Christian Lamparter <chunkeey@gmail.com>
> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com>

Patch applied to ath-next branch of ath.git, thanks.

7256f28767fa wifi: carl9170: Replace zero-length array of trailing structs with flex-array

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/20221118211146.never.395-kees@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:[~2022-11-25 11:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-18 21:11 [PATCH] carl9170: Replace zero-length array of trailing structs with flex-array Kees Cook
2022-11-18 22:34 ` Gustavo A. R. Silva
2022-11-18 22:54 ` Christian Lamparter
2022-11-19  6:39 ` Kalle Valo
2022-11-19  7:08   ` Kees Cook
2022-11-25 11:15 ` Kalle Valo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.