diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c index aaafcee02fc596b39d8556e0ed793225fe57b733..abbe2702c4007e42e5ad7b53986adb5776328867 100644 --- a/net/xfrm/xfrm_state.c +++ b/net/xfrm/xfrm_state.c @@ -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); }