All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] power: supply: da9150-fg: remove VLA usage
@ 2018-03-09  4:58 Gustavo A. R. Silva
  2018-03-09 11:36 ` Adam Thomson
  0 siblings, 1 reply; 3+ messages in thread
From: Gustavo A. R. Silva @ 2018-03-09  4:58 UTC (permalink / raw)
  To: Support Opensource, Sebastian Reichel
  Cc: linux-pm, linux-kernel, kernel-hardening, Kees Cook, Gustavo A. R. Silva

In preparation to enabling -Wvla, remove VLA usage and replace it
with fixed-length arrays.

It seems that the length of array 'buf' will not exceed
DA9150_QIF_SHORT_SIZE bytes (2 bytes). But a fixed length
of DA9150_QIF_BYTE_SIZE bytes (8 bytes) was chosen in case
this change in the future.

Fixed as part of the directive to remove all VLAs from
the kernel: https://lkml.org/lkml/2018/3/7/621

Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
 drivers/power/supply/da9150-fg.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/power/supply/da9150-fg.c b/drivers/power/supply/da9150-fg.c
index 8b8ce97..96893be 100644
--- a/drivers/power/supply/da9150-fg.c
+++ b/drivers/power/supply/da9150-fg.c
@@ -92,7 +92,7 @@ struct da9150_fg {
 static u32 da9150_fg_read_attr(struct da9150_fg *fg, u8 code, u8 size)
 
 {
-	u8 buf[size];
+	u8 buf[DA9150_QIF_BYTE_SIZE];
 	u8 read_addr;
 	u32 res = 0;
 	int i;
@@ -111,7 +111,7 @@ static void da9150_fg_write_attr(struct da9150_fg *fg, u8 code, u8 size,
 				 u32 val)
 
 {
-	u8 buf[size];
+	u8 buf[DA9150_QIF_BYTE_SIZE];
 	u8 write_addr;
 	int i;
 
-- 
2.7.4

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

* RE: [PATCH] power: supply: da9150-fg: remove VLA usage
  2018-03-09  4:58 [PATCH] power: supply: da9150-fg: remove VLA usage Gustavo A. R. Silva
@ 2018-03-09 11:36 ` Adam Thomson
  2018-03-09 17:55   ` Gustavo A. R. Silva
  0 siblings, 1 reply; 3+ messages in thread
From: Adam Thomson @ 2018-03-09 11:36 UTC (permalink / raw)
  To: Gustavo A. R. Silva, Support Opensource, Sebastian Reichel
  Cc: linux-pm, linux-kernel, kernel-hardening, Kees Cook, Gustavo A. R. Silva

On 09 March 2018 04:58, Gustavo A. R. Silva wrote:

> In preparation to enabling -Wvla, remove VLA usage and replace it
> with fixed-length arrays.
> 
> It seems that the length of array 'buf' will not exceed
> DA9150_QIF_SHORT_SIZE bytes (2 bytes). But a fixed length
> of DA9150_QIF_BYTE_SIZE bytes (8 bytes) was chosen in case
> this change in the future.
> 
> Fixed as part of the directive to remove all VLAs from
> the kernel: https://lkml.org/lkml/2018/3/7/621
> 
> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> ---
>  drivers/power/supply/da9150-fg.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/power/supply/da9150-fg.c b/drivers/power/supply/da9150-fg.c
> index 8b8ce97..96893be 100644
> --- a/drivers/power/supply/da9150-fg.c
> +++ b/drivers/power/supply/da9150-fg.c
> @@ -92,7 +92,7 @@ struct da9150_fg {
>  static u32 da9150_fg_read_attr(struct da9150_fg *fg, u8 code, u8 size)
> 
>  {
> -	u8 buf[size];
> +	u8 buf[DA9150_QIF_BYTE_SIZE];

You can use DA9150_QIF_LONG_SIZE as that's the biggest size of an attribute
which can be accessed. This will also save a little space.

>  	u8 read_addr;
>  	u32 res = 0;
>  	int i;
> @@ -111,7 +111,7 @@ static void da9150_fg_write_attr(struct da9150_fg *fg, u8
> code, u8 size,
>  				 u32 val)
> 
>  {
> -	u8 buf[size];
> +	u8 buf[DA9150_QIF_BYTE_SIZE];
>  	u8 write_addr;
>  	int i;
> 
> --
> 2.7.4

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

* Re: [PATCH] power: supply: da9150-fg: remove VLA usage
  2018-03-09 11:36 ` Adam Thomson
@ 2018-03-09 17:55   ` Gustavo A. R. Silva
  0 siblings, 0 replies; 3+ messages in thread
From: Gustavo A. R. Silva @ 2018-03-09 17:55 UTC (permalink / raw)
  To: Adam Thomson, Gustavo A. R. Silva, Support Opensource, Sebastian Reichel
  Cc: linux-pm, linux-kernel, kernel-hardening, Kees Cook



On 03/09/2018 05:36 AM, Adam Thomson wrote:
> On 09 March 2018 04:58, Gustavo A. R. Silva wrote:
> 
>> In preparation to enabling -Wvla, remove VLA usage and replace it
>> with fixed-length arrays.
>>
>> It seems that the length of array 'buf' will not exceed
>> DA9150_QIF_SHORT_SIZE bytes (2 bytes). But a fixed length
>> of DA9150_QIF_BYTE_SIZE bytes (8 bytes) was chosen in case
>> this change in the future.
>>
>> Fixed as part of the directive to remove all VLAs from
>> the kernel: https://lkml.org/lkml/2018/3/7/621
>>
>> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
>> ---
>>   drivers/power/supply/da9150-fg.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/power/supply/da9150-fg.c b/drivers/power/supply/da9150-fg.c
>> index 8b8ce97..96893be 100644
>> --- a/drivers/power/supply/da9150-fg.c
>> +++ b/drivers/power/supply/da9150-fg.c
>> @@ -92,7 +92,7 @@ struct da9150_fg {
>>   static u32 da9150_fg_read_attr(struct da9150_fg *fg, u8 code, u8 size)
>>
>>   {
>> -	u8 buf[size];
>> +	u8 buf[DA9150_QIF_BYTE_SIZE];
> 
> You can use DA9150_QIF_LONG_SIZE as that's the biggest size of an attribute
> which can be accessed. This will also save a little space.
> 

I got it. I'll send v2 shortly.

Thanks for the feedback, Adam.
--
Gustavo

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

end of thread, other threads:[~2018-03-09 17:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-09  4:58 [PATCH] power: supply: da9150-fg: remove VLA usage Gustavo A. R. Silva
2018-03-09 11:36 ` Adam Thomson
2018-03-09 17:55   ` Gustavo A. R. Silva

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.