summaryrefslogtreecommitdiffstats
path: root/sys/pccard
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2002-04-01 21:31:13 +0000
committerjhb <jhb@FreeBSD.org>2002-04-01 21:31:13 +0000
commitdc2e474f79c1287592679cd5e0c4c2307feccd60 (patch)
tree79021f0d43a5858be317d5cd33eac8cd4962b336 /sys/pccard
parent34c7d606c9818987384d404948ecdc98521462bd (diff)
downloadFreeBSD-src-dc2e474f79c1287592679cd5e0c4c2307feccd60.zip
FreeBSD-src-dc2e474f79c1287592679cd5e0c4c2307feccd60.tar.gz
Change the suser() API to take advantage of td_ucred as well as do a
general cleanup of the API. The entire API now consists of two functions similar to the pre-KSE API. The suser() function takes a thread pointer as its only argument. The td_ucred member of this thread must be valid so the only valid thread pointers are curthread and a few kernel threads such as thread0. The suser_cred() function takes a pointer to a struct ucred as its first argument and an integer flag as its second argument. The flag is currently only used for the PRISON_ROOT flag. Discussed on: smp@
Diffstat (limited to 'sys/pccard')
-rw-r--r--sys/pccard/pccard.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/sys/pccard/pccard.c b/sys/pccard/pccard.c
index a65d618..964748b 100644
--- a/sys/pccard/pccard.c
+++ b/sys/pccard/pccard.c
@@ -52,10 +52,6 @@
#include <machine/md_var.h>
-#if __FreeBSD_version < 500000
-#define suser_td(a) suser(a)
-#endif
-
#define MIN(a,b) ((a)<(b)?(a):(b))
static int allocate_driver(struct slot *, struct dev_desc *);
@@ -517,7 +513,7 @@ crdioctl(dev_t dev, u_long cmd, caddr_t data, int fflag, d_thread_t *td)
* At the very least, we only allow root to set the context.
*/
case PIOCSMEM:
- if (suser_td(td))
+ if (suser(td))
return (EPERM);
if (slt->state != filled)
return (ENXIO);
@@ -542,7 +538,7 @@ crdioctl(dev_t dev, u_long cmd, caddr_t data, int fflag, d_thread_t *td)
* Set I/O port context.
*/
case PIOCSIO:
- if (suser_td(td))
+ if (suser(td))
return (EPERM);
if (slt->state != filled)
return (ENXIO);
@@ -568,7 +564,7 @@ crdioctl(dev_t dev, u_long cmd, caddr_t data, int fflag, d_thread_t *td)
*(unsigned long *)data = pccard_mem;
break;
}
- if (suser_td(td))
+ if (suser(td))
return (EPERM);
/*
* Validate the memory by checking it against the I/O
@@ -600,7 +596,7 @@ crdioctl(dev_t dev, u_long cmd, caddr_t data, int fflag, d_thread_t *td)
* Allocate a driver to this slot.
*/
case PIOCSDRV:
- if (suser_td(td))
+ if (suser(td))
return (EPERM);
err = allocate_driver(slt, (struct dev_desc *)data);
if (!err)
OpenPOWER on IntegriCloud