From d5e9b2c737ecaedae66e3dffdd0d92d2a189ec5c Mon Sep 17 00:00:00 2001
From: Arnaldo Carvalho de Melo <acme@mandriva.com>
Date: Mon, 20 Mar 2006 17:20:46 -0800
Subject: [PATCH] [DCCP] ackvec: Delete all the ack vector records in
 dccp_ackvec_free

Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
---
 net/dccp/ackvec.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/net/dccp/ackvec.c b/net/dccp/ackvec.c
index b4ff14f3d4f8..5c76e81658cf 100644
--- a/net/dccp/ackvec.c
+++ b/net/dccp/ackvec.c
@@ -159,7 +159,17 @@ void dccp_ackvec_free(struct dccp_ackvec *av)
 {
 	if (unlikely(av == NULL))
 		return;
-	WARN_ON(!list_empty(&av->dccpav_records));
+
+	if (!list_empty(&av->dccpav_records)) {
+		struct dccp_ackvec_record *avr, *next;
+
+		list_for_each_entry_safe(avr, next, &av->dccpav_records,
+					 dccpavr_node) {
+			list_del_init(&avr->dccpavr_node);
+			dccp_ackvec_record_delete(avr);
+		}
+	}
+
 	kmem_cache_free(dccp_ackvec_slab, av);
 }
 
-- 
GitLab