On Thu, 2021-01-07 at 20:06 -0800, Saeed Mahameed wrote: > On Thu, 2021-01-07 at 19:07 -0800, Jakub Kicinski wrote: > > On Thu, 7 Jan 2021 12:28:38 -0800 Saeed Mahameed wrote: > > > + int ret; > > > + > > > + counter = kzalloc(sizeof(*counter), GFP_KERNEL); > > > + if (!counter) > > > + return ERR_PTR(-ENOMEM); > > > + > > > + counter->is_shared = false; > > > + counter->counter = mlx5_fc_create(ct_priv->dev, true); > > > + if (IS_ERR(counter->counter)) { > > > + ct_dbg("Failed to create counter for ct entry"); > > > + ret = PTR_ERR(counter->counter); > > > + kfree(counter); > > > + return ERR_PTR(ret); > > > > The err ptr -> ret -> err ptr conversion seems entirely pointless, > > no? > Indeed, will address this in a net-next patch >
Actually no, because counter is being kfreed so we must return ERR_PTR(ret).