aboutsummaryrefslogtreecommitdiff
path: root/sys/pccard/pccard.c
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2002-04-01 21:31:13 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2002-04-01 21:31:13 +0000
commit44731cab3b9966b7ca67f3fe50e7f3c711533730 (patch)
tree79021f0d43a5858be317d5cd33eac8cd4962b336 /sys/pccard/pccard.c
parenta4a49508b4ddf1b482743f71bcd6707c9ce7b406 (diff)
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@
Notes
Notes: svn path=/head/; revision=93593
Diffstat (limited to 'sys/pccard/pccard.c')
-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 a65d61898f40..964748b0aa35 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)