Re: [PATCH 2.6.0-test4][IPv6] ip6_flowlabel.c: timer cleanups

From: David S. Miller
Date: Thu Aug 28 2003 - 01:35:16 EST


On 26 Aug 2003 19:54:41 +0530
Vinay K Nallamothu <vinay-rc@xxxxxxxxxxxxxx> wrote:

> @@ -104,10 +105,9 @@
> fl->opt = NULL;
> kfree(opt);
> }
> - if (!del_timer(&ip6_fl_gc_timer) ||
> - (long)(ip6_fl_gc_timer.expires - ttd) > 0)
> - ip6_fl_gc_timer.expires = ttd;
> - add_timer(&ip6_fl_gc_timer);
> + if (!timer_pending(&ip6_fl_gc_timer) ||
> + time_after(ip6_fl_gc_timer.expires, ttd))
> + mod_timer(&ip6_fl_gc_timer, ttd);
> }
> }
>

This code is still racey. This code needs to hold the
toplevel ip6_fl_lock during the GC timer manipulations
and tests.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/