• Eric Dumazet's avatar
    garp: remove last synchronize_rcu() call · f607a158
    Eric Dumazet authored
    When removing last vlan from a device, garp_uninit_applicant() calls
    synchronize_rcu() to make sure no user can still manipulate struct
    garp_applicant before we free it.
    Use call_rcu() instead, as a step to further net_device dismantle
    Add the temporary garp_cleanup_module() function to make sure no pending
    call_rcu() are left at module unload time [ this will be removed when
    kfree_rcu() is available ]
    Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
garp.h 2.63 KB