Hi David,
Please consider pulling from:
master.kernel.org:/pub/scm/linux/kernel/git/acme/net-2.6.17.git
Best Regards,
- Arnaldo
tree 39d2dec525df09a590e0d9ad162d734f3344e26d
parent 90753caf01c1a27cf3fd18f0e71c77db268856d3
author Arnaldo Carvalho de Melo <[EMAIL PROTECTED]> 1138987721 -0200
committer Arnaldo Carvalho de Melo <[EMAIL PROTECTED]> 1138987721 -0200
[DCCP] ackvec: Delete all the ack vector records in dccp_ackvec_free
Signed-off-by: Arnaldo Carvalho de Melo <[EMAIL PROTECTED]>
------------------------------------------------------------------------------
ackvec.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
------------------------------------------------------------------------------
diff --git a/net/dccp/ackvec.c b/net/dccp/ackvec.c
index 2a82acc..08b1b08 100644
--- a/net/dccp/ackvec.c
+++ b/net/dccp/ackvec.c
@@ -159,7 +159,17 @@ void dccp_ackvec_free(struct dccp_ackvec
{
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);
}