freebsd-nq/sys/kern
David Malone 2bc21ed985 Hopefully improve control message passing over Unix domain sockets.
1) Allow the sending of more than one control message at a time
over a unix domain socket. This should cover the PR 29499.

2) This requires that unp_{ex,in}ternalize and unp_scan understand
mbufs with more than one control message at a time.

3) Internalize and externalize used to work on the mbuf in-place.
This made life quite complicated and the code for sizeof(int) <
sizeof(file *) could end up doing the wrong thing. The patch always
create a new mbuf/cluster now. This resulted in the change of the
prototype for the domain externalise function.

4) You can now send SCM_TIMESTAMP messages.

5) Always use CMSG_DATA(cm) to determine the start where the data
in unp_{ex,in}ternalize. It was using ((struct cmsghdr *)cm + 1)
in some places, which gives the wrong alignment on the alpha.
(NetBSD made this fix some time ago).

This results in an ABI change for discriptor passing and creds
passing on the alpha. (Probably on the IA64 and Spare ports too).

6) Fix userland programs to use CMSG_* macros too.

7) Be more careful about freeing mbufs containing (file *)s.
This is made possible by the prototype change of externalise.

PR:		29499
MFC after:	6 weeks
2001-10-04 13:11:48 +00:00
..
bus_if.m Alter the return value and arguments of the GET_RESOURCE_LIST bus method. 2000-11-28 06:49:15 +00:00
device_if.m
genassym.sh Improve kernel bootstrapping: 2001-01-28 06:39:56 +00:00
imgact_aout.c Make uio_yield() a global. Call uio_yield() between chunks 2001-09-26 06:54:32 +00:00
imgact_elf.c Make uio_yield() a global. Call uio_yield() between chunks 2001-09-26 06:54:32 +00:00
imgact_gzip.c Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
imgact_shell.c
inflate.c
init_main.c Don't initialize proc0's mutex twice. It is already done earlier on in the 2001-09-18 22:09:47 +00:00
init_sysent.c o Part two of eaccess(2) commit, rebuilt system call code. 2001-09-21 21:34:06 +00:00
kern_acct.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_acl.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_cap.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_clock.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_condvar.c Add missing ; in last commit 2001-09-19 02:53:59 +00:00
kern_conf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_descrip.c When FREE()ing kqueue related structures, charge them to the correct bucket. 2001-09-30 17:00:56 +00:00
kern_environment.c Add a pointer to kenv(1). 2001-09-21 02:25:53 +00:00
kern_event.c Have EVFILT_TIMERS allocate their callouts via malloc() instead of using 2001-09-29 17:48:39 +00:00
kern_exec.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_exit.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_fork.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_idle.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_intr.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_jail.c o Initialize per-jail securelevel from global securelevel as part of 2001-09-26 20:37:15 +00:00
kern_kthread.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_ktr.c - Replace the unused KTR_IDLELOOP trace class with a new KTR_WITNESS trace 2001-06-25 23:09:31 +00:00
kern_ktrace.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_linker.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_lock.c Fix locking on td_flags for TDF_DEADLKTREAT. If the comments in the code 2001-09-13 22:33:37 +00:00
kern_lockf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_malloc.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_mib.c o Modify kern.securelevel MIB entry to return a local securelevel, if 2001-09-26 20:39:48 +00:00
kern_module.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_mutex.c Remove superflous parens after de-macroizing. 2001-09-26 00:05:18 +00:00
kern_ntptime.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_physio.c
kern_proc.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_prot.c o When performing a securelevel check as part of securelevel_ge() or 2001-09-26 20:41:48 +00:00
kern_random.c This patchset fixes a large number of file descriptor race conditions. 2000-11-18 21:01:04 +00:00
kern_resource.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_sema.c Implement kernel semaphores. 2001-08-14 22:13:14 +00:00
kern_shutdown.c decrement the dumping variable after use so we can call it several times 2001-09-20 06:08:53 +00:00
kern_sig.c Lock the vnode while truncating the corefile. This fixes a panic 2001-09-26 01:24:07 +00:00
kern_subr.c Make uio_yield() a global. Call uio_yield() between chunks 2001-09-26 06:54:32 +00:00
kern_switch.c Change p into ke->ke_proc, this was hidden behind INVARIANTS. 2001-09-18 03:36:21 +00:00
kern_sx.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_synch.c GC some #if 0'd code. 2001-09-21 19:21:18 +00:00
kern_syscalls.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
kern_sysctl.c o Modify sysctl access control check to use securelevel_gt(), and 2001-09-26 19:51:25 +00:00
kern_tc.c Remove a bogus #ifdef KTR stanza. 2001-01-01 23:09:53 +00:00
kern_time.c o Modify static settime() to accept the proc * for the process requesting 2001-09-26 19:53:57 +00:00
kern_timeout.c Move most of the kernel submap initialization code, including the 2001-08-22 04:07:27 +00:00
kern_xxx.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
ksched.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
link_aout.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
link_elf_obj.c The ia64 kernel is now linked dynamically so parse its _DYNAMIC structure. 2001-09-15 11:02:10 +00:00
link_elf.c The ia64 kernel is now linked dynamically so parse its _DYNAMIC structure. 2001-09-15 11:02:10 +00:00
linker_if.m With this commit, I hereby pronounce gensetdefs past its use-by date. 2001-06-13 10:58:39 +00:00
Make.tags.inc Remove vestiges of MFS. 2001-06-01 10:07:28 +00:00
Makefile Remove vestiges of MFS. 2001-06-01 10:07:28 +00:00
makeobjops.pl revert previous commit (bad style and not needed) 2001-07-22 10:24:31 +00:00
makesyscalls.sh Make the NODEF type usable. A syscall of type NODEF will only 2001-09-28 01:21:57 +00:00
md4c.c Import kernel part of SMB/CIFS requester. 2001-04-10 07:59:06 +00:00
md5c.c Add ia64 support. 2000-09-29 13:36:47 +00:00
p1003_1b.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
posix4_mib.c
subr_acl_posix1e.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_autoconf.c
subr_blist.c With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
subr_bus.c Move the hints gunk to a seperate file. It isn't really part of the 2001-07-14 08:25:18 +00:00
subr_clist.c Make cblock_alloc_cblocks() spell its own name 2001-03-27 10:21:26 +00:00
subr_devstat.c Export the head structure for the device statistics STAILQ in 2001-08-04 18:02:47 +00:00
subr_disk.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_disklabel.c Create a general facility for making dev_t's depend on another 2001-05-26 08:27:58 +00:00
subr_diskmbr.c Create a general facility for making dev_t's depend on another 2001-05-26 08:27:58 +00:00
subr_diskslice.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_eventhandler.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_hints.c Fix a fatal type mismatch (char *static_env; vs char static_env[]). 2001-09-17 21:27:41 +00:00
subr_kobj.c Convert more malloc+bzero to malloc+M_ZERO. 2000-12-08 21:51:06 +00:00
subr_log.c Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
subr_mbuf.c Re-enable mbtypes statistics in the mbuf allocator. I disabled these 2001-09-30 01:58:39 +00:00
subr_mchain.c Remove superfluous m_pkthdr.rcv_if = NULL assignment following 2001-02-25 06:33:50 +00:00
subr_module.c Preceed/preceeding are not english words. Use precede and preceding. 2001-02-18 10:43:53 +00:00
subr_param.c Conditionalize VM_SWZONE_SIZE_MAX and VM_BCACHE_SIZE_MAX so MD sections 2001-08-20 16:29:13 +00:00
subr_pcpu.c - Split out the support for per-CPU data from the SMP code. UP kernels 2001-05-10 17:45:49 +00:00
subr_prf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_prof.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_rman.c Handle NULL struct device *s 2001-05-28 01:00:03 +00:00
subr_sbuf.c Add a couple of API functions I need for my pseudofs WIP. Documentation 2001-09-29 00:32:46 +00:00
subr_scanf.c
subr_smp.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
subr_taskqueue.c remove include of ipl.h because it no longer exists 2001-05-16 02:52:06 +00:00
subr_trap.c Remove a bogus comment. "atomic" doesn't mean that the operation is done 2001-09-21 19:26:57 +00:00
subr_turnstile.c Remove superflous parens after de-macroizing. 2001-09-26 00:05:18 +00:00
subr_witness.c Move the ap boot spin lock earlier in the lock order before the sio(4) 2001-10-01 22:50:30 +00:00
subr_xxx.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
sys_generic.c The P_SELECT flag was moved from p->p_flag to td->td_flags, but p_flag 2001-09-21 22:06:22 +00:00
sys_pipe.c Use the passed in thread to selrecord() instead of curthread. 2001-09-21 22:46:54 +00:00
sys_process.c Set debug information on the process being traced, not the current (debugger) 2001-09-18 19:06:11 +00:00
sys_socket.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
syscalls.c o Part two of eaccess(2) commit, rebuilt system call code. 2001-09-21 21:34:06 +00:00
syscalls.master o Introduce eaccess(2), a version of access(2) that uses the effective 2001-09-21 21:33:22 +00:00
sysv_ipc.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
sysv_msg.c Make msgseg, msgssz (->msgmax) and msgmni TUNABLE. 2001-09-21 09:25:17 +00:00
sysv_sem.c PR: kern/29698 (part) 2001-09-13 21:06:41 +00:00
sysv_shm.c PR: kern/29698 (part) 2001-09-13 20:20:09 +00:00
tty_compat.c
tty_conf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty_cons.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty_pty.c Use the passed in thread pointer instead of curthread in calls to 2001-09-21 22:22:25 +00:00
tty_subr.c Make cblock_alloc_cblocks() spell its own name 2001-03-27 10:21:26 +00:00
tty_tty.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
tty.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
uipc_accf.c Revert the last bits of my bogus move of NMBCLUSTERS 2001-06-01 21:47:34 +00:00
uipc_domain.c Sync with recent KAME. 2001-06-11 12:39:29 +00:00
uipc_mbuf2.c Sync with recent KAME. 2001-06-11 12:39:29 +00:00
uipc_mbuf.c Forgot to remove this un-needed test. (M_WAITOK won't fail) 2001-08-19 04:30:13 +00:00
uipc_proto.c Implement a LOCAL_PEERCRED socket option which returns a 2001-08-17 22:01:18 +00:00
uipc_sockbuf.c Allow sbcreatecontrol to make cluster sized control messages. 2001-10-04 12:59:53 +00:00
uipc_socket2.c Allow sbcreatecontrol to make cluster sized control messages. 2001-10-04 12:59:53 +00:00
uipc_socket.c Hopefully improve control message passing over Unix domain sockets. 2001-10-04 13:11:48 +00:00
uipc_syscalls.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
uipc_usrreq.c Hopefully improve control message passing over Unix domain sockets. 2001-10-04 13:11:48 +00:00
vfs_acl.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_aio.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_bio.c Enable vmiodirenable by default. Remove incorrect comment from sysctl.conf. 2001-09-26 19:35:04 +00:00
vfs_cache.c After extensive testing it has been determined that adding complexity 2001-10-01 04:33:35 +00:00
vfs_cluster.c With Alfred's permission, remove vm_mtx in favor of a fine-grained approach 2001-07-04 16:20:28 +00:00
vfs_conf.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_default.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_export.c Fix some signed/unsigned integer confusion, and add bounds checking of 2001-09-10 11:28:07 +00:00
vfs_extattr.c o Complete the migration from suser error checking in the following form 2001-10-01 20:01:07 +00:00
vfs_init.c Revert consequences of changes to mount.h, part 2. 2001-04-29 02:45:39 +00:00
vfs_lookup.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_mount.c KSE Milestone 2 2001-09-12 08:38:13 +00:00
vfs_subr.c After extensive testing it has been determined that adding complexity 2001-10-01 04:33:35 +00:00
vfs_syscalls.c o Complete the migration from suser error checking in the following form 2001-10-01 20:01:07 +00:00
vfs_vnops.c Make uio_yield() a global. Call uio_yield() between chunks 2001-09-26 06:54:32 +00:00
vnode_if.pl KSE Milestone 2 2001-09-12 08:38:13 +00:00
vnode_if.src KSE Milestone 2 2001-09-12 08:38:13 +00:00