• Vlad Yasevich's avatar
    net: count hw_addr syncs so that unsync works properly. · 4543fbef
    Vlad Yasevich authored
    A few drivers use dev_uc_sync/unsync to synchronize the
    address lists from master down to slave/lower devices.  In
    some cases (bond/team) a single address list is synched down
    to multiple devices.  At the time of unsync, we have a leak
    in these lower devices, because "synced" is treated as a
    boolean and the address will not be unsynced for anything after
    the first device/call.
    
    Treat "synced" as a count (same as refcount) and allow all
    unsync calls to work.
    Signed-off-by: default avatarVlad Yasevich <vyasevic@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4543fbef
dev_addr_lists.c 17.2 KB