diff options
author | John Baldwin <jhb@FreeBSD.org> | 2002-04-01 21:31:13 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2002-04-01 21:31:13 +0000 |
commit | 44731cab3b9966b7ca67f3fe50e7f3c711533730 (patch) | |
tree | 79021f0d43a5858be317d5cd33eac8cd4962b336 /sys/pccard/pccard.c | |
parent | a4a49508b4ddf1b482743f71bcd6707c9ce7b406 (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.c | 12 |
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) |