netdev
[Top] [All Lists]

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

To: Vinay K Nallamothu <vinay-rc@xxxxxxxxxxxxxx>
Subject: Re: [PATCH 2.6.0-test4][IPv6] ip6_flowlabel.c: timer cleanups
From: "David S. Miller" <davem@xxxxxxxxxx>
Date: Wed, 27 Aug 2003 23:25:14 -0700
Cc: netdev@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx
In-reply-to: <1061907882.1108.28.camel@lima.royalchallenge.com>
References: <1061907882.1108.28.camel@lima.royalchallenge.com>
Sender: netdev-bounce@xxxxxxxxxxx
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.

<Prev in Thread] Current Thread [Next in Thread>