Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5f9646c3d9f92a93b96c40e65c3d268baada842f
Commit:     5f9646c3d9f92a93b96c40e65c3d268baada842f
Parent:     a869981423b96045c49420a6884c72528836cea8
Author:     Vlad Yasevich <[EMAIL PROTECTED]>
AuthorDate: Tue Feb 5 14:23:44 2008 -0500
Committer:  Vlad Yasevich <[EMAIL PROTECTED]>
CommitDate: Wed Feb 6 21:27:39 2008 -0500

    [SCTP]: Make sure the chunk is off the transmitted list prior to freeing.
    
    In a few instances, we need to remove the chunk from the transmitted list
    prior to freeing it.  This is because the free code doesn't do that any
    more and so we need to do it manually.
    
    Signed-off-by: Vlad Yasevich <[EMAIL PROTECTED]>
---
 net/sctp/outqueue.c      |    4 +++-
 net/sctp/sm_make_chunk.c |    1 +
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/net/sctp/outqueue.c b/net/sctp/outqueue.c
index 3c2a281..1bb3c5c 100644
--- a/net/sctp/outqueue.c
+++ b/net/sctp/outqueue.c
@@ -1179,8 +1179,10 @@ int sctp_outq_sack(struct sctp_outq *q, struct 
sctp_sackhdr *sack)
                tchunk = list_entry(lchunk, struct sctp_chunk,
                                    transmitted_list);
                tsn = ntohl(tchunk->subh.data_hdr->tsn);
-               if (TSN_lte(tsn, ctsn))
+               if (TSN_lte(tsn, ctsn)) {
+                       list_del_init(&tchunk->transmitted_list);
                        sctp_chunk_free(tchunk);
+               }
        }
 
        /* ii) Set rwnd equal to the newly received a_rwnd minus the
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c
index 80b3c4f..e45be4e 100644
--- a/net/sctp/sm_make_chunk.c
+++ b/net/sctp/sm_make_chunk.c
@@ -3224,6 +3224,7 @@ int sctp_process_asconf_ack(struct sctp_association *asoc,
        }
 
        /* Free the cached last sent asconf chunk. */
+       list_del_init(&asconf->transmitted_list);
        sctp_chunk_free(asconf);
        asoc->addip_last_asconf = NULL;
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to