freebsd-nq/sys/kern
Julian Elischer beef8a367c This solves a deadlock that can occur when read()ing into a file-mmap()
space. When doing this, it is possible to for another process to attempt
to get an exclusive lock on the vnode and deadlock the mmap/read
combination when the uiomove() call tries to obtain a second
shared lock on the vnode. There is still a potential deadlock
situation with write()/mmap().
Submitted by: Matt Dillon <dillon@freebsd.org>
Reviewed by: Luoqi Chen <luoqi@freebsd.org>
Delimmitted by tag PRE_MATT_MMAP_LOCK and POST_MATT_MMAP_LOCK
in kern/kern_lock.c kern/kern_subr.c
1999-03-12 03:09:29 +00:00
..
bus_if.m My changes to the new device interface: 1998-11-14 21:58:51 +00:00
device_if.m My changes to the new device interface: 1998-11-14 21:58:51 +00:00
imgact_aout.c For clarity, use the "map" variable introduced by the last commit 1999-03-10 07:07:42 +00:00
imgact_elf.c If you merge this into -stable, please increment __FreeBSD_version 1999-02-20 23:52:34 +00:00
imgact_gzip.c *_execsw static structures cannot be const due to the way they interact 1999-01-29 22:59:43 +00:00
imgact_shell.c *_execsw static structures cannot be const due to the way they interact 1999-01-29 22:59:43 +00:00
inflate.c kzipboot uses kern/inflate.c outside the kernel by providing its own 1998-11-10 09:08:49 +00:00
init_main.c Removed all traces of `p_switchtime'. The relevant timestamp is per-cpu, 1999-02-28 10:53:29 +00:00
init_sysent.c regenerate (+kldsym) 1998-11-11 12:57:05 +00:00
kern_acct.c Moved limit frobbing (and the resulting limcopy()) that occurs for 1998-06-05 21:44:20 +00:00
kern_clock.c Make even more of the PPSAPI implementations generic. 1999-03-11 15:09:51 +00:00
kern_conf.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
kern_descrip.c Split DIAGNOSTIC -> DIAGNOSTIC, INVARIANTS, and INVARIANT_SUPPORT as 1999-01-08 17:31:30 +00:00
kern_environment.c Fix warnings related to -Wall -Wcast-qual 1999-01-28 17:32:05 +00:00
kern_exec.c Hide access to vmspace:vm_pmap with inline function vmspace_pmap(). This 1999-02-19 14:25:37 +00:00
kern_exit.c Fixed runtime accounting. The time since the previous context switch 1999-03-11 21:53:12 +00:00
kern_fork.c Fix thread/process tracking and differentiation for Linux threads emulation. 1999-03-02 00:28:09 +00:00
kern_intr.c add #include <sys/kernel.h> where it's needed by MALLOC_DEFINE() 1998-11-10 09:16:29 +00:00
kern_ktrace.c In ktrwrite, use uio_procp = curproc vs 0 1998-12-10 01:47:41 +00:00
kern_linker.c * Register sysctl nodes before running sysinits when loading files and 1999-03-07 16:06:41 +00:00
kern_lkm.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
kern_lock.c This solves a deadlock that can occur when read()ing into a file-mmap() 1999-03-12 03:09:29 +00:00
kern_lockf.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
kern_malloc.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
kern_mib.c Ok, people didn't like kern.conf_dir. Poof, backed out. 1999-01-26 07:37:11 +00:00
kern_module.c More -Wall / -Wcast-qual cleanup. Also, EXEC_SET can't use 1999-01-29 08:36:45 +00:00
kern_ntptime.c Make even more of the PPSAPI implementations generic. 1999-03-11 15:09:51 +00:00
kern_physio.c This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
kern_proc.c Hide access to vmspace:vm_pmap with inline function vmspace_pmap(). This 1999-02-19 14:25:37 +00:00
kern_prot.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-28 00:57:57 +00:00
kern_random.c Converted add_interrupt_randomness() to take a `void *' arg. Rewrote 1998-06-21 11:33:32 +00:00
kern_resource.c Fixed runtime accounting. The time since the previous context switch 1999-03-11 21:53:12 +00:00
kern_shutdown.c An error in the last commit; the changes were submitted by, not reviewed by, 1999-01-30 19:29:10 +00:00
kern_sig.c Enable Linux threads support by default. 1999-01-26 02:38:12 +00:00
kern_subr.c This solves a deadlock that can occur when read()ing into a file-mmap() 1999-03-12 03:09:29 +00:00
kern_synch.c The magic "no-cpu" cpu number is 0xff. Don't misrepresent cpu 1999-03-05 16:38:13 +00:00
kern_syscalls.c Move lkmnosys() from kern_lkm.c to here. 1999-01-17 18:58:04 +00:00
kern_sysctl.c * Change sysctl from using linker_set to construct its tree using SLISTs. 1999-02-16 10:49:55 +00:00
kern_tc.c Make even more of the PPSAPI implementations generic. 1999-03-11 15:09:51 +00:00
kern_threads.c Removed bogus casts to c_caddr_t. This is part of terminating 1999-01-29 08:29:05 +00:00
kern_time.c Added a used #include (don't depend on "vnode_if.h" including <sys/buf.h>). 1999-02-25 15:54:06 +00:00
kern_timeout.c Fix callout_init(). This didn't have any practical effect since it 1999-03-06 22:27:02 +00:00
kern_xxx.c Change various syscalls to use size_t arguments instead of u_int. 1998-08-24 08:39:39 +00:00
ksched.c 1. Add new defs for mins and maxs for the POSIX flavor priorities. They 1998-05-19 21:11:53 +00:00
link_aout.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-28 00:57:57 +00:00
link_elf_obj.c Cast to `const char *' instead of to c_caddr_t. This is part of 1999-01-29 09:04:27 +00:00
link_elf.c Cast to `const char *' instead of to c_caddr_t. This is part of 1999-01-29 09:04:27 +00:00
Make.tags.inc Update to know about current kernel directory layout. 1999-02-28 22:14:16 +00:00
makedevops.pl "Here is the most recent version of makedevops.pl. I've made the parsing 1998-11-08 18:33:11 +00:00
makedevops.sh Use the interface name as well as the method name when creating the method 1998-10-15 09:50:45 +00:00
Makefile Remove bogus architectures to allow make tags to work. 1996-03-31 18:53:43 +00:00
makesyscalls.sh Add trailing newline to sys/syscall.mk so that diff doesn't choke on it. 1998-06-28 10:01:52 +00:00
md5c.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
p1003_1b.c Set PAGE_SIZE for _SC_PAGESIZE sysconf(). 1998-06-01 21:54:43 +00:00
posix4_mib.c * Change sysctl from using linker_set to construct its tree using SLISTs. 1999-02-16 10:49:55 +00:00
subr_autoconf.c Split DIAGNOSTIC -> DIAGNOSTIC, INVARIANTS, and INVARIANT_SUPPORT as 1999-01-08 17:31:30 +00:00
subr_blist.c Add new blist module - radix tree based bitmap allocator with 1999-01-21 08:11:06 +00:00
subr_bus.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
subr_clist.c Cast pointers to uintptr_t/intptr_t instead of to u_long/long, 1998-07-15 02:32:35 +00:00
subr_devstat.c Add a prioritization field to the devstat_add_entry() call so that 1999-02-10 00:04:13 +00:00
subr_disklabel.c Fix -Wuninitialized warning regarding zero-length var-args ctl element. 1998-12-14 05:37:37 +00:00
subr_diskmbr.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-28 01:59:53 +00:00
subr_diskslice.c Rename one of the two devfs_link's to devfs_makelink. 1998-12-10 19:57:01 +00:00
subr_dkbad.c In all such uses of struct buf: 's/b_un.b_addr/b_data/g' 1997-12-02 21:07:20 +00:00
subr_log.c The "easy" fixes for compiling the kernel -Wunused: remove unreferenced static 1998-12-07 21:58:50 +00:00
subr_module.c Align to sizeof(long) rather than sizeof(int32_t). It needs to be 1998-10-14 05:07:23 +00:00
subr_param.c Fixed problems with kernel config file overrides of sysv semaphore 1998-12-14 08:34:55 +00:00
subr_prf.c Add snprintf(3) and vsnprintf(3) capability to the kernel. 1998-12-03 04:45:57 +00:00
subr_prof.c Fixed bogotification of pseudocode for syscall args by rev.1.53 of 1998-09-05 14:30:11 +00:00
subr_rlist.c This module was used only by the old swapper and has been #if'd out, 1999-01-21 08:58:41 +00:00
subr_rman.c Ifdefed conditionally used simplock variables. 1999-01-02 11:34:57 +00:00
subr_scanf.c Only needed to cast array index from char to unsigned char, did not 1999-02-14 20:58:21 +00:00
subr_smp.c The magic "no-cpu" cpu number is 0xff. Don't misrepresent cpu 1999-03-05 16:38:13 +00:00
subr_trap.c Make TIMER_FREQ a normal, undocumented option. Raise confusion to 1999-03-09 20:20:09 +00:00
subr_xxx.c * Fix a couple of places in the device pager where an address was 1998-11-08 12:39:07 +00:00
sys_generic.c Removed a bogus cast to c_caddr_t. This is part of terminating 1999-01-29 08:10:35 +00:00
sys_pipe.c Fix race in pipe read code whereby a blocked lock can allow another 1999-02-04 23:50:49 +00:00
sys_process.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
sys_socket.c Moved prototypes for soo_{read,write,close} into socketvar.h where they 1999-02-01 21:16:31 +00:00
syscalls.c regenerate (+kldsym) 1998-11-11 12:57:05 +00:00
syscalls.master A kldsym(2) syscall prototype for extracting information from the in-kernel 1998-11-11 12:45:14 +00:00
sysv_ipc.c Use suser() to determine super-user-ness, don't examine cr_uid directly. 1999-01-30 12:21:49 +00:00
sysv_msg.c Use suser() to determine super-user-ness, don't examine cr_uid directly. 1999-01-30 12:21:49 +00:00
sysv_sem.c Fixed problems with kernel config file overrides of sysv semaphore 1998-12-14 08:34:55 +00:00
sysv_shm.c This is a rather large commit that encompasses the new swapper, 1999-01-21 08:29:12 +00:00
tty_compat.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
tty_conf.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
tty_cons.c Remove a hard-coded table of kernel console I/O functions exported 1999-01-07 14:14:24 +00:00
tty_pty.c Use suser() to check for super user rather than examining cr_uid directly. 1999-01-30 12:17:38 +00:00
tty_snoop.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
tty_subr.c Cast pointers to uintptr_t/intptr_t instead of to u_long/long, 1998-07-15 02:32:35 +00:00
tty_tb.c Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not 1997-02-22 09:48:43 +00:00
tty_tty.c Added D_TTY to the cdevswitch flags for all tty drivers. This is required 1998-08-23 08:26:42 +00:00
tty.c Introduce machine-dependent macro pgtok() to convert page count to number 1999-02-19 19:34:49 +00:00
uipc_domain.c Minor rearranging of code to allow simple protocol domains to be 1999-01-21 00:26:41 +00:00
uipc_mbuf.c * Change sysctl from using linker_set to construct its tree using SLISTs. 1999-02-16 10:49:55 +00:00
uipc_proto.c * Change sysctl from using linker_set to construct its tree using SLISTs. 1999-02-16 10:49:55 +00:00
uipc_sockbuf.c Port NetBSD's 19990120-accept bug fix. This works around the race condition 1999-01-25 16:58:56 +00:00
uipc_socket2.c Port NetBSD's 19990120-accept bug fix. This works around the race condition 1999-01-25 16:58:56 +00:00
uipc_socket.c * Change sysctl from using linker_set to construct its tree using SLISTs. 1999-02-16 10:49:55 +00:00
uipc_syscalls.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
uipc_usrreq.c * Change sysctl from using linker_set to construct its tree using SLISTs. 1999-02-16 10:49:55 +00:00
vfs_aio.c Added a used #include (don't depend on "vnode_if.h" including <sys/buf.h>). 1999-02-25 15:54:06 +00:00
vfs_bio.c Reviewed by: Many at differnt times in differnt parts, 1999-03-12 02:24:58 +00:00
vfs_cache.c Don't use CTL_VFS at the wrong level. This caused loops in the sysctl 1998-09-09 07:41:41 +00:00
vfs_cluster.c Reviewed by: Many at differnt times in differnt parts, 1999-03-12 02:24:58 +00:00
vfs_conf.c Remove the SLICE code. 1998-09-14 19:56:42 +00:00
vfs_default.c Added a used #include (don't depend on "vnode_if.h" including <sys/buf.h>). 1999-02-25 15:54:06 +00:00
vfs_export.c Reviewed by: Many at differnt times in differnt parts, 1999-03-12 02:24:58 +00:00
vfs_extattr.c Slight cleanup of code resurected for union mounts.. 1999-03-03 02:35:51 +00:00
vfs_init.c * Register sysctl nodes before running sysinits when loading files and 1999-03-07 16:06:41 +00:00
vfs_lookup.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-28 00:57:57 +00:00
vfs_mount.c Remove the SLICE code. 1998-09-14 19:56:42 +00:00
vfs_subr.c Reviewed by: Many at differnt times in differnt parts, 1999-03-12 02:24:58 +00:00
vfs_syscalls.c Slight cleanup of code resurected for union mounts.. 1999-03-03 02:35:51 +00:00
vfs_vnops.c Use suser() to determine super-user-ness, don't examine cr_uid directly. 1999-01-30 12:21:49 +00:00
vnode_if.pl Declare static __inline functions as __inline in their forward 1999-02-28 11:30:00 +00:00
vnode_if.sh Declare static __inline functions as __inline in their forward 1999-02-28 11:30:00 +00:00
vnode_if.src Add a new vnode op, VOP_FREEBLKS(), which filesystems can use to inform 1998-09-05 14:13:12 +00:00