1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-24 11:29:10 +00:00
freebsd/sys/kern
Robert Watson a96acd1ace Introduce a condition variable to avoid returning EBUSY when
the MAC policy list is busy during a load or unload attempt.
We assert no locks held during the cv wait, meaning we should
be fairly deadlock-safe.  Because of the cv model and busy
count, it's possible for a cv waiter waiting for exclusive
access to the policy list to be starved by active and
long-lived access control/labeling events.  For now, we
accept that as a necessary tradeoff.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, Network Associates Laboratories
2002-11-13 15:47:09 +00:00
..
bus_if.m Add two interfaces to allow for busses to report the pnpinfo for 2002-10-07 05:06:38 +00:00
clock_if.m
device_if.m
genassym.sh
imgact_aout.c Use the fields in the sysentvec and in the vm map header in place of the 2002-09-21 22:07:17 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Assign value of NULL to imgp->execlabel when imgp is initialized 2002-11-08 20:49:50 +00:00
imgact_elfN.c
imgact_gzip.c Use the fields in the sysentvec and in the vm map header in place of the 2002-09-21 22:07:17 +00:00
imgact_shell.c Remove reference to struct execve_args from struct imgact, which 2002-11-05 01:59:56 +00:00
inflate.c
init_main.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
init_sysent.c Regen. 2002-11-05 17:48:04 +00:00
kern_acct.c Typo in comment: commmand -> command 2002-11-05 14:54:07 +00:00
kern_acl.c
kern_alq.c - Export the alq daemon thread pointer. 2002-09-26 07:38:56 +00:00
kern_clock.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_condvar.c More work on the interaction between suspending and sleeping threads. 2002-10-25 07:11:12 +00:00
kern_conf.c Don't allow dev_stdclone(9) to accept minors larger than the system is 2002-10-05 17:10:28 +00:00
kern_descrip.c Change the way support for asynchronous I/O is indicated to applications 2002-10-27 18:07:41 +00:00
kern_environment.c Add MAC checks for various kenv() operations: dump, get, set, unset, 2002-11-01 20:46:53 +00:00
kern_event.c Minor comment typo fix. 2002-10-29 20:51:44 +00:00
kern_exec.c When prot is VM_PROT_NONE, call pmap_page_protect() directly rather than 2002-11-10 07:12:04 +00:00
kern_exit.c - Add a new global mutex 'ppeers_lock' to protect the p_peers list of 2002-10-15 00:14:32 +00:00
kern_fork.c Do not lock the process when calling fdfree() (this would have recursed on 2002-10-18 17:45:41 +00:00
kern_idle.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_intr.c Instead of (sizeof(source_buffer) - 1) bytes, copy at most 2002-10-17 21:02:02 +00:00
kern_jail.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
kern_kse.c KSE-enabled processes only. 2002-10-31 08:00:51 +00:00
kern_kthread.c Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
kern_ktr.c - Export the alq daemon thread pointer. 2002-09-26 07:38:56 +00:00
kern_ktrace.c Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
kern_linker.c fix kldload error return when a module is rejected because it's statically 2002-10-17 17:28:57 +00:00
kern_lock.c Have lockinit() initialize the debugging fields of a lock 2002-10-18 01:34:10 +00:00
kern_lockf.c - Fix a bunch of casts to long which were truncating off_t's. 2002-11-07 21:56:05 +00:00
kern_mac.c Introduce a condition variable to avoid returning EBUSY when 2002-11-13 15:47:09 +00:00
kern_malloc.c Introduce malloc_last_fail() which returns the number of seconds since 2002-11-01 18:58:12 +00:00
kern_mib.c Move the definitions of the hw.physmem, hw.usermem and hw.availpages 2002-11-07 23:57:17 +00:00
kern_module.c
kern_mtxpool.c
kern_mutex.c Disable the kernacc() check in mtx_validate() until such time that kernacc 2002-10-25 08:40:20 +00:00
kern_ntptime.c Remove an unused variable. 2002-10-11 10:36:22 +00:00
kern_physio.c Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
kern_poll.c Increase size of ifnet.if_flags from 16 bits (short) to 32 bits (int). To avoid 2002-08-18 07:05:00 +00:00
kern_proc.c Move thread related code from kern_proc.c to kern_thread.c. 2002-10-24 08:46:34 +00:00
kern_prot.c Include file cleanup; mac.h and malloc.h at one point had ordering 2002-08-01 17:47:56 +00:00
kern_resource.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_sema.c
kern_shutdown.c Hook up mac_check_system_reboot(), a MAC Framework entry point that 2002-10-27 07:03:29 +00:00
kern_sig.c Split 4.x and 5.x signal handling so that we can keep 4.x signal 2002-10-25 19:10:58 +00:00
kern_subr.c - Create a new scheduler api that is defined in sys/sched.h 2002-10-12 05:32:24 +00:00
kern_switch.c Did you ever notice how stupid bugs show up much clearer 2002-10-14 20:43:02 +00:00
kern_sx.c
kern_synch.c Add an actual implementation of kse_thr_interrupt() 2002-10-30 02:28:41 +00:00
kern_syscalls.c
kern_sysctl.c Implement mac_check_system_sysctl(), a MAC Framework entry point to 2002-10-27 07:12:34 +00:00
kern_tc.c Introduce a "time_uptime" global variable which holds the time since boot 2002-11-01 18:52:20 +00:00
kern_thread.c KSE-enabled processes only. 2002-10-31 08:00:51 +00:00
kern_time.c Introduce mac_check_system_settime(), a MAC check allowing policies to 2002-11-03 02:39:42 +00:00
kern_timeout.c Fix a format buglet. 2002-09-05 11:42:03 +00:00
kern_uuid.c Include <sys/systm.h> for the declarations of many things instead of 2002-08-22 12:47:22 +00:00
kern_xxx.c
ksched.c Tidy up the scheduler's code for changing the priority of a thread. 2002-10-14 20:34:31 +00:00
link_elf_obj.c Add two hooks to signal module load and module unload to MD code. 2002-10-19 19:16:03 +00:00
link_elf.c Add two hooks to signal module load and module unload to MD code. 2002-10-19 19:16:03 +00:00
linker_if.m
Make.tags.inc
Makefile
makesyscalls.sh The syscall names are string constants, so make them consts. 2002-10-29 15:47:06 +00:00
md4c.c
md5c.c We have memset() and memcpy() in the kernel now, so we don't need to 2002-10-20 22:33:42 +00:00
p1003_1b.c
posix4_mib.c Change the way support for asynchronous I/O is indicated to applications 2002-10-27 18:07:41 +00:00
sched_4bsd.c Tidy up the scheduler's code for changing the priority of a thread. 2002-10-14 20:34:31 +00:00
subr_acl_posix1e.c
subr_autoconf.c
subr_blist.c
subr_bus.c Use %z to quiet a warning. 2002-11-07 22:38:04 +00:00
subr_clist.c
subr_clock.c Use the CPU_* OID constants instead of OID_AUTO for the clock-related 2002-08-07 19:43:54 +00:00
subr_devstat.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
subr_disk.c This checkin reimplements the io-request priority hack in a way 2002-10-22 00:59:49 +00:00
subr_disklabel.c (This commit touches about 15 disk device drivers in a very consistent 2002-09-20 19:36:05 +00:00
subr_diskmbr.c Split MBR and PC98 on-disk sliceformats out from disklabel.h, step 1: 2002-10-01 07:24:55 +00:00
subr_diskslice.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
subr_eventhandler.c
subr_hints.c
subr_kobj.c
subr_log.c Fix the calculations of the length of the unread message buffer 2002-10-20 23:13:05 +00:00
subr_mbuf.c Fix a fairly subtle bug in mbuf_init() where the reference counter 2002-10-16 19:59:08 +00:00
subr_mchain.c Don't dereference the 'x' pointer if it is NULL, instead skip the 2002-10-22 18:44:59 +00:00
subr_module.c
subr_param.c Change hw.physmem and hw.usermem to unsigned long like they used to be 2002-08-30 04:04:37 +00:00
subr_pcpu.c
subr_power.c
subr_prf.c Add support for the C99 %t format modifier. 2002-11-13 15:15:59 +00:00
subr_prof.c Don't #error if we are lint. 2002-10-01 13:15:11 +00:00
subr_rman.c Add debug.rman_debug sysctl MIB and loader tunable instead of broken 2002-09-05 11:45:02 +00:00
subr_rtc.c Use the CPU_* OID constants instead of OID_AUTO for the clock-related 2002-08-07 19:43:54 +00:00
subr_sbuf.c Add the new function "sbuf_done()" which returns non-zero if the sbuf is 2002-10-04 09:58:17 +00:00
subr_scanf.c Fix mis-indentation. 2002-10-02 09:09:25 +00:00
subr_smp.c Completely redo thread states. 2002-09-11 08:13:56 +00:00
subr_taskqueue.c
subr_trap.c To reduce per-return overhead of userret(), call into 2002-11-08 19:00:17 +00:00
subr_turnstile.c Disable the kernacc() check in mtx_validate() until such time that kernacc 2002-10-25 08:40:20 +00:00
subr_witness.c Correct an assertion in the code to traverse the list of locks to find an 2002-11-11 16:36:20 +00:00
subr_xxx.c
sys_generic.c Be consistent about "static" functions: if the function is marked 2002-09-28 17:15:38 +00:00
sys_pipe.c Remove a KASSERT I added in 1.73 to catch uninitialized pipes. 2002-10-14 21:15:04 +00:00
sys_process.c Add a missing PROC_UNLOCK in ptrace() for the PT_IO case. 2002-10-16 16:28:33 +00:00
sys_socket.c Update the st_size reported via stat(2) to accurately reflect the amount 2002-11-01 21:31:13 +00:00
syscalls.c Regen. 2002-11-05 17:48:04 +00:00
syscalls.master Flesh out the definition of __mac_execve(): per earlier discussion, 2002-11-05 17:47:08 +00:00
sysv_ipc.c
sysv_msg.c Make SYSVMSG mpsafe. Right now there is a global lock over the 2002-08-13 08:00:36 +00:00
sysv_sem.c Don't leak memory in semop(2). (Fix a bug I introduced in rev 1.55.) 2002-10-19 02:07:35 +00:00
sysv_shm.c return foo -> return (foo) 2002-08-15 02:10:12 +00:00
tty_compat.c
tty_conf.c
tty_cons.c Use strlcpy() instead of strncpy() to copy NUL terminated strings 2002-10-17 20:03:38 +00:00
tty_pty.c
tty_subr.c
tty_tty.c Pass active_cred and file_cred into the MAC framework explicitly 2002-08-19 19:04:53 +00:00
tty.c In an SMP environment post-Giant it is no longer safe to blindly 2002-10-03 02:13:00 +00:00
uipc_accf.c
uipc_cow.c Change iov_base's type from char *' to the standard void *'. All 2002-10-11 14:58:34 +00:00
uipc_domain.c
uipc_jumbo.c
uipc_mbuf2.c Replace aux mbufs with packet tags: 2002-10-16 01:54:46 +00:00
uipc_mbuf.c Replace aux mbufs with packet tags: 2002-10-16 01:54:46 +00:00
uipc_proto.c
uipc_sem.c Be consistent about funtions being static. 2002-10-16 10:42:13 +00:00
uipc_sockbuf.c Spotted a couple of places where the socket buffer's counters were being 2002-11-05 18:52:25 +00:00
uipc_socket2.c Spotted a couple of places where the socket buffer's counters were being 2002-11-05 18:52:25 +00:00
uipc_socket.c Fix instances of macros with improperly parenthasized arguments. 2002-11-09 12:55:07 +00:00
uipc_syscalls.c Integrate mac_check_socket_send() and mac_check_socket_receive() 2002-10-06 14:39:15 +00:00
uipc_usrreq.c Trim extraneous #else and #endif MAC comments per style(9). 2002-10-28 21:17:53 +00:00
vfs_acl.c
vfs_aio.c Do a bit more work in the aio code to simulate the credential environment 2002-11-07 20:46:37 +00:00
vfs_bio.c When prot is VM_PROT_NONE, call pmap_page_protect() directly rather than 2002-11-10 07:12:04 +00:00
vfs_cache.c Split up __getcwd so that kernel callers of the internal version 2002-09-02 22:40:30 +00:00
vfs_cluster.c - Use %j to print intmax_t values. 2002-11-07 22:41:08 +00:00
vfs_default.c Don't try to be cute and save a call/return by implementing a degenerate 2002-10-24 17:55:49 +00:00
vfs_export.c
vfs_extattr.c Fix a case in kern_rename() where a vn_finished_write() call was 2002-10-27 23:23:51 +00:00
vfs_init.c
vfs_lookup.c Add a new 'NOMACCHECK' flag to namei() NDINIT flags, which permits the 2002-10-19 21:25:51 +00:00
vfs_mount.c - Use a better definition for MNAMELEN which doesn't require 2002-11-07 21:15:02 +00:00
vfs_subr.c Slightly change the semantics of vnode labels for MAC: rather than 2002-10-26 14:38:24 +00:00
vfs_syscalls.c Fix a case in kern_rename() where a vn_finished_write() call was 2002-10-27 23:23:51 +00:00
vfs_vnops.c Within ufs, the ffs_sync and ffs_fsync functions did not always 2002-10-25 00:20:37 +00:00
vnode_if.src - We don't need any automated lock checking for vop_islocked. 2002-09-26 00:31:16 +00:00