From 6f309b1d4e7fbb5ee72c876cb1319ea8a2618373 Mon Sep 17 00:00:00 2001 From: Arnaldo Carvalho de Melo Date: Mon, 20 Mar 2006 17:20:46 -0800 Subject: [PATCH] --- yaml --- r: 22143 b: refs/heads/master c: d5e9b2c737ecaedae66e3dffdd0d92d2a189ec5c h: refs/heads/master i: 22141: dbed4a90fe99c9d9a6030eb7976d0a46b83bf9ee 22139: fc927f7417e536bd9ea6bce12b38fee49a422342 22135: c8ce50f5dceeb08a1e2bc4c185bb9d033fb43333 22127: 9e84f22c81928aa1e7eb97bee88817c288492ea5 22111: 029190afd884e25ae6043eab203d2e355fbc4a82 22079: 7df66fb98d68861d76b2c582730576de4bb19f41 22015: 0b2d1d1a030522a54f30c07aa5c207688504e60f v: v3 --- [refs] | 2 +- trunk/net/dccp/ackvec.c | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index fd4acc342ea5..e7ee945bdffe 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 411447019ab583c659600b0519db5658a2444f11 +refs/heads/master: d5e9b2c737ecaedae66e3dffdd0d92d2a189ec5c diff --git a/trunk/net/dccp/ackvec.c b/trunk/net/dccp/ackvec.c index b4ff14f3d4f8..5c76e81658cf 100644 --- a/trunk/net/dccp/ackvec.c +++ b/trunk/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); }