• Vlad Yasevich's avatar
    [SCTP]: Fix a race between module load and protosw access · 270637ab
    Vlad Yasevich authored
    There is a race is SCTP between the loading of the module
    and the access by the socket layer to the protocol functions.
    In particular, a list of addresss that SCTP maintains is
    not initialized prior to the registration with the protosw.
    Thus it is possible for a user application to gain access
    to SCTP functions before everything has been initialized.
    The problem shows up as odd crashes during connection
    initializtion when we try to access the SCTP address list.
    
    The solution is to refactor how we do registration and
    initialize the lists prior to registering with the protosw.
    Care must be taken since the address list initialization
    depends on some other pieces of SCTP initialization.  Also
    the clean-up in case of failure now also needs to be refactored.
    Signed-off-by: default avatarVlad Yasevich <vladislav.yasevich@hp.com>
    Acked-by: default avatarSridhar Samudrala <sri@us.ibm.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    270637ab
protocol.c 36.4 KB