From: Stephen Hemminger <[EMAIL PROTECTED]>
Date: Wed, 12 Apr 2006 15:42:14 -0700
> By inspection, the clip idle timer code is racy on SMP.
> Here is a safe version of timer management.
> Untested, I don't have ATM hardware.
>
> Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]>
Applied, thank
Roland Dreier <[EMAIL PROTECTED]> wrote:
>
> I'm probably missing an obvious race but it seems del_timer_sync()
> should be fine on a timer that reschedules itself. del_timer_sync()
> loops until try_to_del_timer_sync() succeeds, and
> try_to_del_timer_sync() will fail unless the timer being kill
Herbert> I don't think this is enough though since this timer is
Herbert> one of those self-rescheduling timers. You need to
Herbert> provide some sort of a flag for it to stop scheduling
Herbert> itself and synchronise it properly.
I'm probably missing an obvious race but it seem
On Thu, Apr 13, 2006 at 10:26:30AM -0700, Stephen Hemminger wrote:
>
> Arp and neighbor table have the same rescheduling bug.
You're absolutely right. Maybe the easy way out for now is to make
clip unremovable.
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[EMAIL P
On Thu, 13 Apr 2006 22:45:34 +1000
Herbert Xu <[EMAIL PROTECTED]> wrote:
> On Wed, Apr 12, 2006 at 03:42:14PM -0700, Stephen Hemminger wrote:
> > By inspection, the clip idle timer code is racy on SMP.
> > Here is a safe version of timer management.
> > Untested, I don't have ATM hardware.
>
> Go
On Wed, Apr 12, 2006 at 03:42:14PM -0700, Stephen Hemminger wrote:
> By inspection, the clip idle timer code is racy on SMP.
> Here is a safe version of timer management.
> Untested, I don't have ATM hardware.
Good catch Stephen.
> - if (start_timer == 0)
> - del_timer(&idle_timer
By inspection, the clip idle timer code is racy on SMP.
Here is a safe version of timer management.
Untested, I don't have ATM hardware.
Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]>
--- clip.orig/net/atm/clip.c2006-04-12 14:24:10.0 -0700
+++ clip/net/atm/clip.c 2006-04-12 14:4