On Mon, Jun 13, 2016 at 11:33 AM, Eric Dumazet <[email protected]> wrote: > From: Eric Dumazet <[email protected]> > > Now prio_init() can return -ENOMEM, it also has to make sure > any allocated qdiscs are freed, since the caller (qdisc_create()) wont > call ->destroy() handler for us. > > More generally, we want a transactional behavior for "tc qdisc > change ...", so prio_tune() should not make modifications if > any error is returned. > > It means that we must validate parameters and allocate missing qdisc(s) > before taking root qdisc lock exactly once, to not leave the prio qdisc > in an intermediate state. > > Fixes: cbdf45116478 ("net_sched: prio: properly report out of memory errors") > Signed-off-by: Eric Dumazet <[email protected]> > Reported-by: Cong Wang <[email protected]>
Looks good to me, Acked-by: Cong Wang <[email protected]> Thanks!
