• C
    netrom: hold sock when setting skb->destructor · c9299c86
    Cong Wang 提交于
    [ Upstream commit 4638faac032756f7eab5524be7be56bee77e426b ]
    
    sock_efree() releases the sock refcnt, if we don't hold this refcnt
    when setting skb->destructor to it, the refcnt would not be balanced.
    This leads to several bug reports from syzbot.
    
    I have checked other users of sock_efree(), all of them hold the
    sock refcnt.
    
    Fixes: c8c8218ec5af ("netrom: fix a memory leak in nr_rx_frame()")
    Reported-and-tested-by: <syzbot+622bdabb128acc33427d@syzkaller.appspotmail.com>
    Reported-and-tested-by: <syzbot+6eaef7158b19e3fec3a0@syzkaller.appspotmail.com>
    Reported-and-tested-by: <syzbot+9399c158fcc09b21d0d2@syzkaller.appspotmail.com>
    Reported-and-tested-by: <syzbot+a34e5f3d0300163f0c87@syzkaller.appspotmail.com>
    Cc: Ralf Baechle <ralf@linux-mips.org>
    Signed-off-by: NCong Wang <xiyou.wangcong@gmail.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: NYang Yingliang <yangyingliang@huawei.com>
    c9299c86
af_netrom.c 32.8 KB