• X
    sctp: avoid flushing unsent queue when doing asoc reset · 159f2a74
    Xin Long 提交于
    Now when doing asoc reset, it cleans up sacked and abandoned queues
    by calling sctp_outq_free where it also cleans up unsent, retransmit
    and transmitted queues.
    
    It's safe for the sender of response, as these 3 queues are empty at
    that time. But when the receiver of response is doing the reset, the
    users may already enqueue some chunks into unsent during the time
    waiting the response, and these chunks should not be flushed.
    
    To void the chunks in it would be removed, it moves the queue into a
    temp list, then gets it back after sctp_outq_free is done.
    
    The patch also fixes some incorrect comments in
    sctp_process_strreset_tsnreq.
    Signed-off-by: NXin Long <lucien.xin@gmail.com>
    Acked-by: NMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    159f2a74
stream.c 27.1 KB