From: Sathya Perla <sathya.pe...@broadcom.com>
Date: Fri, 22 Jul 2016 06:55:46 -0400

> @@ -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.

Reply via email to