summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsef <sef@FreeBSD.org>1998-01-06 01:37:12 +0000
committersef <sef@FreeBSD.org>1998-01-06 01:37:12 +0000
commit082257799eb016d17f2ea10684dc8c250c8dce19 (patch)
tree15342579097de7237aabedf5cd5a5b42ab8d1c2d
parent34441bfff5c5156e303c6ea52543b0c0123c87e8 (diff)
downloadFreeBSD-src-082257799eb016d17f2ea10684dc8c250c8dce19.zip
FreeBSD-src-082257799eb016d17f2ea10684dc8c250c8dce19.tar.gz
Use CHECKIO in procfs_ioctl() to ensure that any changes in UID/GID result
in the expected failure.
-rw-r--r--sys/fs/procfs/procfs_vnops.c5
-rw-r--r--sys/miscfs/procfs/procfs_vnops.c5
2 files changed, 8 insertions, 2 deletions
diff --git a/sys/fs/procfs/procfs_vnops.c b/sys/fs/procfs/procfs_vnops.c
index b7e522b..b8bd8e9 100644
--- a/sys/fs/procfs/procfs_vnops.c
+++ b/sys/fs/procfs/procfs_vnops.c
@@ -36,7 +36,7 @@
*
* @(#)procfs_vnops.c 8.18 (Berkeley) 5/21/95
*
- * $Id: procfs_vnops.c,v 1.49 1997/12/20 03:05:47 sef Exp $
+ * $Id: procfs_vnops.c,v 1.50 1997/12/27 02:56:25 bde Exp $
*/
/*
@@ -236,6 +236,9 @@ procfs_ioctl(ap)
return ENOTTY;
}
+ if (!CHECKIO(p, procp))
+ return EPERM;
+
switch (ap->a_command) {
case PIOCBIS:
procp->p_stops |= *(unsigned int*)ap->a_data;
diff --git a/sys/miscfs/procfs/procfs_vnops.c b/sys/miscfs/procfs/procfs_vnops.c
index b7e522b..b8bd8e9 100644
--- a/sys/miscfs/procfs/procfs_vnops.c
+++ b/sys/miscfs/procfs/procfs_vnops.c
@@ -36,7 +36,7 @@
*
* @(#)procfs_vnops.c 8.18 (Berkeley) 5/21/95
*
- * $Id: procfs_vnops.c,v 1.49 1997/12/20 03:05:47 sef Exp $
+ * $Id: procfs_vnops.c,v 1.50 1997/12/27 02:56:25 bde Exp $
*/
/*
@@ -236,6 +236,9 @@ procfs_ioctl(ap)
return ENOTTY;
}
+ if (!CHECKIO(p, procp))
+ return EPERM;
+
switch (ap->a_command) {
case PIOCBIS:
procp->p_stops |= *(unsigned int*)ap->a_data;
OpenPOWER on IntegriCloud