Message ID | 20230804045554.6934-1-rauji.raut@gmail.com (mailing list archive) |
---|---|
State | Rejected |
Delegated to: | Johannes Berg |
Headers | show |
Series | [v2] ath6kl: replace one-element array with flexible-array member | expand |
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@gmail.com> > --- > 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? And you just changed the size of this structure, are you sure this is correct? There have been lots of work on this type of thing in the past on the hardening mailing list, I suggest you work there with the developers to see if this is even a valid change first. thanks, greg k-h
Greg KH <gregkh@linuxfoundation.org> 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@gmail.com> >> --- >> 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@gmail.com/ > And you just changed the size of this structure, are you sure this is > correct? This patch is not correct. Atul, ALWAYS include a changelog when submitting a new version. Please carefully read our wiki link below before submitting new patches to wireless.
On Fri, Aug 04, 2023 at 10:10:37AM +0300, Kalle Valo wrote: > Greg KH <gregkh@linuxfoundation.org> 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@gmail.com> > >> --- > >> 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@gmail.com/ 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
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@linuxfoundation.org> 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@gmail.com> >>>> --- >>>> 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@gmail.com/ > > 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.
On Mon, Aug 07, 2023 at 07:13:20AM -0700, 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@linuxfoundation.org> 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@gmail.com> >>>>>--- >>>>> 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@gmail.com/ >> >>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.
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@linuxfoundation.org> 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@gmail.com> >>>>> --- >>>>> 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@gmail.com/ >>> >> >> 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.
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[]; } __packed; struct ath6kl_usb_ctrl_diag_cmd_read {
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@gmail.com> --- drivers/net/wireless/ath/ath6kl/usb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)