Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 3 Apr 2017 13:04:36 +0000 (UTC)
From:      "Andrey V. Elsukov" <ae@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r316458 - stable/11/sys/net
Message-ID:  <201704031304.v33D4aY8089450@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ae
Date: Mon Apr  3 13:04:36 2017
New Revision: 316458
URL: https://svnweb.freebsd.org/changeset/base/316458

Log:
  MFC r316013:
    Make pfil's locking macros private.
  
    Obtained from:	Yandex LLC

Modified:
  stable/11/sys/net/pfil.c
  stable/11/sys/net/pfil.h
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/net/pfil.c
==============================================================================
--- stable/11/sys/net/pfil.c	Mon Apr  3 12:48:56 2017	(r316457)
+++ stable/11/sys/net/pfil.c	Mon Apr  3 13:04:36 2017	(r316458)
@@ -63,6 +63,32 @@ VNET_DEFINE(struct pfilheadhead, pfil_he
 VNET_DEFINE(struct rmlock, pfil_lock);
 #define	V_pfil_lock	VNET(pfil_lock)
 
+#define	PFIL_LOCK_INIT_REAL(l, t)	\
+	rm_init_flags(l, "PFil " t " rmlock", RM_RECURSE)
+#define	PFIL_LOCK_DESTROY_REAL(l)	\
+	rm_destroy(l)
+#define	PFIL_LOCK_INIT(p)	do {			\
+	if ((p)->flags & PFIL_FLAG_PRIVATE_LOCK) {	\
+		PFIL_LOCK_INIT_REAL(&(p)->ph_lock, "private");	\
+		(p)->ph_plock = &(p)->ph_lock;		\
+	} else						\
+		(p)->ph_plock = &V_pfil_lock;		\
+} while (0)
+#define	PFIL_LOCK_DESTROY(p)	do {			\
+	if ((p)->flags & PFIL_FLAG_PRIVATE_LOCK)	\
+		PFIL_LOCK_DESTROY_REAL((p)->ph_plock);	\
+} while (0)
+
+#define	PFIL_TRY_RLOCK(p, t)	rm_try_rlock((p)->ph_plock, (t))
+#define	PFIL_RLOCK(p, t)	rm_rlock((p)->ph_plock, (t))
+#define	PFIL_WLOCK(p)		rm_wlock((p)->ph_plock)
+#define	PFIL_RUNLOCK(p, t)	rm_runlock((p)->ph_plock, (t))
+#define	PFIL_WUNLOCK(p)		rm_wunlock((p)->ph_plock)
+#define	PFIL_WOWNED(p)		rm_wowned((p)->ph_plock)
+
+#define	PFIL_HEADLIST_LOCK()	mtx_lock(&pfil_global_lock)
+#define	PFIL_HEADLIST_UNLOCK()	mtx_unlock(&pfil_global_lock)
+
 /*
  * pfil_run_hooks() runs the specified packet filter hook chain.
  */

Modified: stable/11/sys/net/pfil.h
==============================================================================
--- stable/11/sys/net/pfil.h	Mon Apr  3 12:48:56 2017	(r316457)
+++ stable/11/sys/net/pfil.h	Mon Apr  3 13:04:36 2017	(r316458)
@@ -109,7 +109,6 @@ int	pfil_head_register(struct pfil_head 
 int	pfil_head_unregister(struct pfil_head *);
 
 /* Public pfil locking functions for self managed locks by packet filters. */
-struct rm_priotracker;	/* Do not require including rmlock header */
 int	pfil_try_rlock(struct pfil_head *, struct rm_priotracker *);
 void	pfil_rlock(struct pfil_head *, struct rm_priotracker *);
 void	pfil_runlock(struct pfil_head *, struct rm_priotracker *);
@@ -117,32 +116,4 @@ void	pfil_wlock(struct pfil_head *);
 void	pfil_wunlock(struct pfil_head *);
 int	pfil_wowned(struct pfil_head *ph);
 
-/* Internal pfil locking functions. */
-#define	PFIL_LOCK_INIT_REAL(l, t)	\
-	rm_init_flags(l, "PFil " t " rmlock", RM_RECURSE)
-#define	PFIL_LOCK_DESTROY_REAL(l)	\
-	rm_destroy(l)
-#define	PFIL_LOCK_INIT(p)	do {			\
-	if ((p)->flags & PFIL_FLAG_PRIVATE_LOCK) {	\
-		PFIL_LOCK_INIT_REAL(&(p)->ph_lock, "private");	\
-		(p)->ph_plock = &(p)->ph_lock;		\
-	} else						\
-		(p)->ph_plock = &V_pfil_lock;		\
-} while (0)
-#define	PFIL_LOCK_DESTROY(p)	do {			\
-	if ((p)->flags & PFIL_FLAG_PRIVATE_LOCK)	\
-		PFIL_LOCK_DESTROY_REAL((p)->ph_plock);	\
-} while (0)
-
-#define	PFIL_TRY_RLOCK(p, t)	rm_try_rlock((p)->ph_plock, (t))
-#define	PFIL_RLOCK(p, t)	rm_rlock((p)->ph_plock, (t))
-#define	PFIL_WLOCK(p)		rm_wlock((p)->ph_plock)
-#define	PFIL_RUNLOCK(p, t)	rm_runlock((p)->ph_plock, (t))
-#define	PFIL_WUNLOCK(p)		rm_wunlock((p)->ph_plock)
-#define	PFIL_WOWNED(p)		rm_wowned((p)->ph_plock)
-
-/* Internal locking macros for global/vnet pfil_head_list. */
-#define	PFIL_HEADLIST_LOCK()	mtx_lock(&pfil_global_lock)
-#define	PFIL_HEADLIST_UNLOCK()	mtx_unlock(&pfil_global_lock)
-
 #endif /* _NET_PFIL_H_ */



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201704031304.v33D4aY8089450>