lkml.org 
[lkml]   [2020]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.19 443/639] net/sched: cbs: Fix error path of cbs_module_init
    Date
    From: YueHaibing <yuehaibing@huawei.com>

    [ Upstream commit 45d5cb137c3638b3a310f41b31d8e79daf647f14 ]

    If register_qdisc fails, we should unregister
    netdevice notifier.

    Reported-by: Hulk Robot <hulkci@huawei.com>
    Fixes: e0a7683d30e9 ("net/sched: cbs: fix port_rate miscalculation")
    Signed-off-by: YueHaibing <yuehaibing@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/sched/sch_cbs.c | 9 +++++++--
    1 file changed, 7 insertions(+), 2 deletions(-)

    diff --git a/net/sched/sch_cbs.c b/net/sched/sch_cbs.c
    index 81f84cb5dd23b..b3c8d04929df2 100644
    --- a/net/sched/sch_cbs.c
    +++ b/net/sched/sch_cbs.c
    @@ -552,12 +552,17 @@ static struct notifier_block cbs_device_notifier = {

    static int __init cbs_module_init(void)
    {
    - int err = register_netdevice_notifier(&cbs_device_notifier);
    + int err;

    + err = register_netdevice_notifier(&cbs_device_notifier);
    if (err)
    return err;

    - return register_qdisc(&cbs_qdisc_ops);
    + err = register_qdisc(&cbs_qdisc_ops);
    + if (err)
    + unregister_netdevice_notifier(&cbs_device_notifier);
    +
    + return err;
    }

    static void __exit cbs_module_exit(void)
    --
    2.20.1


    \
     
     \ /
      Last update: 2020-01-24 12:25    [W:4.424 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site