freebsd-dev/sys/kern
Robert Watson 47460a23a0 o Introduce new VOP_ACCESS() flag VADMIN, allowing file systems to perform
"administrative" authorization checks.  In most cases, the VADMIN test
  checks to make sure the credential effective uid is the same as the file
  owner.
o Modify vaccess() to set VADMIN as an available right if the uid is
  appropriate.
o Modify references to uid-based access control operations such that they
  now always invoke VOP_ACCESS() instead of using hard-coded policy checks.
o This allows alternative UFS policies to be implemented by replacing only
  ufs_access() (such as mandatory system policies).
o VOP_ACCESS() requires the caller to hold an exclusive vnode lock on the
  vnode: I believe that new invocations of VOP_ACCESS() are always called
  with the lock held.
o Some direct checks of the uid remain, largely associated with the QUOTA
  and SUIDDIR code.

Reviewed by:	eivind
Obtained from:	TrustedBSD Project
2000-10-19 07:53:59 +00:00
..
bus_if.m Add new bus method 'GET_RESOURCE_LIST' and appropriate generic 2000-10-18 05:15:40 +00:00
device_if.m * Factor out the object system from new-bus so that it can be used by 2000-04-08 14:17:18 +00:00
genassym.sh Use "nm | awk ..." instead of genassym(1) to generate symbol value headers. 2000-06-02 09:27:48 +00:00
imgact_aout.c Add three new VOPs: VOP_CREATEVOBJECT, VOP_DESTROYVOBJECT and VOP_GETVOBJECT. 2000-09-12 09:49:08 +00:00
imgact_elf.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
imgact_gzip.c useracc() the prequel: 1999-10-29 18:09:36 +00:00
imgact_shell.c Fix #! script exec under linux emulation. If a script is exec'd from a 2000-04-26 20:58:40 +00:00
inflate.c Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" 1999-12-29 05:07:58 +00:00
init_main.c Release Giant before starting up init. 2000-09-15 19:25:29 +00:00
init_sysent.c Regen: fix prototypes for {o|}{g|s}etrlimit. 2000-08-28 07:56:38 +00:00
kern_acct.c Move the truncation code out of vn_open and into the open system call 2000-07-04 03:34:11 +00:00
kern_acl.c o Change locking rules for VOP_GETACL() to indicate that vnode locks 2000-09-21 18:43:32 +00:00
kern_cap.c o Simplify capability types away from an array of ints to a single 2000-10-13 17:12:58 +00:00
kern_clock.c - Change fast interrupts on x86 to push a full interrupt frame and to 2000-10-06 02:20:21 +00:00
kern_conf.c Rename lminor() to dev2unit(). This function gives a linear unit number 2000-09-19 10:28:44 +00:00
kern_descrip.c Avoid the modules madness I inadvertently introduced by making the 2000-09-02 19:17:34 +00:00
kern_environment.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_event.c o Centralize inter-process access control, introducing: 2000-08-30 04:49:09 +00:00
kern_exec.c Add a gross hack for ia64 to allocate the backing store for a new program. 2000-10-12 14:24:03 +00:00
kern_exit.c Added used include of <sys/mutex.h> (don't depend on pollution in 2000-09-17 12:20:49 +00:00
kern_fork.c Enforce process limit policy in one place to keep proccnt from diverging 2000-09-14 23:07:39 +00:00
kern_idle.c Axe the idle_event eventhandler, and add a MD cpu_idle function used 2000-10-19 07:47:16 +00:00
kern_intr.c - Heavyweight interrupt threads on the alpha for device I/O interrupts. 2000-10-05 23:09:57 +00:00
kern_jail.c o Modify jail to limit creation of sockets to UNIX domain sockets, 2000-06-04 04:28:31 +00:00
kern_kthread.c Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
kern_ktr.c Add KTR, a facility that logs kernel events in order to to facilitate 2000-09-07 01:29:44 +00:00
kern_ktrace.c Add KTR, a facility that logs kernel events in order to to facilitate 2000-09-07 01:29:44 +00:00
kern_linker.c Add a workaround for statically linked kernels. 2000-10-04 17:40:24 +00:00
kern_lock.c For lockmgr mutex protection, use an array of mutexes that are allocated 2000-10-12 22:37:28 +00:00
kern_lockf.c Commit the remaining part of PR14914: 1999-11-16 16:28:58 +00:00
kern_malloc.c Don't #include <sys/proc.h>, since machine/mutex.h does it now. 2000-09-23 00:01:37 +00:00
kern_mib.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
kern_module.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
kern_mutex.c Remove the mtx_t, witness_t, and witness_blessed_t types. Instead, just 2000-09-14 20:15:16 +00:00
kern_ntptime.c Updates to the ntp pll from John Hay. 2000-09-10 09:13:34 +00:00
kern_physio.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
kern_proc.c Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
kern_prot.c Remove uidinfo hash table lookup and maintenance out of chgproccnt() and 2000-09-05 22:11:13 +00:00
kern_resource.c Add new line character to debugging printf's. 2000-09-18 17:03:03 +00:00
kern_shutdown.c Remove unneeded #include <machine/clock.h> 2000-10-15 14:19:01 +00:00
kern_sig.c Unpessimized CURSIG(). The fast path through CURSIG() was broken in 2000-09-17 15:12:04 +00:00
kern_subr.c GC vax-only code 2000-09-14 16:51:47 +00:00
kern_switch.c Idle processes are always runnable, so let them state at SRUN. 2000-09-15 19:49:48 +00:00
kern_synch.c - Change fast interrupts on x86 to push a full interrupt frame and to 2000-10-06 02:20:21 +00:00
kern_syscalls.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
kern_sysctl.c Fix some style nits. 2000-07-28 22:40:04 +00:00
kern_tc.c Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
kern_threads.c Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
kern_time.c Remove unneeded <sys/buf.h> includes. 2000-04-18 15:15:39 +00:00
kern_timeout.c Restructure TCP timeout handling: 1999-08-30 21:17:07 +00:00
kern_xxx.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
ksched.c Remove unneeded #include <sys/kernel.h> 2000-04-29 15:36:14 +00:00
link_aout.c Change the conditionaal so that we only build this on i386 instead of 2000-09-29 13:32:24 +00:00
link_elf_obj.c Correct a warning where the r_debug_state() dummy function used to trigger 2000-10-06 05:20:02 +00:00
link_elf.c Correct a warning where the r_debug_state() dummy function used to trigger 2000-10-06 05:20:02 +00:00
linker_if.m First round implementation of a fine grain enhanced module to module 2000-04-29 13:19:31 +00:00
Make.tags.inc Update tags directive to reflect the new location of soft updates 2000-07-04 00:18:43 +00:00
makedevops.pl Put the header section in the header file not the c file. 2000-10-15 15:19:35 +00:00
Makefile ${MACHINE} -> ${MACHINE_ARCH} 1999-11-14 13:54:44 +00:00
makeobjops.pl * Factor out the object system from new-bus so that it can be used by 2000-04-08 14:17:18 +00:00
makesyscalls.sh Change the 'exit()' system call to 'sys_exit()'. This avoids overlapping 2000-07-29 00:16:28 +00:00
md5c.c Add ia64 support. 2000-09-29 13:36:47 +00:00
p1003_1b.c Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
posix4_mib.c Add $FreeBSD$. 2000-04-22 15:13:06 +00:00
subr_acl_posix1e.c o Change locking rules for VOP_GETACL() to indicate that vnode locks 2000-09-21 18:43:32 +00:00
subr_autoconf.c Back out the previous change to the queue(3) interface. 2000-05-26 02:09:24 +00:00
subr_blist.c Eliminate the undocumented, experimental, non-delivering and highly 2000-03-16 08:51:55 +00:00
subr_bus.c Add new bus method 'GET_RESOURCE_LIST' and appropriate generic 2000-10-18 05:15:40 +00:00
subr_clist.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
subr_devstat.c Support for unsigned integer and long sysctl variables. Update the 2000-07-05 07:46:41 +00:00
subr_disk.c Avoid the modules madness I inadvertently introduced by making the 2000-09-02 19:17:34 +00:00
subr_disklabel.c Turn dkcksum() into an __inline function. 2000-09-16 13:43:00 +00:00
subr_diskmbr.c Separate the struct bio related stuff out of <sys/buf.h> into 2000-05-05 09:59:14 +00:00
subr_diskslice.c Avoid the modules madness I inadvertently introduced by making the 2000-09-02 19:17:34 +00:00
subr_eventhandler.c Make the EVENTHANDLER mechanism MP-safe. Events can now be invoked 2000-09-22 03:17:35 +00:00
subr_kobj.c Add kobj_class_compile_static() to allow classes to be initialised 2000-08-28 21:11:12 +00:00
subr_log.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
subr_module.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
subr_param.c For lockmgr mutex protection, use an array of mutexes that are allocated 2000-10-12 22:37:28 +00:00
subr_prf.c Treat %X the same as %x (not entirely correct, but close enough). 2000-10-02 07:13:10 +00:00
subr_prof.c Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
subr_rman.c Implement resource alignment as discussed in arch@ a long time ago. 2000-10-17 22:08:03 +00:00
subr_scanf.c Change the prototype of the strto* routines to make the second 1999-11-24 01:03:08 +00:00
subr_smp.c - Change fast interrupts on x86 to push a full interrupt frame and to 2000-10-06 02:20:21 +00:00
subr_taskqueue.c - Heavyweight interrupt threads on the alpha for device I/O interrupts. 2000-10-05 23:09:57 +00:00
subr_trap.c - Change fast interrupts on x86 to push a full interrupt frame and to 2000-10-06 02:20:21 +00:00
subr_turnstile.c Remove the mtx_t, witness_t, and witness_blessed_t types. Instead, just 2000-09-14 20:15:16 +00:00
subr_witness.c Remove the mtx_t, witness_t, and witness_blessed_t types. Instead, just 2000-09-14 20:15:16 +00:00
subr_xxx.c Remove five now unused fields from struct cdevsw. They should never 1999-09-25 18:24:47 +00:00
sys_generic.c Fix a warning that has been annoying me for some time: 2000-07-28 22:17:42 +00:00
sys_pipe.c Pipes are not writeable while a direct write is in progress. However, 2000-09-14 20:10:19 +00:00
sys_process.c Remove the signal value check from the PT_STEP codepath. It 2000-10-14 03:56:01 +00:00
sys_socket.c Instead of just blindly setting -rw-rw-rw-: 2000-07-02 23:56:45 +00:00
syscalls.c Regen: fix prototypes for {o|}{g|s}etrlimit. 2000-08-28 07:56:38 +00:00
syscalls.master Fix prototypes for {o|}{g|s}etrlimit. A recent change in the 2000-08-28 07:50:44 +00:00
sysv_ipc.c Remove the undocumented, flawed, broken-as-designed semconfig() syscall. 2000-05-01 11:13:41 +00:00
sysv_msg.c Fully initialize msqids[]. This could lead to ENOSPC and other strange 2000-09-19 22:59:22 +00:00
sysv_sem.c Move the MSG* and SEM* options to opt_sysvipc.h 2000-05-01 13:33:56 +00:00
sysv_shm.c This is a cleanup patch to Peter's new OBJT_PHYS VM object type 2000-05-29 22:40:54 +00:00
tty_compat.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
tty_conf.c Don't refer to TABLDISC in the comments here. 2000-01-30 10:14:13 +00:00
tty_cons.c Previous commit changing SYSCTL_HANDLER_ARGS violated KNF. 2000-07-04 11:25:35 +00:00
tty_pty.c Rename lminor() to dev2unit(). This function gives a linear unit number 2000-09-19 10:28:44 +00:00
tty_snoop.c Unstaticize this driver. You can have as many snoop devices as you can 2000-04-02 00:35:37 +00:00
tty_subr.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
tty_tty.c Add snapshots to the fast filesystem. Most of the changes support 2000-07-11 22:07:57 +00:00
tty.c Major update to the way synchronization is done in the kernel. Highlights 2000-09-07 01:33:02 +00:00
uipc_accf.c Accept filter maintainance 2000-09-06 18:49:13 +00:00
uipc_domain.c $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
uipc_mbuf2.c Replace the mbuf external reference counting code with something 2000-08-19 08:32:59 +00:00
uipc_mbuf.c Add nmbcnt sysctl and make it tunable at boottime; nmbcnt is the 2000-10-15 06:24:07 +00:00
uipc_proto.c Trim unused options (or #ifdef for undoc options). 1999-10-11 15:19:12 +00:00
uipc_sockbuf.c Remove uidinfo hash table lookup and maintenance out of chgproccnt() and 2000-09-05 22:11:13 +00:00
uipc_socket2.c Remove uidinfo hash table lookup and maintenance out of chgproccnt() and 2000-09-05 22:11:13 +00:00
uipc_socket.c Check so_error in filt_so{read|write} in order to detect UDP errors. 2000-09-28 04:41:22 +00:00
uipc_syscalls.c Add three new VOPs: VOP_CREATEVOBJECT, VOP_DESTROYVOBJECT and VOP_GETVOBJECT. 2000-09-12 09:49:08 +00:00
uipc_usrreq.c Remove uidinfo hash table lookup and maintenance out of chgproccnt() and 2000-09-05 22:11:13 +00:00
vfs_acl.c o Change locking rules for VOP_GETACL() to indicate that vnode locks 2000-09-21 18:43:32 +00:00
vfs_aio.c aio_qphysio: Eliminate one instance of an out-of-range check that is 2000-09-26 06:35:22 +00:00
vfs_bio.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vfs_cache.c Add new flag PDIRUNLOCK to the component.cn_flags which should be set by 2000-09-17 07:26:42 +00:00
vfs_cluster.c Virtualizes & untangles the bioops operations vector. 2000-06-16 08:48:51 +00:00
vfs_conf.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vfs_default.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vfs_export.c o Introduce new VOP_ACCESS() flag VADMIN, allowing file systems to perform 2000-10-19 07:53:59 +00:00
vfs_extattr.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vfs_init.c Do not panic on an uninitialized VOP_xxx() call. This was meant as a 2000-09-06 17:51:54 +00:00
vfs_lookup.c Add new flag PDIRUNLOCK to the component.cn_flags which should be set by 2000-09-17 07:26:42 +00:00
vfs_mount.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vfs_subr.c o Introduce new VOP_ACCESS() flag VADMIN, allowing file systems to perform 2000-10-19 07:53:59 +00:00
vfs_syscalls.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vfs_vnops.c Convert lockmgr locks from using simple locks to using mutexes. 2000-10-04 01:29:17 +00:00
vnode_if.pl remove crufty exec stuff, perl is in the base system 2000-06-27 19:09:55 +00:00
vnode_if.src o Change locking rules for VOP_GETACL() to indicate that vnode locks 2000-09-21 18:43:32 +00:00