Re: [PATCH] sfc: should check the return value after allocating memory

From: Edward Cree
Date: Wed Oct 30 2019 - 15:12:50 EST


On 30/10/2019 09:12, zhong jiang wrote:
> kcalloc may fails to allocate memory, hence if it is in that case,
> We should drop out in time.
>
> Signed-off-by: zhong jiang <zhongjiang@xxxxxxxxxx>
> ---
> drivers/net/ethernet/sfc/efx.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c
> index 2fef740..712380a 100644
> --- a/drivers/net/ethernet/sfc/efx.c
> +++ b/drivers/net/ethernet/sfc/efx.c
> @@ -3040,6 +3040,8 @@ static int efx_init_struct(struct efx_nic *efx,
> /* Failure to allocate is not fatal, but may degrade ARFS performance */
> efx->rps_hash_table = kcalloc(EFX_ARFS_HASH_TABLE_SIZE,
> sizeof(*efx->rps_hash_table), GFP_KERNEL);
> + if (!efx->rps_hash_table)
> + goto fail;
NAK.
As per the comment just above the allocation, if this allocation fails we are
able to continue (albeit with possibly reduced performance), since the code
paths that use efx->rps_hash_table all NULL-check it.

-Ed
> #endif
> efx->phy_op = &efx_dummy_phy_operations;
> efx->mdio.dev = net_dev;
>