• Eric W. Biederman's avatar
    net: Automatically allocate per namespace data. · f875bae0
    Eric W. Biederman authored
    To get the full benefit of batched network namespace cleanup netowrk
    device deletion needs to be performed by the generic code.  When
    using register_pernet_gen_device and freeing the data in exit_net
    it is impossible to delay allocation until after exit_net has called
    as the device uninit methods are no longer safe.
    
    To correct this, and to simplify working with per network namespace data
    I have moved allocation and deletion of per network namespace data into
    the network namespace core.  The core now frees the data only after
    all of the network namespace exit routines have run.
    
    Now it is only required to set the new fields .id and .size
    in the pernet_operations structure if you want network namespace
    data to be managed for you automatically.
    
    This makes the current register_pernet_gen_device and
    register_pernet_gen_subsys routines unnecessary.  For the moment
    I have left them as compatibility wrappers in net_namespace.h
    They will be removed once all of the users have been updated.
    Signed-off-by: default avatarEric W. Biederman <ebiederm@xmission.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f875bae0
net_namespace.c 13.7 KB