freebsd-nq/sys/kern
Konstantin Belousov f5baf8d66b Lock Giant and proctree lock around dereferencing p_session->s_ttyvp->v_rdev.
Lock cdev mutex too to close the race with tty being freed.
Relock clone_drain_lock to prevent the LOR with proctree lock, thus
add #include <fs/devfs/devfs_int.h>.

Suggested by:	tegge
Debugging help and testing by:	Peter Holm
Approved by:	re (kensmith)
2007-07-03 17:46:37 +00:00
..
bus_if.m o break newbus api: add a new argument of type driver_filter_t to 2007-02-23 12:19:07 +00:00
clock_if.m
cpufreq_if.m
device_if.m
genassym.sh
imgact_aout.c
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Rework the support for ABIs to override resource limits (used by 32-bit 2007-05-14 22:40:04 +00:00
imgact_gzip.c
imgact_shell.c
inflate.c
init_main.c Fix a bug caming from the committing a pre-merge version of the patch 2007-06-10 00:28:41 +00:00
init_sysent.c
kern_acct.c rufetch and calcru sometimes should be called atomically together. 2007-06-09 21:48:44 +00:00
kern_alq.c Change the VOP_OPEN(), vn_open() vnode operation and d_fdopen() cdev operation 2007-06-01 14:33:11 +00:00
kern_clock.c Since locking in kern/subr_prof.c is changed a bit, we need nomore of 2007-06-09 19:41:14 +00:00
kern_condvar.c Commit 2/14 of sched_lock decomposition. 2007-06-04 23:50:56 +00:00
kern_conf.c Automatically detect deadlock condition in destroy_dev(), that is, if 2007-07-03 17:43:20 +00:00
kern_context.c Further system call comment cleanup: 2007-03-05 13:10:58 +00:00
kern_cpu.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
kern_descrip.c Rather than passing SUSER_RUID into priv_check_cred() to specify when 2007-06-16 23:41:43 +00:00
kern_environment.c Further system call comment cleanup: 2007-03-05 13:10:58 +00:00
kern_event.c In kern_kevent(), unconditionally fdrop() fp once fget() has succeeded, 2007-05-28 17:15:05 +00:00
kern_exec.c Conditionally acquire Giant when dropping a reference on the ktrace vnode 2007-06-13 19:41:47 +00:00
kern_exit.c Improve the ktrace locking somewhat to reduce overhead: 2007-06-13 20:01:42 +00:00
kern_fork.c Rather than passing SUSER_RUID into priv_check_cred() to specify when 2007-06-16 23:41:43 +00:00
kern_idle.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
kern_intr.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
kern_jail.c Fix jails and jail-friendly file systems handling: 2007-04-13 23:54:22 +00:00
kern_kse.c - Garbage collect unused concurrency functions. 2007-06-12 19:49:39 +00:00
kern_kthread.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
kern_ktr.c
kern_ktrace.c Improve the ktrace locking somewhat to reduce overhead: 2007-06-13 20:01:42 +00:00
kern_linker.c Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
kern_lock.c Move lock_profile_object_{init,destroy}() into lock_{init,destroy}(). 2007-05-18 15:04:59 +00:00
kern_lockf.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
kern_malloc.c Use vm_offset_t for kmembase and kmemlimit rather than char *, avoiding 2007-06-27 13:39:38 +00:00
kern_mbuf.c Despite several examples in the kernel, the third argument of 2007-06-04 18:25:08 +00:00
kern_mib.c Revert VMCNT_* operations introduction. 2007-05-31 22:52:15 +00:00
kern_module.c Remove 'MPSAFE' annotations from the comments above most system calls: all 2007-03-04 22:36:48 +00:00
kern_mtxpool.c Universally adopt most conventional spelling of acquire. 2007-05-27 20:50:23 +00:00
kern_mutex.c Propagate volatile qualifier to make gcc4.2 happy. 2007-06-09 18:09:37 +00:00
kern_ntptime.c Only require privilege to set the current time adjustment, not in order to 2007-06-14 18:37:58 +00:00
kern_physio.c
kern_pmc.c
kern_poll.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
kern_priv.c Continue kernel privilege cleanup for 7.0: unstaticize suser_enabled and 2007-07-02 14:03:29 +00:00
kern_proc.c rufetch and calcru sometimes should be called atomically together. 2007-06-09 21:48:44 +00:00
kern_prot.c Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
kern_resource.c Remove the restriction that rtprio(2) cannot be used to set the realtime 2007-06-14 23:31:52 +00:00
kern_rwlock.c Introduce a new rwlocks initialization function: rw_init_flags. 2007-06-26 21:31:56 +00:00
kern_sema.c
kern_shutdown.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
kern_sig.c - Add a missing PROC_SUNLOCK() in tdsignal() 2007-06-11 23:27:03 +00:00
kern_subr.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
kern_switch.c - Garbage collect unused concurrency functions. 2007-06-12 19:50:31 +00:00
kern_sx.c Add functions sx_xlock_sig() and sx_slock_sig(). 2007-05-31 09:14:48 +00:00
kern_synch.c Commit 2/14 of sched_lock decomposition. 2007-06-04 23:50:56 +00:00
kern_syscalls.c
kern_sysctl.c Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
kern_tc.c Despite several examples in the kernel, the third argument of 2007-06-04 18:25:08 +00:00
kern_thr.c - Remove unused variable from create_thread(). 2007-06-07 19:45:19 +00:00
kern_thread.c - Garbage collect unused concurrency functions. 2007-06-12 19:49:39 +00:00
kern_time.c rufetch and calcru sometimes should be called atomically together. 2007-06-09 21:48:44 +00:00
kern_timeout.c Fix an old standing LOR between callout_lock and sleepqueues chain (which 2007-06-26 21:42:01 +00:00
kern_umtx.c Backout experimental adaptive-spin umtx code. 2007-06-06 07:35:08 +00:00
kern_uuid.c Correct typo. 2007-04-23 12:53:00 +00:00
kern_xxx.c Further system call comment cleanup: 2007-03-05 13:10:58 +00:00
ksched.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
link_elf_obj.c Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
link_elf.c Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
linker_if.m
Make.tags.inc - Remove UMAP filesystem. It was disconnected from build three years ago, 2007-06-25 05:06:57 +00:00
Makefile - Remove UMAP filesystem. It was disconnected from build three years ago, 2007-06-25 05:06:57 +00:00
makesyscalls.sh
md4c.c
md5c.c
p1003_1b.c Further system call comment cleanup: 2007-03-05 13:10:58 +00:00
posix4_mib.c
sched_4bsd.c - Move some common code out of sched_fork_exit() and back into fork_exit(). 2007-06-12 07:47:09 +00:00
sched_ule.c - Fix an off by one error in sched_pri_range. 2007-06-15 19:33:58 +00:00
serdev_if.m
subr_acl_posix1e.c Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
subr_autoconf.c
subr_blist.c
subr_bus.c fix comment typo 2007-05-23 17:28:21 +00:00
subr_clist.c
subr_clock.c
subr_devstat.c
subr_disk.c
subr_eventhandler.c
subr_fattime.c
subr_firmware.c Cleanup and document the implementation of firmware(9) based on 2007-02-15 17:21:31 +00:00
subr_hints.c
subr_kdb.c
subr_kobj.c
subr_lock.c Revert some debugging KTRs that were added during development. 2007-06-03 18:24:31 +00:00
subr_log.c
subr_mbpool.c Add parens around *free in *free++ in mbp_count() so that mbp_count() 2007-05-27 17:38:36 +00:00
subr_mchain.c
subr_module.c
subr_msgbuf.c
subr_param.c
subr_pcpu.c
subr_power.c
subr_prf.c Instead of doing comparisons using the pcpu area to see if 2007-03-08 06:44:34 +00:00
subr_prof.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
subr_rman.c Complete removal of restriction about overlaps to rman_manage_region: 2007-04-28 07:37:49 +00:00
subr_rtc.c
subr_sbuf.c
subr_scanf.c
subr_sleepqueue.c - Include opt_sched.h for SCHED_STATS. 2007-06-12 23:27:31 +00:00
subr_smp.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
subr_stack.c
subr_taskqueue.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
subr_trap.c - Include opt_sched.h for SCHED_STATS. 2007-06-12 23:27:31 +00:00
subr_turnstile.c - Include opt_sched.h for SCHED_STATS. 2007-06-12 23:27:31 +00:00
subr_unit.c Add the witness warning for free_unr. Function could sleep, thus callers 2007-06-19 13:13:17 +00:00
subr_witness.c - Remove zstty spin lock for no longer existing zs(4). 2007-06-16 23:30:57 +00:00
sys_generic.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
sys_pipe.c Remove amountpipes counter for pipes -- this replicates the function of 2007-05-27 17:33:10 +00:00
sys_process.c Commit 14/14 of sched_lock decomposition. 2007-06-05 00:00:57 +00:00
sys_socket.c Move to ANSI C function headers. Re-wrap some comments. 2007-03-04 17:50:46 +00:00
syscalls.c
syscalls.master
systrace_args.c
sysv_ipc.c Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
sysv_msg.c Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
sysv_sem.c Relock the sema_mtxp unconditionally after copyin() for SETALL case in 2007-07-03 15:58:47 +00:00
sysv_shm.c Further system call comment cleanup: 2007-03-05 13:10:58 +00:00
tty_compat.c
tty_conf.c
tty_cons.c Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
tty_pts.c Use make_dev_credf(MAKEDEV_REF) instead of make_dev() from the clone handler. 2007-07-03 17:44:59 +00:00
tty_pty.c Use make_dev_credf(MAKEDEV_REF) instead of make_dev() from pty clone handler. 2007-07-03 17:45:52 +00:00
tty_subr.c
tty_tty.c Lock Giant and proctree lock around dereferencing p_session->s_ttyvp->v_rdev. 2007-07-03 17:46:37 +00:00
tty.c - Use rufetchcalc() rather than calcru() in ttyinfo so that we get 2007-07-01 00:17:59 +00:00
uipc_accf.c
uipc_cow.c
uipc_debug.c sblock() implements a sleep lock by interlocking SB_WANT and SB_LOCK flags 2007-05-03 14:42:42 +00:00
uipc_domain.c Generally migrate to ANSI function headers, and remove 'register' use. 2007-05-16 20:41:08 +00:00
uipc_mbuf2.c
uipc_mbuf.c Generally migrate to ANSI function headers, and remove 'register' use. 2007-05-16 20:41:08 +00:00
uipc_mqueue.c Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
uipc_sem.c Further system call comment cleanup: 2007-03-05 13:10:58 +00:00
uipc_sockbuf.c Now that sx(9) locks support an interruptible lock acquire primitive, 2007-05-31 11:51:22 +00:00
uipc_socket.c Despite several examples in the kernel, the third argument of 2007-06-04 18:25:08 +00:00
uipc_syscalls.c - Add some needed error checking on bad fd passing in the sctp 2007-07-02 12:50:53 +00:00
uipc_usrreq.c Add DDB "show unpcb" command, allowing DDB to print out many pertinent 2007-05-29 12:36:00 +00:00
vfs_acl.c Replay minor system call comment cleanup applied to kern_acl.c in a race 2007-03-05 13:26:07 +00:00
vfs_aio.c Remove unused variable. 2007-06-10 01:50:05 +00:00
vfs_bio.c Work around an integer overflow in expression `3 * maxbufspace / 4', 2007-06-09 23:41:14 +00:00
vfs_cache.c We only flush entries related to the given file system. Currently there are 2007-06-18 09:28:24 +00:00
vfs_cluster.c - Move rusage from being per-process in struct pstats to per-thread in 2007-06-01 01:12:45 +00:00
vfs_default.c Since renaming of vop_lock to _vop_lock, pre- and post-condition 2007-05-18 13:02:13 +00:00
vfs_export.c Move vnode-to-file-handle translation from vfs_vptofh to vop_vptofh method. 2007-02-15 22:08:35 +00:00
vfs_extattr.c
vfs_hash.c Make insmntque() externally visibile and allow it to fail (e.g. during 2007-03-13 01:50:27 +00:00
vfs_init.c Remove VFS_VPTOFH entirely. API is already broken and it is good time to 2007-02-16 17:32:41 +00:00
vfs_lookup.c Universally adopt most conventional spelling of acquire. 2007-05-27 20:50:23 +00:00
vfs_mount.c Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
vfs_subr.c Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
vfs_syscalls.c Eliminate now-unused SUSER_ALLOWJAIL arguments to priv_check_cred(); in 2007-06-12 00:12:01 +00:00
vfs_vnops.c Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00
vnode_if.src Revert UF_OPENING workaround for CURRENT. 2007-05-31 11:51:53 +00:00