Re: [PATCH] RDMA/bnxt_re: Prefer kcalloc over open coded arithmetic

From: Selvin Xavier
Date: Tue Sep 07 2021 - 10:12:21 EST


On Sun, Sep 5, 2021 at 3:51 PM Leon Romanovsky <leon@xxxxxxxxxx> wrote:
>
> On Sun, Sep 05, 2021 at 10:18:12AM +0200, Len Baker wrote:
> > As noted in the "Deprecated Interfaces, Language Features, Attributes,
> > and Conventions" documentation [1], size calculations (especially
> > multiplication) should not be performed in memory allocator (or similar)
> > function arguments due to the risk of them overflowing. This could lead
> > to values wrapping around and a smaller allocation being made than the
> > caller was expecting. Using those allocations could lead to linear
> > overflows of heap memory and other misbehaviors.
> >
> > In this case this is not actually dynamic sizes: both sides of the
> > multiplication are constant values. However it is best to refactor this
> > anyway, just to keep the open-coded math idiom out of code.
> >
> > So, use the purpose specific kcalloc() function instead of the argument
> > size * count in the kzalloc() function.
> >
> > Also, remove the unnecessary initialization of the sqp_tbl variable
> > since it is set a few lines later.
> >
> > [1] https://www.kernel.org/doc/html/v5.14/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments
> >
> > Signed-off-by: Len Baker <len.baker@xxxxxxx>
> > ---
> > drivers/infiniband/hw/bnxt_re/ib_verbs.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
> >
>
> Thanks,
> Reviewed-by: Leon Romanovsky <leonro@xxxxxxxxxx>
Acked-by: Selvin Xavier <selvin.xavier@xxxxxxxxxxxx>

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature