• Eric W. Biederman's avatar
    net: Fix userspace RTM_NEWLINK notifications. · d90a909e
    Eric W. Biederman authored
    I received some bug reports about userspace programs having problems
    because after RTM_NEWLINK was received they could not immediate access
    files under /proc/sys/net/ because they had not been registered yet.
    
    The original problem was trivially fixed by moving the userspace
    notification from rtnetlink_event() to the end of
    register_netdevice().
    
    When testing that change I discovered I was still getting RTM_NEWLINK
    events before I could access proc and I was also getting RTM_NEWLINK
    events after I was seeing RTM_DELLINK.  Things practically guaranteed
    to confuse userspace.
    
    After a little more investigation these extra notifications proved to
    be from the new notifiers NETDEV_POST_INIT and NETDEV_UNREGISTER_BATCH
    hitting the default case in rtnetlink_event, and triggering
    unnecessary RTM_NEWLINK messages.
    
    rtnetlink_event now explicitly handles NETDEV_UNREGISTER_BATCH and
    NETDEV_POST_INIT to avoid sending the incorrect userspace
    notifications.
    Signed-off-by: default avatarEric W. Biederman <ebiederm@aristanetworks.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    d90a909e
rtnetlink.c 34.1 KB