> -----Original Message-----
> From: David Miller [mailto:da...@davemloft.net]
>
> > @@ -4477,6 +4551,22 @@ static int be_if_create(struct be_adapter
*adapter)
> >     u32 cap_flags = be_if_cap_flags(adapter);
> >     int status;
> >
> > +   /* alloc required memory for other filtering fields */
> > +   adapter->pmac_id = kcalloc(be_max_uc(adapter),
> > +                              sizeof(*adapter->pmac_id), GFP_KERNEL);
> > +   if (!adapter->pmac_id)
> > +           return -ENOMEM;
> > +
> > +   adapter->mc_list = kcalloc(be_max_mc(adapter),
> > +                              sizeof(*adapter->mc_list), GFP_KERNEL);
> > +   if (!adapter->mc_list)
> > +           return -ENOMEM;
> > +
> > +   adapter->uc_list = kcalloc(be_max_uc(adapter),
> > +                              sizeof(*adapter->uc_list), GFP_KERNEL);
> > +   if (!adapter->uc_list)
> > +           return -ENOMEM;
>
> These error paths are leaking memory, please audit this in the rest of
your change as well.

David, thanks for catching this; will fix this (and others if any) and
send out a v2.

Reply via email to