summaryrefslogtreecommitdiffstats
path: root/sys/kern/uipc_usrreq.c
diff options
context:
space:
mode:
authoralfred <alfred@FreeBSD.org>2003-02-15 06:04:55 +0000
committeralfred <alfred@FreeBSD.org>2003-02-15 06:04:55 +0000
commit29fb7c2bce463e61580d0653a141df43ac982c4f (patch)
tree6c098d97cace4a0b11af4f27480aefdb513d245a /sys/kern/uipc_usrreq.c
parent4d9a4192f7eb015a646c0400dfb5aa7099a3a402 (diff)
downloadFreeBSD-src-29fb7c2bce463e61580d0653a141df43ac982c4f.zip
FreeBSD-src-29fb7c2bce463e61580d0653a141df43ac982c4f.tar.gz
Do not allow kqueues to be passed via unix domain sockets.
Diffstat (limited to 'sys/kern/uipc_usrreq.c')
-rw-r--r--sys/kern/uipc_usrreq.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
index 102d156..51c7d84 100644
--- a/sys/kern/uipc_usrreq.c
+++ b/sys/kern/uipc_usrreq.c
@@ -1171,6 +1171,13 @@ unp_internalize(controlp, td)
error = EBADF;
goto out;
}
+ fp = fdescp->fd_ofiles[fd];
+ if (!(fp->f_ops->fo_flags & DFLAG_PASSABLE)) {
+ FILEDESC_UNLOCK(fdescp);
+ error = EOPNOTSUPP;
+ goto out;
+ }
+
}
/*
* Now replace the integer FDs with pointers to
OpenPOWER on IntegriCloud