Re: [PATCH net-next v2] net: mvpp2: Don't use dynamic allocs for local variables

From: David Miller
Date: Thu Mar 22 2018 - 15:43:32 EST


From: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
Date: Thu, 22 Mar 2018 20:14:53 +0100

> Hello David,
>
> On Thu, 22 Mar 2018 14:47:09 -0400 (EDT),
> David Miller <davem@xxxxxxxxxxxxx> wrote :
>
>> From: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
>> Date: Wed, 21 Mar 2018 16:14:00 +0100
>>
>> In order to be an equivalent change you must bzero out this 'pe'
>> object on the stack. You are only initializing the index member
>> before passing it into other functions.
>
> I agree that this is unclear, but the functions I pass these objects to
> only need the index field to be set, and will fill the rest of the
> object according to the underlying HW representation (these objects
> mirror the HW configuration).
>
> I can see that this is confusing, we might want to make the
> mvpp2_prs_hw_read function more explicit about this.
>
> Would comments explaning this be enough, or should I try another way to
> make this cleaner ?

Please bzero the object as I have asked you to.

Today the function doesn't care about any input members other than
member, but in the future it might, and this is a bug waiting to
happen.

It is never good to pass partially initialized variables into
another piece of code.