On Sun, Jun 12, 2016 at 4:21 PM, Eric Dumazet <eric.duma...@gmail.com> wrote:
> +               struct Qdisc *child;
> +
> +               if (q->queues[i] != &noop_qdisc)
> +                       continue;
> +
> +               child = qdisc_create_dflt(sch->dev_queue, &pfifo_qdisc_ops,
> +                                         TC_H_MAKE(sch->handle, i + 1));
> +               if (!child)
> +                       return -ENOMEM;

Since this is inside a loop, shouldn't we kfree the previous child
creations when we fail?



> +               sch_tree_lock(sch);
> +               q->queues[i] = child;
> +               sch_tree_unlock(sch);
>         }
>         return 0;
>  }
>
>

Reply via email to