linux-kernel-mentees.lists.linuxfoundation.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] brcmfmac: Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper
@ 2023-08-03  5:22 Atul Raut
  2023-08-03  5:22 ` [PATCH v2] brcmfmac: replace one-element array with flexible-array member Atul Raut
  0 siblings, 1 reply; 10+ messages in thread
From: Atul Raut @ 2023-08-03  5:22 UTC (permalink / raw)
  To: aspriel
  Cc: linux-kernel-mentees, kvalo, linux-wireless,
	brcm80211-dev-list.pdl, franky.lin

Replacing zero-length arrays with C99 flexible-array members
because they are deprecated.
Use the new DECLARE_FLEX_ARRAY() auxiliary macro instead of defining
a zero-length array.

This fixes warnings such as:
./drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:119:6-9: 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/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
index de8a2e27f49c..983946b146b3 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
@@ -116,7 +116,7 @@ struct brcmf_dump_survey {
 struct cca_stats_n_flags {
 	u32 msrmnt_time; /* Time for Measurement (msec) */
 	u32 msrmnt_done; /* flag set when measurement complete */
-	char buf[1];
+	DECLARE_FLEX_ARRAY(char, buf);
 };
 
 struct cca_msrmnt_query {
-- 
2.34.1

_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

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

* [PATCH v2] brcmfmac: replace one-element array with flexible-array member
  2023-08-03  5:22 [PATCH] brcmfmac: Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper Atul Raut
@ 2023-08-03  5:22 ` Atul Raut
  2023-08-03  6:05   ` Kalle Valo
                     ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Atul Raut @ 2023-08-03  5:22 UTC (permalink / raw)
  To: aspriel
  Cc: linux-kernel-mentees, kvalo, linux-wireless,
	brcm80211-dev-list.pdl, franky.lin

One-element arrays are obsolete, and flexible
array members have taken their place. So, in
struct cca_stats_n_flags, replace the one-element
array with a flexible-array member.

This fixes warnings such as:
./drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:119:6-9: 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/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
index de8a2e27f49c..fff32e54833d 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
@@ -116,7 +116,7 @@ struct brcmf_dump_survey {
 struct cca_stats_n_flags {
 	u32 msrmnt_time; /* Time for Measurement (msec) */
 	u32 msrmnt_done; /* flag set when measurement complete */
-	char buf[1];
+	char buf[];
 };
 
 struct cca_msrmnt_query {
-- 
2.34.1

_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

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

* Re: [PATCH v2] brcmfmac: replace one-element array with flexible-array member
  2023-08-03  5:22 ` [PATCH v2] brcmfmac: replace one-element array with flexible-array member Atul Raut
@ 2023-08-03  6:05   ` Kalle Valo
  2024-01-18 11:25   ` Kalle Valo
  2024-01-18 13:53   ` Arend van Spriel
  2 siblings, 0 replies; 10+ messages in thread
From: Kalle Valo @ 2023-08-03  6:05 UTC (permalink / raw)
  To: Atul Raut
  Cc: linux-kernel-mentees, aspriel, linux-wireless,
	brcm80211-dev-list.pdl, franky.lin

Atul Raut <rauji.raut@gmail.com> writes:

> One-element arrays are obsolete, and flexible
> array members have taken their place. So, in
> struct cca_stats_n_flags, replace the one-element
> array with a flexible-array member.
>
> This fixes warnings such as:
> ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:119:6-9:
> 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>

I have now three patches from you in queue:

https://patchwork.kernel.org/project/linux-wireless/patch/20230731011635.20993-1-rauji.raut@gmail.com/

https://patchwork.kernel.org/project/linux-wireless/patch/20230803052238.12147-1-rauji.raut@gmail.com/

https://patchwork.kernel.org/project/linux-wireless/patch/20230803052238.12147-2-rauji.raut@gmail.com/

v1 submitted twice and v2 without any change log. Please read the
documentation from our wiki link below how to submit patches.

Also I would like to have a review from someone else before I consider
taking this.

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

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

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

* Re: [PATCH v2] brcmfmac: replace one-element array with flexible-array member
  2023-08-03  5:22 ` [PATCH v2] brcmfmac: replace one-element array with flexible-array member Atul Raut
  2023-08-03  6:05   ` Kalle Valo
@ 2024-01-18 11:25   ` Kalle Valo
  2024-01-18 13:53   ` Arend van Spriel
  2 siblings, 0 replies; 10+ messages in thread
From: Kalle Valo @ 2024-01-18 11:25 UTC (permalink / raw)
  To: Atul Raut
  Cc: aspriel, franky.lin, linux-wireless, brcm80211-dev-list.pdl,
	linux-kernel-mentees

Atul Raut <rauji.raut@gmail.com> wrote:

> One-element arrays are obsolete, and flexible
> array members have taken their place. So, in
> struct cca_stats_n_flags, replace the one-element
> array with a flexible-array member.
> 
> This fixes warnings such as:
> ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:119:6-9: 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>

Arend, what do you think? Link to the patch after "--" line.

-- 
https://patchwork.kernel.org/project/linux-wireless/patch/20230803052238.12147-2-rauji.raut@gmail.com/

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


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

* Re: [PATCH v2] brcmfmac: replace one-element array with flexible-array member
  2023-08-03  5:22 ` [PATCH v2] brcmfmac: replace one-element array with flexible-array member Atul Raut
  2023-08-03  6:05   ` Kalle Valo
  2024-01-18 11:25   ` Kalle Valo
