HardenedBSD/sys/kern
John Baldwin afd9f91c63 Fix a deadlock in the getpeername() method for UNIX domain sockets.
Instead of locking the local unp followed by the remote unp, use the same
locking model as accept() and read lock the global link lock followed by
the remote unp while fetching the remote sockaddr.

Reported by:	Mel Flynn  mel.flynn of mailing.thruhere.net
Reviewed by:	rwatson
MFC after:	1 week
2009-06-18 20:56:22 +00:00
..
bus_if.m Add support for multiple passes of the device tree during the boot-time 2009-06-09 14:26:23 +00:00
clock_if.m
cpufreq_if.m
device_if.m
genassym.sh
imgact_aout.c Add sv_flags field to struct sysentvec with intention to provide description 2008-11-22 12:36:15 +00:00
imgact_elf32.c
imgact_elf64.c
imgact_elf.c Fix KBI breakage by r190520 which affects older linux.ko binaries: 2009-04-05 09:27:19 +00:00
imgact_gzip.c
imgact_shell.c
inflate.c
init_main.c Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use 2009-06-10 20:59:32 +00:00
init_sysent.c Regen. 2009-06-17 19:53:47 +00:00
kern_acct.c Do not use casts (int *)0 and (struct thread *)0 for the arguments of 2009-06-16 15:13:45 +00:00
kern_alq.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
kern_clock.c Mark the clock sysctls as MPSAFE. 2009-05-18 12:03:43 +00:00
kern_condvar.c Remove unused variables p' and unneeded assignments of rval'. 2009-02-26 13:00:13 +00:00
kern_conf.c Add an extension to the character device interface that allows character 2009-06-01 21:32:52 +00:00
kern_cons.c Remove unneeded variable `ocn_mute'. 2009-02-26 13:01:45 +00:00
kern_context.c
kern_cpu.c Provide a new CPU device driver ivar to report the nominal speed of the 2009-05-31 08:59:15 +00:00
kern_cpuset.c Add hierarchical jails. A jail may further virtualize its environment 2009-05-27 14:11:23 +00:00
kern_ctf.c
kern_descrip.c Add a new 'void closefrom(int lowfd)' system call. When called, it closes 2009-06-15 20:38:55 +00:00
kern_dtrace.c
kern_environment.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
kern_event.c Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use 2009-06-10 20:59:32 +00:00
kern_exec.c Eliminate unnecessary obfuscation when testing a page's valid bits. 2009-06-07 19:38:26 +00:00
kern_exit.c Perform some more cleanups to in-kernel session handling. 2009-06-15 20:45:51 +00:00
kern_fail.c fail(9) support: 2009-05-27 16:36:54 +00:00
kern_fork.c Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use 2009-06-10 20:59:32 +00:00
kern_idle.c
kern_intr.c Binding interrupts to a CPU consists of two parts: setting up CPU 2009-05-18 14:02:55 +00:00
kern_jail.c Manage vnets via the jail system. If a jail is given the boolean 2009-06-15 18:59:29 +00:00
kern_kthread.c
kern_ktr.c
kern_ktrace.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
kern_linker.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
kern_lock.c Introduce support for adaptive spinning in lockmgr. 2009-06-17 01:55:42 +00:00
kern_lockf.c Decrement state->ls_threads when vnode appeared to be doomed. 2009-06-17 12:43:04 +00:00
kern_lockstat.c Add the OpenSolaris dtrace lockstat provider. The lockstat provider 2009-05-26 20:28:22 +00:00
kern_malloc.c If we're passed garbage in malloc_init(), panic() rather than expecting 2009-06-05 09:16:52 +00:00
kern_mbuf.c Utilize the new function kmem_alloc_contig() to implement the UMA back-end 2009-06-18 17:59:04 +00:00
kern_mib.c Rename the host-related prison fields to be the same as the host.* 2009-06-13 15:39:12 +00:00
kern_module.c When the SYSINIT() to load a module invokes the MOD_LOAD event successfully, 2008-12-05 16:47:30 +00:00
kern_mtxpool.c Fix a number of style issues in the MALLOC / FREE commit. I've tried to 2008-10-23 20:26:15 +00:00
kern_mutex.c Remove extra cpu_spinwait() invocations. This should really only be used 2009-05-29 14:03:34 +00:00
kern_ntptime.c
kern_osd.c Make the rmlock(9) interface a bit more like the rwlock(9) interface: 2009-05-29 10:52:37 +00:00
kern_physio.c
kern_pmc.c
kern_poll.c After r193232 rt_tables in vnet.h are no longer indirectly dependent on 2009-06-08 19:57:35 +00:00
kern_priv.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
kern_proc.c Add a flags field to struct ucred, and export that via kinfo_proc, 2009-06-01 20:26:51 +00:00
kern_prot.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
kern_resource.c Don't rearm callout if the process is exiting, it may leak a callout 2008-10-24 01:09:24 +00:00
kern_rmlock.c Minor style tweak. 2009-05-29 14:25:51 +00:00
kern_rwlock.c Handle lock recursion differenty by always checking against LO_RECURSABLE 2009-06-02 13:03:35 +00:00
kern_sdt.c
kern_sema.c
kern_shutdown.c Rename the host-related prison fields to be the same as the host.* 2009-06-13 15:39:12 +00:00
kern_sig.c Remove VOP_LEASE and supporting functions. This hasn't been used since 2009-04-10 10:52:19 +00:00
kern_subr.c
kern_switch.c
kern_sx.c Handle lock recursion differenty by always checking against LO_RECURSABLE 2009-06-02 13:03:35 +00:00
kern_synch.c Remove even more unneeded variable assignments. 2009-02-26 15:51:54 +00:00
kern_syscalls.c
kern_sysctl.c Add explicit includes for jail.h to the files that need them and 2009-06-17 15:01:01 +00:00
kern_tc.c Remove conditionally compiled time counter statistics; tools like 2009-04-11 22:01:40 +00:00
kern_thr.c Remove even more unneeded variable assignments. 2009-02-26 15:51:54 +00:00
kern_thread.c - Implement a new mechanism for resetting lock profiling. We now 2009-03-15 06:41:47 +00:00
kern_time.c Remove VOP_LEASE and supporting functions. This hasn't been used since 2009-04-10 10:52:19 +00:00
kern_timeout.c Add explicit static DTrace tracing to the callout mechanism, capturing 2009-01-24 10:22:49 +00:00
kern_umtx.c Make UMTX_OP_WAIT_UINT actually wait for an unsigned integer on 64-bits 2009-04-13 05:21:17 +00:00
kern_uuid.c After r193232 rt_tables in vnet.h are no longer indirectly dependent on 2009-06-08 19:57:35 +00:00
kern_vimage.c Manage vnets via the jail system. If a jail is given the boolean 2009-06-15 18:59:29 +00:00
kern_xxx.c Place hostnames and similar information fully under the prison system. 2009-05-29 21:27:12 +00:00
ksched.c
link_elf_obj.c strict kobj signatures: linker_if fixes 2009-06-11 17:05:45 +00:00
link_elf.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
linker_if.m strict kobj signatures: linker_if fixes 2009-06-11 17:05:45 +00:00
Make.tags.inc Catch up with the disappearance of sys/dev/hfa. 2008-12-01 14:34:42 +00:00
Makefile
makesyscalls.sh - Add the ability to mix multiple flags seperated by pipe ('|') characters 2009-06-17 19:50:38 +00:00
md4c.c
md5c.c
p1003_1b.c
posix4_mib.c
sched_4bsd.c - Use __XSTRING where I want the define to be expanded. This resulted in 2009-01-25 07:35:10 +00:00
sched_ule.c - Fix non-SMP build by encapsulating idle spin logic in a macro. 2009-04-29 23:04:31 +00:00
serdev_if.m
stack_protector.c
subr_acl_nfs4.c Add part of NFSv4 ACL kernel support code that is required for the upcoming 2009-06-09 19:51:22 +00:00
subr_acl_posix1e.c Make 'struct acl' larger, as required to support NFSv4 ACLs. Provide 2009-05-22 15:56:43 +00:00
subr_autoconf.c Prefer ANSI function definitions to K&R ones. 2009-02-03 07:52:07 +00:00
subr_blist.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
subr_bufring.c - bump __FreeBSD version to reflect added buf_ring, memory barriers, 2008-11-22 05:55:56 +00:00
subr_bus.c We can actually remove devclass_find_driver. 2009-06-10 01:02:38 +00:00
subr_clock.c
subr_devstat.c Use NULL in preference to 0 in pointer contexts. 2009-02-03 07:54:42 +00:00
subr_disk.c Clarify and reimplement the bioq API so that bioq_disksort() has 2009-02-13 11:36:32 +00:00
subr_eventhandler.c
subr_fattime.c
subr_firmware.c Use NULL in preference to 0 for pointers. 2009-02-03 07:51:11 +00:00
subr_hints.c
subr_kdb.c Spell NULL properly, use (void) rather than () for functions with no 2009-05-09 19:08:22 +00:00
subr_kobj.c Use NULL in preference to 0 in pointer contexts. 2009-02-03 07:54:42 +00:00
subr_lock.c - Implement a new mechanism for resetting lock profiling. We now 2009-03-15 06:41:47 +00:00
subr_log.c
subr_mbpool.c
subr_mchain.c
subr_module.c
subr_msgbuf.c
subr_param.c Improve the description of a few sysctls. 2009-03-23 20:18:06 +00:00
subr_pcpu.c Change the curvnet variable from a global const struct vnet *, 2009-05-05 10:56:12 +00:00
subr_power.c
subr_prf.c Remove redundant code in printf() and vprintf(). 2009-02-27 13:28:54 +00:00
subr_prof.c Use ANSI function definition for profil. 2009-02-03 07:52:36 +00:00
subr_rman.c sysctl_rman: report shared resources to devinfo 2009-05-19 14:08:21 +00:00
subr_rtc.c Clean up MI inittodr(9) and kill noop code. 2009-03-23 21:16:21 +00:00
subr_sbuf.c
subr_scanf.c
subr_sglist.c Add a simple API to manage scatter/gather lists of phyiscal addresses. 2009-06-01 20:35:39 +00:00
subr_sleepqueue.c Revision 184199 had not been fully reverted, add missing piece. 2008-12-01 01:54:55 +00:00
subr_smp.c - Remove the bogus idle thread state code. This may have a race in it 2009-04-29 03:15:43 +00:00
subr_stack.c Make it possible to compile kernel with KTR but without DDB. 2008-10-30 21:48:28 +00:00
subr_taskqueue.c Remove semicolon left in the last commit 2009-02-13 18:51:39 +00:00
subr_trap.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
subr_turnstile.c
subr_unit.c
subr_witness.c Add minimal ZFS lock hierarchy 2009-05-20 02:51:48 +00:00
sys_generic.c - Implement a lockless file descriptor lookup algorithm in 2009-05-14 03:24:22 +00:00
sys_pipe.c Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use 2009-06-10 20:59:32 +00:00
sys_process.c Use the p_sysent->sv_flags flag SV_ILP32 to detect 32bit process 2009-03-02 18:43:50 +00:00
sys_socket.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
syscalls.c Regen. 2009-06-17 19:53:47 +00:00
syscalls.master - Add the ability to mix multiple flags seperated by pipe ('|') characters 2009-06-17 19:50:38 +00:00
systrace_args.c Regen. 2009-06-17 19:53:47 +00:00
sysv_ipc.c
sysv_msg.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
sysv_sem.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
sysv_shm.c Eliminate an instance of VM_PROT_READ_IS_EXEC that I overlooked in r190705. 2009-06-09 17:18:41 +00:00
tty_compat.c
tty_info.c Print an extra newline when not at the first column already. 2009-05-17 16:17:48 +00:00
tty_inq.c Enable secure TTY input buffer flushing by default. 2009-05-21 16:48:06 +00:00
tty_outq.c Use unsigned longs for the TTY's sysctl stats. 2009-02-26 10:28:32 +00:00
tty_pts.c Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use 2009-06-10 20:59:32 +00:00
tty_pty.c Don't use PTY name as format string, even though it isn't insecure here. 2009-02-26 10:14:10 +00:00
tty_tty.c
tty_ttydisc.c If we have a regular rint handler, never go into rint_bypass mode. 2009-05-07 17:39:23 +00:00
tty.c Perform some more cleanups to in-kernel session handling. 2009-06-15 20:45:51 +00:00
uipc_accf.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
uipc_cow.c Extend the struct vm_page wire_count to u_int to avoid the overflow 2009-01-03 13:24:08 +00:00
uipc_debug.c Add missing socket options. 2009-05-26 09:19:21 +00:00
uipc_domain.c Introduce an infrastructure for dismantling vnet instances. 2009-06-08 17:15:40 +00:00
uipc_mbuf2.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
uipc_mbuf.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
uipc_mqueue.c Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use 2009-06-10 20:59:32 +00:00
uipc_sem.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
uipc_shm.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
uipc_sockbuf.c Rework socket upcalls to close some races with setup/teardown of upcalls. 2009-06-01 21:17:03 +00:00
uipc_socket.c Get vnets from creds instead of threads where they're available, and from 2009-06-15 19:01:53 +00:00
uipc_syscalls.c SCTP needs either IPv4 or IPv6 as lower layer[1]. 2009-06-10 14:36:59 +00:00
uipc_usrreq.c Fix a deadlock in the getpeername() method for UNIX domain sockets. 2009-06-18 20:56:22 +00:00
vfs_acl.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
vfs_aio.c Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use 2009-06-10 20:59:32 +00:00
vfs_bio.c Eliminate an unused variable from allocbuf(). 2009-06-07 18:19:04 +00:00
vfs_cache.c Unlock the cache lock before returning when we run out of buffer space 2009-06-05 16:44:42 +00:00
vfs_cluster.c Eliminate unnecessary obfuscation when testing a page's valid bits. 2009-06-07 19:38:26 +00:00
vfs_default.c Add mac_framework.h include missed when MAC code was (presumably) copied 2009-06-05 14:23:24 +00:00
vfs_export.c Remove the thread argument from the FSD (File-System Dependent) parts of 2009-05-11 15:33:26 +00:00
vfs_extattr.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
vfs_hash.c
vfs_init.c Expand the scope of the sysctllock sx lock to protect the sysctl tree itself. 2009-02-06 14:51:32 +00:00
vfs_lookup.c Eliminate trailing_slash, which was made redundant in r193028. 2009-06-06 00:49:49 +00:00
vfs_mount.c Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERIC 2009-06-05 14:55:22 +00:00
vfs_subr.c Adapt vfs kqfilter to the shared vnode lock used by zfs write vop. Use 2009-06-10 20:59:32 +00:00
vfs_syscalls.c Remove the static from int hardlink_check_uid. 2009-06-13 13:09:20 +00:00
vfs_vnops.c Simply shared vnode locking and extend it to also include fsync. 2009-06-08 21:23:54 +00:00
vnode_if.src Stop asserting on exclusive locks in fsync since it can now support 2009-06-11 17:06:45 +00:00