On 10/31/2011 02:33 PM, Erik Lax wrote:
> Hi,
>
> I may have found a bug concerning the creation and destruction of pfsync
> interfaces. I have tested the examples on 4.9 and 5.0-current. It
> doesn't only happen in the context of these proof-of-concept code
> examples, but was traced down from a real-world scenario. Crashes or
> live locks seems to be delayed somewhat (not instantly in the syscall)
> from destruction. Every ddb trace is different.
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.
# diff -urN sys/net/if_pfsync.c.orig sys/net/if_pfsync.c
--- sys/net/if_pfsync.c.orig Mon Oct 31 20:34:11 2011
+++ sys/net/if_pfsync.c Mon Oct 31 20:34:36 2011
@@ -347,6 +347,7 @@
struct pfsync_deferral *pd;
int s;
+ timeout_del(&sc->sc_bulkfail_tmo);
timeout_del(&sc->sc_bulk_tmo);
timeout_del(&sc->sc_tmo);
#if NCARP > 0
[demime 1.01d removed an attachment of type application/pkcs7-signature which
had a name of smime.p7s]