Re: [PATCH v2] ath6kl: replace one-element array with flexible-array member

From: Atul Raut
Date: Mon Aug 07 2023 - 11:31:24 EST



Considering everyone's input/comments, will refrain from altering this or

other submitted patches, as advised.

-Atul

On 8/7/23 07:13, Jeff Johnson wrote:
On 8/4/2023 2:30 AM, Greg KH wrote:
On Fri, Aug 04, 2023 at 10:10:37AM +0300, Kalle Valo wrote:
Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> writes:

On Thu, Aug 03, 2023 at 09:55:54PM -0700, Atul Raut wrote:

One-element arrays are no longer relevant, and their
place has been taken by flexible array members thus,
use a flexible-array member to replace the one-element
array in struct ath6kl_usb_ctrl_diag_cmd_write

This fixes warnings such as:
./drivers/net/wireless/ath/ath6kl/usb.c:109:8-12: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)

Signed-off-by: Atul Raut <rauji.raut@xxxxxxxxx>
---
  drivers/net/wireless/ath/ath6kl/usb.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath6kl/usb.c b/drivers/net/wireless/ath/ath6kl/usb.c
index 5220809841a6..c8ecc9e85897 100644
--- a/drivers/net/wireless/ath/ath6kl/usb.c
+++ b/drivers/net/wireless/ath/ath6kl/usb.c
@@ -106,7 +106,7 @@ struct ath6kl_usb_ctrl_diag_cmd_write {
      __le32 cmd;
      __le32 address;
      __le32 value;
-    __le32 _pad[1];
+    __le32 _pad[];

Are you sure this is actually a variable length array?

It's not, it's just padding. We both told this in v1:

https://patchwork.kernel.org/project/linux-wireless/patch/20230731012941.21875-1-rauji.raut@xxxxxxxxx/

Hey, I'm consistent, nice!  :)

But Atul, that's not good to ignore our review comments. Usually that
ends up meaning that everyone will then just ignore your submissions,
generally a not-good resolution.

thanks,

greg k-h

Since the 'pad' field is never directly accessed, suggest the author respin this this to use simply:
    __le32 _pad;

That will prevent others from trying to "fix" this actual one-element array in the future.