diff options
author | mlaier <mlaier@FreeBSD.org> | 2005-09-11 11:55:39 +0000 |
---|---|---|
committer | mlaier <mlaier@FreeBSD.org> | 2005-09-11 11:55:39 +0000 |
commit | ae191726d9a460464edd8207299d0ae5705fbb6d (patch) | |
tree | beefcc07f33f97d585fe0de7b25354c0f76a6fad | |
parent | 3af413ca70b1a91cb939973f7faec58a43a5963c (diff) | |
download | FreeBSD-src-ae191726d9a460464edd8207299d0ae5705fbb6d.zip FreeBSD-src-ae191726d9a460464edd8207299d0ae5705fbb6d.tar.gz |
Stop leaking a lock. This used to cause a propagate_priority() page fault
when setting syncdev and syncpeer.
Reported by: Dominic Marks
-rw-r--r-- | sys/contrib/pf/net/if_pfsync.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/contrib/pf/net/if_pfsync.c b/sys/contrib/pf/net/if_pfsync.c index 1ebaba9..971eea7 100644 --- a/sys/contrib/pf/net/if_pfsync.c +++ b/sys/contrib/pf/net/if_pfsync.c @@ -1135,14 +1135,14 @@ pfsyncioctl(struct ifnet *ifp, u_long cmd, caddr_t data) imo->imo_multicast_ifp = sc->sc_sync_ifp; imo->imo_multicast_ttl = PFSYNC_DFLTTL; imo->imo_multicast_loop = 0; +#ifdef __FreeBSD__ + PF_LOCK(); +#endif } if (sc->sc_sync_ifp || sc->sc_sendaddr.s_addr != INADDR_PFSYNC_GROUP) { /* Request a full state table update. */ -#ifdef __FreeBSD__ - PF_LOCK(); -#endif sc->sc_ureq_sent = time_uptime; #if NCARP > 0 if (pfsync_sync_ok) |