• Vlad Yasevich's avatar
    sctp: Use correct sideffect command in duplicate cookie handling · f2815633
    Vlad Yasevich authored
    When SCTP is done processing a duplicate cookie chunk, it tries
    to delete a newly created association.  For that, it has to set
    the right association for the side-effect processing to work.
    However, when it uses the SCTP_CMD_NEW_ASOC command, that performs
    more work then really needed (like hashing the associationa and
    assigning it an id) and there is no point to do that only to
    delete the association as a next step.  In fact, it also creates
    an impossible condition where an association may be found by
    the getsockopt() call, and that association is empty.  This
    causes a crash in some sctp getsockopts.
    
    The solution is rather simple.  We simply use SCTP_CMD_SET_ASOC
    command that doesn't have all the overhead and does exactly
    what we need.
    Reported-by: default avatarKarl Heiss <kheiss@gmail.com>
    Tested-by: default avatarKarl Heiss <kheiss@gmail.com>
    CC: Neil Horman <nhorman@tuxdriver.com>
    Signed-off-by: default avatarVlad Yasevich <vyasevich@gmail.com>
    Acked-by: default avatarNeil Horman <nhorman@tuxdriver.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    f2815633
sm_statefuns.c 197 KB