On 10/31/2011 11:03 PM, Mike Belopuhov wrote:
> committed, thanks!
>
> On Mon, Oct 31, 2011 at 8:52 PM, Erik Lax<[email protected]>  wrote:
>> It seems that one of three timeouts from pfsync_clone_create aren't
>> cancelled upon pfsync_clone_destroy. I attached a patch that worked for
me.
>>

Thanks,

However it seems that the problem still exists in some configuration (on
system with more "going on"). But if we block soft network interrupts
earlier the panics seems to disappear on those as well. I attached a
patch once again. I hope I haven't overlooked any possible side effects.

Regards
Erik Lax

---

--- sys/net/if_pfsync.c.orig    Wed Nov  2 12:38:53 2011
+++ sys/net/if_pfsync.c Wed Nov  2 11:20:56 2011
@@ -347,6 +347,7 @@
         struct pfsync_deferral *pd;
         int s;

+       s = splsoftnet();
         timeout_del(&sc->sc_bulkfail_tmo);
         timeout_del(&sc->sc_bulk_tmo);
         timeout_del(&sc->sc_tmo);
@@ -358,19 +359,18 @@

         pfsync_drop(sc);

-       s = splsoftnet();
         while (sc->sc_deferred>  0) {
                 pd = TAILQ_FIRST(&sc->sc_deferrals);
                 timeout_del(&pd->pd_tmo);
                 pfsync_undefer(pd, 0);
         }
-       splx(s);

         pool_destroy(&sc->sc_pool);
         free(sc->sc_imo.imo_membership, M_IPMOPTS);
         free(sc, M_DEVBUF);

         pfsyncif = NULL;
+       splx(s);

         return (0);
  }
---

[demime 1.01d removed an attachment of type application/pkcs7-signature which 
had a name of smime.p7s]

Reply via email to