HomeFreeBSD

pfsync: fix incorrect unlock during destroy

Description

pfsync: fix incorrect unlock during destroy

During pfsync_clone_destroy() we clean up pending packets. This
may involve calling pfsync_undefer() or callout_drain(). We may not
hold the bucket lock during callout_drain(), but must hold it during
pfsync_undefer().

We incorrectly always released the lock, leading to assertion failures
during cleanup if there were pending deferred packets.

MFC after: 1 week
Sponsored by: Orange Business Services

Details

Provenance
kpAuthored on Dec 1 2025, 9:30 PM
Parents
rG7a283c40188f: pfctl: restore '-Tload -f pf.conf' functionality
Branches
Unknown
Tags
Unknown