Date: Wed, 11 Jan 2012 14:19:04 +0000 (UTC) From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r229963 - head/sys/contrib/pf/net Message-ID: <201201111419.q0BEJ4bg063062@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: glebius Date: Wed Jan 11 14:19:04 2012 New Revision: 229963 URL: http://svn.freebsd.org/changeset/base/229963 Log: Add necessary locking in pfsync_in_ureq(). Modified: head/sys/contrib/pf/net/if_pfsync.c Modified: head/sys/contrib/pf/net/if_pfsync.c ============================================================================== --- head/sys/contrib/pf/net/if_pfsync.c Wed Jan 11 14:13:42 2012 (r229962) +++ head/sys/contrib/pf/net/if_pfsync.c Wed Jan 11 14:19:04 2012 (r229963) @@ -1433,6 +1433,9 @@ pfsync_in_ureq(struct pfsync_pkt *pkt, s } ura = (struct pfsync_upd_req *)(mp->m_data + offp); +#ifdef __FreeBSD__ + PF_LOCK(); +#endif for (i = 0; i < count; i++) { ur = &ura[i]; @@ -1450,11 +1453,12 @@ pfsync_in_ureq(struct pfsync_pkt *pkt, s if (ISSET(st->state_flags, PFSTATE_NOSYNC)) continue; - PF_LOCK(); pfsync_update_state_req(st); - PF_UNLOCK(); } } +#ifdef __FreeBSD__ + PF_UNLOCK(); +#endif return (len); } @@ -2975,7 +2979,7 @@ pfsync_bulk_start(void) printf("pfsync: received bulk update request\n"); #ifdef __FreeBSD__ - PF_LOCK(); + PF_LOCK_ASSERT(); if (TAILQ_EMPTY(&V_state_list)) #else if (TAILQ_EMPTY(&state_list)) @@ -2994,9 +2998,6 @@ pfsync_bulk_start(void) pfsync_bulk_status(PFSYNC_BUS_START); callout_reset(&sc->sc_bulk_tmo, 1, pfsync_bulk_update, sc); } -#ifdef __FreeBSD__ - PF_UNLOCK(); -#endif } void
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201111419.q0BEJ4bg063062>