[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAM_iQpX3OsM8nX-GG1KFCii8Ad5RsuuoZ159fEBYp6sshp1FHg@mail.gmail.com>
Date: Mon, 13 Jun 2016 14:21:17 -0700
From: Cong Wang <xiyou.wangcong@...il.com>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: David Miller <davem@...emloft.net>, netdev <netdev@...r.kernel.org>
Subject: Re: [PATCH v2 net] net_sched: prio: insure proper transactional behavior
On Mon, Jun 13, 2016 at 11:33 AM, Eric Dumazet <eric.dumazet@...il.com> wrote:
> From: Eric Dumazet <edumazet@...gle.com>
>
> 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 <edumazet@...gle.com>
> Reported-by: Cong Wang <xiyou.wangcong@...il.com>
Looks good to me,
Acked-by: Cong Wang <xiyou.wangcong@...il.com>
Thanks!
Powered by blists - more mailing lists