forked from Minki/linux
RDMA/uverbs: Don't overwrite NULL pointer with ZERO_SIZE_PTR
Number of specs is provided by user and in valid case can be equal to zero.
Such argument causes to call to kcalloc() with zero-length request and in
return the ZERO_SIZE_PTR is assigned. This pointer is different from NULL
and makes various if (..) checks to success.
Fixes: b6ba4a9aa5
("IB/uverbs: Add support for flow counters")
Signed-off-by: Leon Romanovsky <leonro@mellanox.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
This commit is contained in:
parent
1ccddc42da
commit
a5cc9831af
@ -2763,6 +2763,9 @@ static struct ib_uflow_resources *flow_resources_alloc(size_t num_specs)
|
||||
if (!resources)
|
||||
return NULL;
|
||||
|
||||
if (!num_specs)
|
||||
goto out;
|
||||
|
||||
resources->counters =
|
||||
kcalloc(num_specs, sizeof(*resources->counters), GFP_KERNEL);
|
||||
resources->collection =
|
||||
@ -2771,8 +2774,8 @@ static struct ib_uflow_resources *flow_resources_alloc(size_t num_specs)
|
||||
if (!resources->counters || !resources->collection)
|
||||
goto err;
|
||||
|
||||
out:
|
||||
resources->max = num_specs;
|
||||
|
||||
return resources;
|
||||
|
||||
err:
|
||||
|
Loading…
Reference in New Issue
Block a user