diff mbox series

[next] wil6210: Avoid the use of one-element array

Message ID 20200715215755.GA21716@embeddedor (mailing list archive)
State Rejected
Delegated to: Kalle Valo
Headers show
Series [next] wil6210: Avoid the use of one-element array | expand

Commit Message

Gustavo A. R. Silva July 15, 2020, 9:57 p.m. UTC
One-element arrays are being deprecated[1]. Replace the one-element
array with a simple value type 'u8 reserved'[2], once this is just
a placeholder for alignment.

[1] https://github.com/KSPP/linux/issues/79
[2] https://github.com/KSPP/linux/issues/86

Tested-by: kernel test robot <lkp@intel.com>
Link: https://github.com/GustavoARSilva/linux-hardening/blob/master/cii/0-day/wil6210-20200715.md
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
---
 drivers/net/wireless/ath/wil6210/wmi.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Gustavo A. R. Silva July 22, 2020, 6:27 p.m. UTC | #1
Hi all,

Friendly ping: who can take this? :)

Thanks
--
Gustavo

On 7/15/20 16:57, Gustavo A. R. Silva wrote:
> One-element arrays are being deprecated[1]. Replace the one-element
> array with a simple value type 'u8 reserved'[2], once this is just
> a placeholder for alignment.
> 
> [1] https://github.com/KSPP/linux/issues/79
> [2] https://github.com/KSPP/linux/issues/86
> 
> Tested-by: kernel test robot <lkp@intel.com>
> Link: https://github.com/GustavoARSilva/linux-hardening/blob/master/cii/0-day/wil6210-20200715.md
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
> ---
>  drivers/net/wireless/ath/wil6210/wmi.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/wireless/ath/wil6210/wmi.h b/drivers/net/wireless/ath/wil6210/wmi.h
> index 9affa4525609..beb53cac329b 100644
> --- a/drivers/net/wireless/ath/wil6210/wmi.h
> +++ b/drivers/net/wireless/ath/wil6210/wmi.h
> @@ -3086,7 +3086,7 @@ struct wmi_scheduling_scheme_event {
>  	/* wmi_sched_scheme_failure_type */
>  	u8 failure_type;
>  	/* alignment to 32b */
> -	u8 reserved[1];
> +	u8 reserved;
>  } __packed;
>  
>  /* WMI_RS_CFG_CMDID - deprecated */
>
Johannes Berg July 22, 2020, 7:40 p.m. UTC | #2
On Wed, 2020-07-15 at 16:57 -0500, Gustavo A. R. Silva wrote:
> One-element arrays are being deprecated[1]. Replace the one-element
> array with a simple value type 'u8 reserved'[2], once this is just
> a placeholder for alignment.
> 
> [1] https://github.com/KSPP/linux/issues/79
> [2] https://github.com/KSPP/linux/issues/86

Umm, no, you're misinterpreting this ... This has nothing to do with
variable length and isn't used that way. As you can see from your own
patch, since you're not changing any users.

johannes
Gustavo A. R. Silva July 22, 2020, 8 p.m. UTC | #3
On 7/22/20 14:40, Johannes Berg wrote:
> On Wed, 2020-07-15 at 16:57 -0500, Gustavo A. R. Silva wrote:
>> One-element arrays are being deprecated[1]. Replace the one-element
>> array with a simple value type 'u8 reserved'[2], once this is just
>> a placeholder for alignment.
>>
>> [1] https://github.com/KSPP/linux/issues/79
>> [2] https://github.com/KSPP/linux/issues/86
> 
> Umm, no, you're misinterpreting this ... This has nothing to do with
> variable length and isn't used that way. As you can see from your own
> patch, since you're not changing any users.
> 

I understand that this 'reserved' field is being used merely for alignment
purposes:

drivers/net/wireless/ath/wil6210/wmi.h:

3080 /* WMI_SCHEDULING_SCHEME_EVENTID */
3081 struct wmi_scheduling_scheme_event {
3082         /* wmi_fw_status_e */
3083         u8 status;
3084         /* serial number given in command */
3085         u8 serial_num;
3086         /* wmi_sched_scheme_failure_type */
3087         u8 failure_type;
3088         /* alignment to 32b */
3089         u8 reserved[1];
3090 } __packed;

and that it's not being used as a variable-length array. The links are included
to inform the people about the reason why we are removing zero-length/one-element
arrays in the first place. The thing in this case is that it doesn't hurt to use
a simple value type instead of the one-element array form.

Thanks
--
Gustavo
Kalle Valo July 23, 2020, 6:43 a.m. UTC | #4
"Gustavo A. R. Silva" <gustavo@embeddedor.com> writes:

> Friendly ping: who can take this? :)

I'll take this if it's ok. I have been just busy due to vacation period.
Gustavo A. R. Silva July 24, 2020, 6:29 p.m. UTC | #5
On 7/23/20 01:43, Kalle Valo wrote:
> "Gustavo A. R. Silva" <gustavo@embeddedor.com> writes:
> 
>> Friendly ping: who can take this? :)
> 
> I'll take this if it's ok. I have been just busy due to vacation period.
> 

Thanks, Kalle. :)

--
Gustavo
Kalle Valo Aug. 14, 2020, 2:47 p.m. UTC | #6
"Gustavo A. R. Silva" <gustavoars@kernel.org> wrote:

> One-element arrays are being deprecated[1]. Replace the one-element
> array with a simple value type 'u8 reserved'[2], once this is just
> a placeholder for alignment.
> 
> [1] https://github.com/KSPP/linux/issues/79
> [2] https://github.com/KSPP/linux/issues/86
> 
> Tested-by: kernel test robot <lkp@intel.com>
> Link: https://github.com/GustavoARSilva/linux-hardening/blob/master/cii/0-day/wil6210-20200715.md
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>

I agree with Johannes, I don't see the point of this patch as there are
no clear benefits.

Patch set to Rejected.
diff mbox series

Patch

diff --git a/drivers/net/wireless/ath/wil6210/wmi.h b/drivers/net/wireless/ath/wil6210/wmi.h
index 9affa4525609..beb53cac329b 100644
--- a/drivers/net/wireless/ath/wil6210/wmi.h
+++ b/drivers/net/wireless/ath/wil6210/wmi.h
@@ -3086,7 +3086,7 @@  struct wmi_scheduling_scheme_event {
 	/* wmi_sched_scheme_failure_type */
 	u8 failure_type;
 	/* alignment to 32b */
-	u8 reserved[1];
+	u8 reserved;
 } __packed;
 
 /* WMI_RS_CFG_CMDID - deprecated */