• Taehee Yoo's avatar
    hsr: fix refcnt leak of hsr slave interface · 56dc0a0e
    Taehee Yoo authored
    In the commit e0a4b997 ("hsr: use upper/lower device infrastructure"),
    dev_get() was removed but dev_put() in the error path wasn't removed.
    So, if creating hsr interface command is failed, the reference counter leak
    of lower interface would occur.
    
    Test commands:
        ip link add dummy0 type dummy
        ip link add ipvlan0 link dummy0 type ipvlan mode l2
        ip link add ipvlan1 link dummy0 type ipvlan mode l2
        ip link add hsr0 type hsr slave1 ipvlan0 slave2 ipvlan1
        ip link del ipvlan0
    
    Result:
    [  633.271992][ T1280] unregister_netdevice: waiting for ipvlan0 to become free. Usage count = -1
    
    Fixes: e0a4b997 ("hsr: use upper/lower device infrastructure")
    Signed-off-by: default avatarTaehee Yoo <ap420073@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    56dc0a0e
hsr_slave.c 4.27 KB