• Cong Wang's avatar
    net_sched: fix a memory leak in atm_tc_init() · 306381ae
    Cong Wang authored
    When tcf_block_get() fails inside atm_tc_init(),
    atm_tc_put() is called to release the qdisc p->link.q.
    But the flow->ref prevents it to do so, as the flow->ref
    is still zero.
    
    Fix this by moving the p->link.ref initialization before
    tcf_block_get().
    
    Fixes: 6529eaba ("net: sched: introduce tcf block infractructure")
    Reported-and-tested-by: syzbot+d411cff6ab29cc2c311b@syzkaller.appspotmail.com
    Cc: Jamal Hadi Salim <jhs@mojatatu.com>
    Cc: Jiri Pirko <jiri@resnulli.us>
    Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    306381ae
sch_atm.c 19.5 KB