aboutsummaryrefslogtreecommitdiff
path: root/sys/netgraph/ng_socket.c
diff options
context:
space:
mode:
authorRobert Watson <rwatson@FreeBSD.org>2006-11-06 13:42:10 +0000
committerRobert Watson <rwatson@FreeBSD.org>2006-11-06 13:42:10 +0000
commitacd3428b7d3e94cef0e1881c868cb4b131d4ff41 (patch)
treeb9dd284620eeaddbff089cef10e4b1afb7918279 /sys/netgraph/ng_socket.c
parent800c94083290dc4b38138b28cfc03ee77de4ff79 (diff)
Notes
Diffstat (limited to 'sys/netgraph/ng_socket.c')
-rw-r--r--sys/netgraph/ng_socket.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/netgraph/ng_socket.c b/sys/netgraph/ng_socket.c
index 028999b8b52b..2a0327503378 100644
--- a/sys/netgraph/ng_socket.c
+++ b/sys/netgraph/ng_socket.c
@@ -57,6 +57,7 @@
#include <sys/malloc.h>
#include <sys/mbuf.h>
#include <sys/mutex.h>
+#include <sys/priv.h>
#include <sys/protosw.h>
#include <sys/queue.h>
#include <sys/socket.h>
@@ -167,9 +168,11 @@ static int
ngc_attach(struct socket *so, int proto, struct thread *td)
{
struct ngpcb *const pcbp = sotongpcb(so);
+ int error;
- if (suser(td))
- return (EPERM);
+ error = priv_check(td, PRIV_NETGRAPH_CONTROL);
+ if (error)
+ return (error);
if (pcbp != NULL)
return (EISCONN);
return (ng_attach_cntl(so));