@ 2024-01-18 13:53   ` Arend van Spriel
  2024-01-18 20:19     ` Kees Cook
  2 siblings, 1 reply; 10+ messages in thread
From: Arend van Spriel @ 2024-01-18 13:53 UTC (permalink / raw)
  To: Atul Raut, aspriel, Kees Cook
  Cc: franky.lin, kvalo, linux-wireless, brcm80211-dev-list.pdl,
	linux-kernel-mentees

[-- Attachment #1: Type: text/plain, Size: 1321 bytes --]

+ Kees

On 8/3/2023 7:22 AM, Atul Raut wrote:
> One-element arrays are obsolete, and flexible
> array members have taken their place. So, in
> struct cca_stats_n_flags, replace the one-element
> array with a flexible-array member.
> 
> This fixes warnings such as:
> ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:119:6-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)

I think this correct, but maybe Kees can give definitive answer here.

> Signed-off-by: Atul Raut <rauji.raut@gmail.com>
> ---
>   drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> index de8a2e27f49c..fff32e54833d 100644
> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> @@ -116,7 +116,7 @@ struct brcmf_dump_survey {
>   struct cca_stats_n_flags {
>   	u32 msrmnt_time; /* Time for Measurement (msec) */
>   	u32 msrmnt_done; /* flag set when measurement complete */
> -	char buf[1];
> +	char buf[];
>   };
>   
>   struct cca_msrmnt_query {

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4219 bytes --]

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

* Re: [PATCH v2] brcmfmac: replace one-element array with flexible-array member
  2024-01-18 13:53   ` Arend van Spriel
@ 2024-01-18 20:19     ` Kees Cook
  2024-01-19  6:35       ` Arend Van Spriel
  2024-01-19 13:00       ` Lukas Bulwahn
  0 siblings, 2 replies; 10+ messages in thread
From: Kees Cook @ 2024-01-18 20:19 UTC (permalink / raw)
  To: Arend van Spriel
  Cc: Atul Raut, aspriel, franky.lin, kvalo, linux-wireless,
	brcm80211-dev-list.pdl, linux-kernel-mentees

On Thu, Jan 18, 2024 at 02:53:28PM +0100, Arend van Spriel wrote:
> + Kees
> 
> On 8/3/2023 7:22 AM, Atul Raut wrote:
> > One-element arrays are obsolete, and flexible
> > array members have taken their place. So, in
> > struct cca_stats_n_flags, replace the one-element
> > array with a flexible-array member.
> > 
> > This fixes warnings such as:
> > ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:119:6-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> 
> I think this correct, but maybe Kees can give definitive answer here.
> 
> > Signed-off-by: Atul Raut <rauji.raut@gmail.com>
> > ---
> >   drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> > index de8a2e27f49c..fff32e54833d 100644
> > --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> > +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> > @@ -116,7 +116,7 @@ struct brcmf_dump_survey {
> >   struct cca_stats_n_flags {
> >   	u32 msrmnt_time; /* Time for Measurement (msec) */
> >   	u32 msrmnt_done; /* flag set when measurement complete */
> > -	char buf[1];
> > +	char buf[];
> >   };
> >   struct cca_msrmnt_query {

Normally a [1] -> [] conversion needs some details in the commit log
about why this is safe (since it runs the risk of changing sizeof(struct
cca_stats_n_flags). In this case, there's only a single user of the
struct, and nothing about its use depends on its size:

#define BRCMF_DCMD_MEDLEN       1536
...
        struct cca_stats_n_flags *results;
        char *buf;
	...
        buf = kzalloc(sizeof(char) * BRCMF_DCMD_MEDLEN, GFP_KERNEL);
	...
        results = (struct cca_stats_n_flags *)(buf);
	...
                brcmf_parse_dump_obss(results->buf, survey);

So, the allocation size is big enough for the struct, and nothing
depends on the struct size.

Reviewed-by: Kees Cook <keescook@chromium.org>

-- 
Kees Cook

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

* Re: [PATCH v2] brcmfmac: replace one-element array with flexible-array member
  2024-01-18 20:19     ` Kees Cook
@ 2024-01-19  6:35       ` Arend Van Spriel
  2024-01-19 13:00       ` Lukas Bulwahn
  1 sibling, 0 replies; 10+ messages in thread
From: Arend Van Spriel @ 2024-01-19  6:35 UTC (permalink / raw)
  To: Kees Cook
  Cc: Atul Raut, aspriel, franky.lin, kvalo, linux-wireless,
	brcm80211-dev-list.pdl, linux-kernel-mentees

[-- Attachment #1: Type: text/plain, Size: 2325 bytes --]

On January 18, 2024 9:19:52 PM Kees Cook <keescook@chromium.org> wrote:

> On Thu, Jan 18, 2024 at 02:53:28PM +0100, Arend van Spriel wrote:
>> + Kees
>>
>> On 8/3/2023 7:22 AM, Atul Raut wrote:
>>> One-element arrays are obsolete, and flexible
>>> array members have taken their place. So, in
>>> struct cca_stats_n_flags, replace the one-element
>>> array with a flexible-array member.
>>>
>>> This fixes warnings such as:
>>> ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:119:6-9: 
>>> WARNING use flexible-array member instead 
>>> (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
>>
>> I think this correct, but maybe Kees can give definitive answer here.
>>
>>> Signed-off-by: Atul Raut <rauji.raut@gmail.com>
>>> ---
>>> drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c 
>>> b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
>>> index de8a2e27f49c..fff32e54833d 100644
>>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
>>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
>>> @@ -116,7 +116,7 @@ struct brcmf_dump_survey {
>>> struct cca_stats_n_flags {
>>> u32 msrmnt_time; /* Time for Measurement (msec) */
>>> u32 msrmnt_done; /* flag set when measurement complete */
>>> - char buf[1];
>>> + char buf[];
>>> };
>>> struct cca_msrmnt_query {
>
> Normally a [1] -> [] conversion needs some details in the commit log
> about why this is safe (since it runs the risk of changing sizeof(struct
> cca_stats_n_flags). In this case, there's only a single user of the
> struct, and nothing about its use depends on its size:
>
> #define BRCMF_DCMD_MEDLEN       1536
> ...
>        struct cca_stats_n_flags *results;
>        char *buf;
> ...
>        buf = kzalloc(sizeof(char) * BRCMF_DCMD_MEDLEN, GFP_KERNEL);
> ...
>        results = (struct cca_stats_n_flags *)(buf);
> ...
>                brcmf_parse_dump_obss(results->buf, survey);
>
> So, the allocation size is big enough for the struct, and nothing
> depends on the struct size.
>
> Reviewed-by: Kees Cook <keescook@chromium.org>

Thanks for the confirmation.

Regards,
Arend

> --
> Kees Cook




[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4219 bytes --]

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

* Re: [PATCH v2] brcmfmac: replace one-element array with flexible-array member
  2024-01-18 20:19     ` Kees Cook
  2024-01-19  6:35       ` Arend Van Spriel
@ 2024-01-19 13:00       ` Lukas Bulwahn
  2024-01-27  5:19         ` Atul Raut
  1 sibling, 1 reply; 10+ messages in thread
From: Lukas Bulwahn @ 2024-01-19 13:00 UTC (permalink / raw)
  To: Kees Cook
  Cc: Arend van Spriel, Atul Raut, aspriel, franky.lin, kvalo,
	linux-wireless, brcm80211-dev-list.pdl, linux-kernel-mentees

On Thu, Jan 18, 2024 at 9:20 PM Kees Cook <keescook@chromium.org> wrote:
>
> On Thu, Jan 18, 2024 at 02:53:28PM +0100, Arend van Spriel wrote:
> > + Kees
> >
> > On 8/3/2023 7:22 AM, Atul Raut wrote:
> > > One-element arrays are obsolete, and flexible
> > > array members have taken their place. So, in
> > > struct cca_stats_n_flags, replace the one-element
> > > array with a flexible-array member.
> > >
> > > This fixes warnings such as:
> > > ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:119:6-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
> >
> > I think this correct, but maybe Kees can give definitive answer here.
> >
> > > Signed-off-by: Atul Raut <rauji.raut@gmail.com>
> > > ---
> > >   drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> > > index de8a2e27f49c..fff32e54833d 100644
> > > --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> > > +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
> > > @@ -116,7 +116,7 @@ struct brcmf_dump_survey {
> > >   struct cca_stats_n_flags {
> > >     u32 msrmnt_time; /* Time for Measurement (msec) */
> > >     u32 msrmnt_done; /* flag set when measurement complete */
> > > -   char buf[1];
> > > +   char buf[];
> > >   };
> > >   struct cca_msrmnt_query {
>
> Normally a [1] -> [] conversion needs some details in the commit log
> about why this is safe (since it runs the risk of changing sizeof(struct
> cca_stats_n_flags). In this case, there's only a single user of the
> struct, and nothing about its use depends on its size:
>
> #define BRCMF_DCMD_MEDLEN       1536
> ...
>         struct cca_stats_n_flags *results;
>         char *buf;
>         ...
>         buf = kzalloc(sizeof(char) * BRCMF_DCMD_MEDLEN, GFP_KERNEL);
>         ...
>         results = (struct cca_stats_n_flags *)(buf);
>         ...
>                 brcmf_parse_dump_obss(results->buf, survey);
>
> So, the allocation size is big enough for the struct, and nothing
> depends on the struct size.
>
> Reviewed-by: Kees Cook <keescook@chromium.org>
>

As the linux-kernel-mentees mailing list is in CC, I assume that Atul
is a linux-kernel mentee. In that case, it is certainly reasonable and
at least of educational value for Atul to take Kees' explanation and
add this to the patch's commit message in his own words. Then, with
that, submit a PATCH v3.


Lukas

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

* Re: [PATCH v2] brcmfmac: replace one-element array with flexible-array member
  2024-01-19 13:00       ` Lukas Bulwahn
@ 2024-01-27  5:19         ` Atul Raut
  0 siblings, 0 replies; 10+ messages in thread
From: Atul Raut @ 2024-01-27  5:19 UTC (permalink / raw)
  To: Lukas Bulwahn, Kees Cook
  Cc: Arend van Spriel, aspriel, franky.lin, kvalo, linux-wireless,
	brcm80211-dev-list.pdl, linux-kernel-mentees

Thank You Kees,

Hello Lukas, Arend & Kalle,

Sorry for not getting back to you sooner, am out of county &

hence unable to push the patch right away.

Will share once back, apologize for inconvenience caused.

-Atul


On 1/19/24 05:00, Lukas Bulwahn wrote:
> On Thu, Jan 18, 2024 at 9:20 PM Kees Cook <keescook@chromium.org> wrote:
>> On Thu, Jan 18, 2024 at 02:53:28PM +0100, Arend van Spriel wrote:
>>> + Kees
>>>
>>> On 8/3/2023 7:22 AM, Atul Raut wrote:
>>>> One-element arrays are obsolete, and flexible
>>>> array members have taken their place. So, in
>>>> struct cca_stats_n_flags, replace the one-element
>>>> array with a flexible-array member.
>>>>
>>>> This fixes warnings such as:
>>>> ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:119:6-9: WARNING use flexible-array member instead (https://www.kernel.org/doc/html/latest/process/deprecated.html#zero-length-and-one-element-arrays)
>>> I think this correct, but maybe Kees can give definitive answer here.
>>>
>>>> Signed-off-by: Atul Raut <rauji.raut@gmail.com>
>>>> ---
>>>>    drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +-
>>>>    1 file changed, 1 insertion(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
>>>> index de8a2e27f49c..fff32e54833d 100644
>>>> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
>>>> +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
>>>> @@ -116,7 +116,7 @@ struct brcmf_dump_survey {
>>>>    struct cca_stats_n_flags {
>>>>      u32 msrmnt_time; /* Time for Measurement (msec) */
>>>>      u32 msrmnt_done; /* flag set when measurement complete */
>>>> -   char buf[1];
>>>> +   char buf[];
>>>>    };
>>>>    struct cca_msrmnt_query {
>> Normally a [1] -> [] conversion needs some details in the commit log
>> about why this is safe (since it runs the risk of changing sizeof(struct
>> cca_stats_n_flags). In this case, there's only a single user of the
>> struct, and nothing about its use depends on its size:
>>
>> #define BRCMF_DCMD_MEDLEN       1536
>> ...
>>          struct cca_stats_n_flags *results;
>>          char *buf;
>>          ...
>>          buf = kzalloc(sizeof(char) * BRCMF_DCMD_MEDLEN, GFP_KERNEL);
>>          ...
>>          results = (struct cca_stats_n_flags *)(buf);
>>          ...
>>                  brcmf_parse_dump_obss(results->buf, survey);
>>
>> So, the allocation size is big enough for the struct, and nothing
>> depends on the struct size.
>>
>> Reviewed-by: Kees Cook <keescook@chromium.org>
>>
> As the linux-kernel-mentees mailing list is in CC, I assume that Atul
> is a linux-kernel mentee. In that case, it is certainly reasonable and
> at least of educational value for Atul to take Kees' explanation and
> add this to the patch's commit message in his own words. Then, with
> that, submit a PATCH v3.
>
>
> Lukas

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

* [PATCH] brcmfmac: Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper
@ 2023-07-31  1:16 Atul Raut
  0 siblings, 0 replies; 10+ messages in thread
From: Atul Raut @ 2023-07-31  1:16 UTC (permalink / raw)
  To: aspriel
  Cc: linux-kernel-mentees, kvalo, linux-wireless,
	brcm80211-dev-list.pdl, franky.lin

Replacing zero-length arrays with C99 flexible-array members
because they are deprecated.
Use the new DECLARE_FLEX_ARRAY() auxiliary macro instead of defining
a zero-length array.

This fixes warnings such as:
./drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c:119:6-9: 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/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
index de8a2e27f49c..983946b146b3 100644
--- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
+++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c
@@ -116,7 +116,7 @@ struct brcmf_dump_survey {
 struct cca_stats_n_flags {
 	u32 msrmnt_time; /* Time for Measurement (msec) */
 	u32 msrmnt_done; /* flag set when measurement complete */
-	char buf[1];
+	DECLARE_FLEX_ARRAY(char, buf);
 };
 
 struct cca_msrmnt_query {
-- 
2.34.1

_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

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

end of thread, other threads:[~2024-01-27  5:19 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-08-03  5:22 [PATCH] brcmfmac: Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper Atul Raut
2023-08-03  5:22 ` [PATCH v2] brcmfmac: replace one-element array with flexible-array member Atul Raut
2023-08-03  6:05   ` Kalle Valo
2024-01-18 11:25   ` Kalle Valo
2024-01-18 13:53   ` Arend van Spriel
2024-01-18 20:19     ` Kees Cook
2024-01-19  6:35       ` Arend Van Spriel
2024-01-19 13:00       ` Lukas Bulwahn
2024-01-27  5:19         ` Atul Raut
  -- strict thread matches above, loose matches on Subject: below --
2023-07-31  1:16 [PATCH] brcmfmac: Replace zero-length arrays with DECLARE_FLEX_ARRAY() helper Atul Raut

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).