opnsense-src/sys/sys
Kirk McKusick c6964d3bc9 Remove a race condition / deadlock from snapshots. When
converting from individual vnode locks to the snapshot
lock, be sure to pass any waiting processes along to the
new lock as well. This transfer is done by a new function
in the lock manager, transferlockers(from_lock, to_lock);
Thanks to Lamont Granquist <lamont@scriptkiddie.org> for
his help in pounding on snapshots beyond all reason and
finding this deadlock.

Sponsored by:   DARPA & NAI Labs.
2002-11-30 19:00:51 +00:00
..
_label.h Update licenses and wording: NAI has authorized the removal of clause three 2002-11-04 02:35:46 +00:00
_lock.h Renamed the idempotency identifier to match the file name. 2002-06-07 14:37:09 +00:00
_mutex.h Add mtx_ prefixes to the fields used for mutex profiling, and fix a bug 2002-07-03 01:50:27 +00:00
_semaphore.h Add the rest of the kernel support for the sem_ API in kern/uipc_sem.c. 2002-09-19 00:43:32 +00:00
_sigset.h Split 4.x and 5.x signal handling so that we can keep 4.x signal 2002-10-25 19:10:58 +00:00
_timespec.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
_types.h Note that id_t can also hold a gid_t. Realign comments. 2002-10-22 13:26:35 +00:00
aac_ioctl.h Bring the aac driver *much* closer to style(9). 2001-09-05 20:43:02 +00:00
acct.h Remove __P 2002-03-19 20:18:42 +00:00
acl.h More s/file system/filesystem/g 2002-05-16 21:28:32 +00:00
agpio.h Fix an off-by-bit error in the AGP_MODE_[GS]ET_RATE() macros. 2001-11-21 08:40:23 +00:00
aio.h o Add missing synchronization (splnet()/splx()) in aio_free_entry(). 2002-01-06 21:03:39 +00:00
alq.h - Export the alq daemon thread pointer. 2002-09-26 07:38:56 +00:00
assym.h Use "nm | awk ..." instead of genassym(1) to generate symbol value headers. 2000-06-02 09:27:48 +00:00
ata.h Cleanup, use the same method to denote parts for endianess. 2002-04-05 18:03:33 +00:00
bio.h Add a field for tallying the number of spawned bio's a bio has. 2002-10-09 07:11:03 +00:00
bitstring.h Cleanup of bitstring.h: 2000-10-09 12:34:51 +00:00
blist.h Move the hideously misnamed type "u_daddr_t" to <sys/blist.h> where it 2002-05-18 09:38:20 +00:00
buf.h Change hw.physmem and hw.usermem to unsigned long like they used to be 2002-08-30 04:04:37 +00:00
bus.h Add wrappers around the newly created bus_child_pnpinfo_str and 2002-10-07 07:08:00 +00:00
bus_dma.h New bus_dma interfaces for use by crypto device drivers: 2002-10-04 20:40:39 +00:00
callout.h Remove __P 2002-03-19 20:18:42 +00:00
ccdvar.h Fix some signed/unsigned integer confusion, and add bounds checking of 2001-09-10 11:28:07 +00:00
cdefs.h Add the ability to specify a strict C99 environment with the 2002-10-21 20:50:30 +00:00
cdio.h Add endianess kludge code, so that bitfields work on the sparc64 as well. 2002-04-05 13:10:26 +00:00
cdrio.h * Add CDRIOC{READ,WRITE}SPEED ioctls to cd(4). Units are in KB/sec. 2002-10-18 22:03:39 +00:00
chio.h
clist.h
clock.h Add a generic implementation of inittodr() and resettodr(), as well as 2002-04-04 23:39:10 +00:00
condvar.h Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
conf.h Fix the spechash lock order reversal by keeping an updated sum 2002-10-24 19:38:56 +00:00
cons.h Remove __P 2002-03-19 20:18:42 +00:00
consio.h 1. Allow information about current history size be retrieved using ioctl(2); 2002-08-19 16:32:09 +00:00
copyright.h Welcome 2002. Happy new year. 2002-01-01 09:20:52 +00:00
ctype.h Resolve conflicts arising from the ACPI CA 20021118 import. 2002-11-27 18:09:20 +00:00
dataacq.h Add $FreeBSD$ 2000-05-01 20:32:07 +00:00
device_port.h Add PC-Card/ISA SCSI host adpater drivers from NetBSD/pc98 2000-10-23 12:55:51 +00:00
devicestat.h Un-inline the non-trivial "trivial" bio* functions. 2002-09-14 19:34:11 +00:00
digiio.h Add DIGIIO_SETALTPIN and DIGIIO_GETALTPIN ioctl values 2001-06-20 14:51:58 +00:00
dir.h
dirent.h Fix namespace issues by using the relatively new visibility 2002-09-10 18:12:16 +00:00
disk.h (This commit touches about 15 disk device drivers in a very consistent 2002-09-20 19:36:05 +00:00
disklabel.h After much delay and anticipation, welcome RAIDFrame into the FreeBSD 2002-10-20 08:17:39 +00:00
diskmbr.h Divorce bsd disklabels, IBM PC MBR's and whatever the things are 2002-10-01 19:29:19 +00:00
diskpc98.h Check the size of the dos_partition structure. 2002-10-07 10:02:11 +00:00
diskslice.h Fixed some style bugs in the removal of __P(()). The main ones were 2002-03-23 08:46:52 +00:00
dkstat.h Redeclare cp_time. It's no longer static, and linprocfs needs it. 2000-09-07 16:38:04 +00:00
dmap.h Move swblk_t from sys/types.h to sys/dmap.h, the only include that uses 2002-10-03 20:30:09 +00:00
domain.h Remove __P 2002-03-19 20:18:42 +00:00
dvdio.h Update header. 2002-03-04 21:08:35 +00:00
elf32.h Move the definition of ElfN_Hashelt to common headers. The only platform 2002-05-30 08:32:18 +00:00
elf64.h Move the definition of ElfN_Hashelt to common headers. The only platform 2002-05-30 08:32:18 +00:00
elf_common.h - Call a SHT_REL 'relocation section' rather than 2002-08-11 21:07:50 +00:00
elf_generic.h Infrastructure tweaks to allow having both an Elf32 and an Elf64 executable 2002-07-20 02:56:12 +00:00
endian.h Make this header self-reliant with regard to the types it uses. 2002-04-29 16:58:54 +00:00
errno.h Copyin and copyout are only possible from a process-native thread, 2002-10-07 06:25:26 +00:00
event.h Updated a comment. Namspace pollution in <sys/select.h> is now moot since 2002-06-29 19:14:52 +00:00
eventhandler.h - Add an event that is triggered when the system is low on memory. This is 2002-11-21 09:17:56 +00:00
eventvar.h Simplify kqueue API slightly. 2000-07-18 19:31:52 +00:00
exec.h Remove __P 2002-03-19 20:18:42 +00:00
extattr.h Prototypes for new link extended attribute calls. Sync to MAC tree. 2002-10-09 21:48:57 +00:00
fbio.h Turn on TGA support. 2002-04-13 22:34:16 +00:00
fcntl.h o Add typedefs for mode_t, off_t, pid_t rather than including 2002-09-17 22:22:50 +00:00
fdcio.h Long promised major enhancement set for the floppy disk driver: 2001-12-15 19:09:04 +00:00
file.h add DTYPE_CRYPTO for use by /dev/crypto support 2002-10-04 20:34:30 +00:00
filedesc.h In an SMP environment post-Giant it is no longer safe to blindly 2002-10-03 02:13:00 +00:00
filio.h
fnv_hash.h Use the same API as the example code. 2001-03-20 02:10:18 +00:00
gmon.h Reserved one of the spare fields in struct gmon to record the history 2002-02-21 05:52:49 +00:00
gpt.h o Include <sys/uuid.h>. This avoids that applications such as 2002-11-10 20:13:58 +00:00
iconv.h Convert GNU variadic macros to the ISO 9X variety. 2002-07-15 13:34:50 +00:00
imgact.h Bring in two sets of changes: 2002-11-05 17:51:56 +00:00
imgact_aout.h Forward declare struct vnode so that <sys/vnode.h> or some other header 2002-09-05 07:54:03 +00:00
imgact_elf.h Infrastructure tweaks to allow having both an Elf32 and an Elf64 executable 2002-07-20 02:56:12 +00:00
inflate.h Forgot one more instance of my old email address. 2002-03-26 08:29:40 +00:00
interrupt.h Remove __P 2002-03-19 20:18:42 +00:00
ioccom.h I've fixed the X11 port, so I can remove the (ioctl) hack. 2002-04-10 04:53:37 +00:00
ioctl.h Hide GCCisms in the non-GCC case. 2002-02-26 07:44:03 +00:00
ioctl_bt848.h Fix typo in comments 2000-10-31 14:30:29 +00:00
ioctl_compat.h
ioctl_meteor.h
ipc.h o Add typedefs for gid_t, key_t, mode_t, and uid_t. 2002-10-14 20:50:41 +00:00
jail.h Include <sys/queue.h> so that this file provides its own namespace 2002-05-06 03:13:08 +00:00
joystick.h Fix typo in the BSD copyright: s/withough/without/ 2002-06-02 20:05:59 +00:00
jumbo.h Remove the advertising clause from the Duke BSD copyright on the 2002-07-06 02:44:15 +00:00
kbio.h Implement keyboard paste 2001-03-11 22:51:05 +00:00
kenv.h Rework the kernel environment subsystem. We now convert the static 2002-04-17 13:06:36 +00:00
kernel.h After much delay and anticipation, welcome RAIDFrame into the FreeBSD 2002-10-20 08:17:39 +00:00
kerneldump.h Add kernel dump support, based on the ia64 version (which was committed 2002-10-20 17:03:15 +00:00
kobj.h Convert hit and miss counters to unsigned values. Surely negative values 2002-06-10 22:40:26 +00:00
kse.h 1. Support versioning and wall clock in kse mailbox, 2002-11-18 01:59:31 +00:00
kthread.h Some kernel threads try to do significant work, and the default KSTACK_PAGES 2002-10-02 07:44:29 +00:00
ktr.h - Add support for logging KTR via ALQ. This is optional and enabled by the 2002-09-22 07:13:45 +00:00
ktrace.h Overhaul the ktrace subsystem a bit. For the most part, the actual vnode 2002-06-07 05:32:59 +00:00
libkern.h Slight overhaul of arc4random() and friends. 2002-10-11 13:13:08 +00:00
linedisc.h Fix the spechash lock order reversal by keeping an updated sum 2002-10-24 19:38:56 +00:00
link_aout.h Repo copy link.h to sys/link_elf.h and sys/link_aout.h since they are 2002-08-22 20:35:23 +00:00
link_elf.h Repo copy link.h to sys/link_elf.h and sys/link_aout.h since they are 2002-08-22 20:35:23 +00:00
linker.h Add two hooks to signal module load and module unload to MD code. 2002-10-19 19:16:03 +00:00
linker_set.h Add a __section(x) macro as well. Use this in linker_set.h. ie: 2002-09-23 06:11:29 +00:00
lock.h Forward declare struct thread so that this header doesn't depend on its 2002-08-28 05:14:55 +00:00
lockf.h Remove __P 2002-03-19 20:18:42 +00:00
lockmgr.h Remove a race condition / deadlock from snapshots. When 2002-11-30 19:00:51 +00:00
mac.h Un-staticize mac_cred_mmapped_drop_perms() so that it may be used 2002-11-26 17:11:57 +00:00
mac_policy.h Introduce p_label, extensible security label storage for the MAC framework 2002-11-20 15:41:25 +00:00
malloc.h Introduce malloc_last_fail() which returns the number of seconds since 2002-11-01 18:58:12 +00:00
mbuf.h Don't declare mb_statpcpu, it is static in subr_mbuf.c 2002-10-20 16:55:52 +00:00
mchain.h - Change mb_copy_t to take a size_t as the length argument instead of an 2002-11-08 21:26:32 +00:00
md4.h Import kernel part of SMB/CIFS requester. 2001-04-10 07:59:06 +00:00
md5.h Oops, this should have been part of my previous commit. 2002-06-24 14:18:39 +00:00
mdioctl.h Actually make use of the md_version field of 'struct mdio'. In order 2001-12-20 06:38:21 +00:00
memrange.h Some BIOSs are using MTRR values that are only documented under NDA 2002-09-15 15:07:55 +00:00
mman.h mlockall() and munlockall() are unimplemented; remove their prototypes. 2002-09-13 18:29:15 +00:00
module.h - Lock down the ``module'' structure by adding an SX lock that is used by 2002-03-18 07:45:30 +00:00
mount.h A bunch of style(9) fixes. 2002-11-07 21:45:28 +00:00
mouse.h Minor changes: 2002-03-24 03:07:07 +00:00
msg.h fix comment typo: naem -> name 2002-08-16 07:42:18 +00:00
msgbuf.h Make the msg_size, msg_bufx and msg_bufr memebers of struct msgbuf 2002-11-14 16:11:12 +00:00
mtio.h Make the mtio data structures explicitly sized. 2002-05-14 07:30:13 +00:00
mutex.h Disable optimization of spinlocks on UP kernels w/o debugging for now 2002-07-27 16:54:23 +00:00
namei.h Add a new 'NOMACCHECK' flag to namei() NDINIT flags, which permits the 2002-10-19 21:25:51 +00:00
nlist_aout.h Pad after "char *n_name;" in the !_AOUT_INCLUDE_ case so that struct nlist 2002-09-05 08:03:02 +00:00
param.h Bump version to account for the presence of pthread_XXX stubs in libc. 2002-11-01 09:38:33 +00:00
pciio.h style(9) the structure definitions. 2001-09-05 01:22:14 +00:00
pcpu.h Whitespace and style fixes. 2002-08-20 19:50:30 +00:00
pioctl.h Kernel modifications necessary to allow to follow fork()ed children. 2002-08-04 01:07:02 +00:00
pipe.h Move to a nested include of _label.h instead of mac.h in sys/sys/*.h 2002-08-14 01:04:43 +00:00
poll.h Reconnect a comment with its code. 2002-07-10 04:47:25 +00:00
posix4.h Rework the sysconf(3) interaction with aio: 2002-11-17 04:15:34 +00:00
power.h Very minor warns fix. Add a declaration for an unused parameter. 2002-07-15 14:06:03 +00:00
priority.h style(9) the structure definitions. 2001-09-05 01:22:14 +00:00
proc.h Under certain circumstances, we were calling kmem_free() from 2002-11-22 23:57:02 +00:00
procfs.h Use explicit sizes for the prpsinfo command length string so that 2001-08-16 08:35:51 +00:00
protosw.h make the strings for tcptimers, tanames and prurequests const to silence 2002-08-16 09:07:59 +00:00
ptio.h
ptrace.h Implement PT_IO (read / write arbitrary amounts of data or text). 2002-03-16 02:40:02 +00:00
queue.h Add a macro for SLIST traversal 'SLIST_FOREACH_PREVPTR', 2002-08-05 05:18:43 +00:00
random.h add RANDOM_PURE for use by crypto drivers that harvest data from h/w RNG's 2002-10-04 20:34:08 +00:00
reboot.h Add new boot flag to i386 boot: -p. 2001-12-10 20:02:22 +00:00
regression.h Remove __P 2002-03-19 20:18:42 +00:00
resource.h Part I of RLIMIT_VMEM implementation. Implement core functionality for 2002-06-26 00:29:28 +00:00
resourcevar.h - Move p_cpulimit to struct proc from struct plimit and protect it with 2002-10-09 17:17:24 +00:00
rman.h Make the rman_{get,set}_* macros into real functions. The macros 2002-11-27 03:55:22 +00:00
rtprio.h Remove __P 2002-03-19 20:18:42 +00:00
runq.h Make the run queue parameters machine dependent. Optimize 64 bit 2002-05-25 01:12:23 +00:00
sbuf.h Add the new function "sbuf_done()" which returns non-zero if the sbuf is 2002-10-04 09:58:17 +00:00
sched.h - Add the new sched_pctcpu() function to the sched_* api. 2002-11-21 09:30:55 +00:00
select.h Fix the standards case by referring to __fds_bits instead of fds_bits 2002-11-28 15:34:32 +00:00
selinfo.h Remove __P 2002-03-19 20:18:42 +00:00
sem.h Remove __P 2002-03-19 20:18:42 +00:00
sema.h Added used includes. <sys/_lock.h> is a prerequisite for <sys/_mutex.h>, 2001-10-10 10:26:07 +00:00
semaphore.h o Adjust the SEM_VALUE_MAX macro so that <machine/limits.h> isn't 2002-10-04 21:31:33 +00:00
shm.h Remove __P 2002-03-19 20:18:42 +00:00
signal.h Remove the <sys/types.h> prerequisite for <ucontext.h> by including 2002-11-28 15:32:49 +00:00
signalvar.h Split 4.x and 5.x signal handling so that we can keep 4.x signal 2002-10-25 19:10:58 +00:00
smp.h Forward declare struct thread. 2002-05-20 16:11:38 +00:00
snoop.h Declare the snp ioctl()s to work on udev_t, since that is what they 2002-11-11 10:45:31 +00:00
socket.h Fix a constant in the standard namespace not to depend on another 2002-11-13 11:49:24 +00:00
socketvar.h Revert the change in revision 1.77 of kern/uipc_socket2.c. It is causing 2002-11-02 05:14:31 +00:00
sockio.h Style consistency fix for MAC ioctls added previously. 2002-02-10 16:55:35 +00:00
soundcard.h Remove __P 2002-03-19 20:18:42 +00:00
stat.h Use unsigned long' instead of u_long' so that this header compiles 2002-10-11 15:52:14 +00:00
statvfs.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
stddef.h Add the sys/stddef.h header, so that we can have ptrdiff_t 2002-11-13 15:14:57 +00:00
stdint.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
sun_disklabel.h Duh. #ifdef CTASSERT so we don't break user-land software. 2002-10-29 06:43:57 +00:00
sx.h - Make this compile if INVARIANTS support is not enabled. 2002-04-02 18:18:56 +00:00
syscall.h Regenerate after adding system calls. 2002-11-16 06:36:56 +00:00
syscall.mk Regenerate after adding system calls. 2002-11-16 06:36:56 +00:00
syscallsubr.h Split 4.x and 5.x signal handling so that we can keep 4.x signal 2002-10-25 19:10:58 +00:00
sysctl.h Always put the "access" macro argument in (), it might be an expression. 2002-10-20 22:48:08 +00:00
sysent.h Added fields for VM_MIN_ADDRESS, PS_STRINGS and stack protections to 2002-09-01 21:41:24 +00:00
syslimits.h Conditionalize a GCCism. 2002-11-29 23:49:27 +00:00
syslog.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
sysproto.h Regenerate after adding system calls. 2002-11-16 06:36:56 +00:00
systm.h Make UAREA_PAGES and KSTACK_PAGES visible to userland via sysctl, like 2002-09-07 22:11:45 +00:00
taskqueue.h Revert the reindentation of struct task's definition from rev 1.4. 2001-10-28 16:19:34 +00:00
termios.h Remove __P 2002-03-19 20:18:42 +00:00
tiio.h At long last, commit the zero copy sockets code. 2002-06-26 03:37:47 +00:00
time.h Introduce a "time_uptime" global variable which holds the time since boot 2002-11-01 18:52:20 +00:00
timeb.h Remove __P 2002-03-19 20:18:42 +00:00
timepps.h Brucifixion ? Yes, out that door, row on the left, one patch each. 2002-04-30 19:48:45 +00:00
timers.h
times.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
timespec.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
timetc.h Give up on calling tc_ticktock() from a timeout, we have timeout 2002-09-04 10:15:19 +00:00
timex.h Removed unused forward struct declaration. 2002-04-28 09:51:45 +00:00
tree.h Import OpenBSD's <sys/tree.h>, needed by OpenSSH. 2002-06-23 14:38:51 +00:00
tty.h Fixed some style bugs in recent commits. 2002-05-28 15:24:13 +00:00
ttychars.h
ttycom.h
ttydefaults.h Kernel support for erase2 character. 2000-11-28 20:03:23 +00:00
ttydev.h Add B921600 (yes, some serial ports can do this, but generic sio not support 2001-06-20 03:26:41 +00:00
types.h Add back the typedefs for in_addr_t and in_port_t; some broken autoconf 2002-10-22 09:57:34 +00:00
ucontext.h Add getcontext, setcontext, and swapcontext as system calls. 2002-11-16 06:35:53 +00:00
ucred.h Allow one to grab the definition of struct ucred by defining _WANT_UCRED 2002-08-28 20:39:48 +00:00
uio.h Add typedefs for size_t and ssize_t, allow struct iovec to be defined 2002-10-11 18:21:50 +00:00
un.h o Merge <machine/ansi.h> and <machine/types.h> into a new header 2002-08-21 16:20:02 +00:00
unistd.h Update limits and configuration parameters for 1003.1/TC1/D6. 2002-10-27 18:03:02 +00:00
unpcb.h More s/file system/filesystem/g 2002-05-16 21:28:32 +00:00
user.h The a.out md_coredump stuff isn't referenced anywhere anymore, and 2002-10-15 00:02:50 +00:00
utsname.h Round 1 of Brucification inspired changes. 2001-03-24 08:37:56 +00:00
uuid.h Wrap function prototype declarations in __BEGIN_DECLS to do the right thing 2002-11-05 10:57:53 +00:00
vmmeter.h Make a structure definition slightly more style(9) compliant (makes 2002-06-01 03:55:16 +00:00
vnioctl.h
vnode.h Change the way support for asynchronous I/O is indicated to applications 2002-10-27 18:07:41 +00:00
wait.h Remove the deprecated 4.2/4.3BSD wait union. 2002-06-05 02:21:01 +00:00
xrpuio.h