• Zhengchao Shao's avatar
    hamradio: fix issue of dev reference count leakage in bpq_device_event() · 85cbaf03
    Zhengchao Shao authored
    When following tests are performed, it will cause dev reference counting
    leakage.
    a)ip link add bond2 type bond mode balance-rr
    b)ip link set bond2 up
    c)ifenslave -f bond2 rose1
    d)ip link del bond2
    
    When new bond device is created, the default type of the bond device is
    ether. And the bond device is up, bpq_device_event() receives the message
    and creates a new bpq device. In this case, the reference count value of
    dev is hold once. But after "ifenslave -f bond2 rose1" command is
    executed, the type of the bond device is changed to rose. When the bond
    device is unregistered, bpq_device_event() will not put the dev reference
    count.
    
    Fixes: 1da177e4 ("Linux-2.6.12-rc2")
    Signed-off-by: default avatarZhengchao Shao <shaozhengchao@huawei.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    85cbaf03
bpqether.c 14.1 KB