ipsec: Add missing list_del() in xfrm_state_gc_task().
authorDavid S. Miller <davem@davemloft.net>
Wed, 10 Sep 2008 05:13:28 +0000 (22:13 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 10 Sep 2008 05:13:28 +0000 (22:13 -0700)
Otherwise entries stay on the GC todo list forever, even after we free
them.

Signed-off-by: David S. Miller <davem@davemloft.net>
net/xfrm/xfrm_state.c

index aaafcee02fc596b39d8556e0ed793225fe57b733..abbe2702c4007e42e5ad7b53986adb5776328867 100644 (file)
@@ -423,6 +423,7 @@ static void xfrm_state_gc_task(struct work_struct *data)
        list_for_each_entry_safe(x, tmp, &xfrm_state_gc_leftovers, gclist) {
                if ((long)(x->lastused - completed) > 0)
                        break;
+               list_del(&x->gclist);
                xfrm_state_gc_destroy(x);
        }