freebsd-nq/sys
John Baldwin b1ee5b654d Rework kern_semctl a bit to always assume the UIO_SYSSPACE case. This
mostly consists of pushing a few copyin's and copyout's up into
__semctl() as all the other callers were already doing the UIO_SYSSPACE
case.  This also changes kern_semctl() to set the return value in a passed
in pointer to a register_t rather than td->td_retval[0] directly so that
callers can only set td->td_retval[0] if all the various copyout's succeed.

As a result of these changes, kern_semctl() no longer does copyin/copyout
(except for GETALL/SETALL) so simplify the locking to acquire the semakptr
mutex before the MAC check and hold it all the way until the end of the
big switch statement.  The GETALL/SETALL cases have to temporarily drop it
while they do copyin/malloc and copyout.  Also, simplify the SETALL case to
remove handling for a non-existent race condition.
2006-07-08 19:51:38 +00:00
..
amd64 Regen. 2006-07-06 21:43:14 +00:00
arm Add support for configuring pins to be one of {GPIO, PERIPHERAL A or 2006-07-02 03:50:44 +00:00
boot Don't descend into ${MACHINE} on the arm platforms. 2006-06-18 17:44:40 +00:00
bsm Merge OpenBSM 1.0 alpha 7 new AUE_ event identifiers to kernel version 2006-07-03 14:45:43 +00:00
cam Grumble. VMWare ESX and VMWare WorkStation have *slightly* different 2006-06-26 05:41:11 +00:00
coda Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
compat Rework kern_semctl a bit to always assume the UIO_SYSSPACE case. This 2006-07-08 19:51:38 +00:00
conf Move POSIX.1e-specific utility routines from kern_acl.c to 2006-07-06 23:37:39 +00:00
contrib Make in-kernel multicast protocols for pfsync and carp work after enabling 2006-07-08 00:01:01 +00:00
crypto Fix gratuitous compiler warning. 2006-06-08 17:40:02 +00:00
ddb Never zero-out db_last_symtab. Whan backtraces are done 2006-06-16 16:17:52 +00:00
dev Enhanced floppy controllers have Data Rate Select Register (DSR) at 0x3f4. 2006-07-06 21:12:18 +00:00
fs Remove unneeded mac.h include. 2006-07-06 13:25:01 +00:00
gdb Convert to new console api 2006-05-26 13:54:27 +00:00
geom Remove bogus assertion. 2006-07-07 14:32:27 +00:00
gnu Implement vnode operations for setting and removing extended attributes. 2006-06-11 03:32:50 +00:00
i4b Since DELAY() was moved, most <machine/clock.h> #includes have been 2006-05-16 14:37:58 +00:00
i386 Regen. 2006-07-06 21:43:14 +00:00
ia64 Fixed FP_R*. fp{get_set}round() apparently never worked on ia64, since 2006-07-05 06:10:21 +00:00
isa (apply '(lambda (reformat-region 'style-9-parens)) (read-file isahint.c)) 2006-07-08 16:50:10 +00:00
isofs/cd9660 Remove calls to vfs_export() for exporting a filesystem for NFS mounting 2006-05-26 00:32:21 +00:00
kern Rework kern_semctl a bit to always assume the UIO_SYSSPACE case. This 2006-07-08 19:51:38 +00:00
libkern First pass at removing Alpha kernel support. 2006-05-11 22:25:28 +00:00
modules Housekeeping. Update for maintainers who have handed in their commit bits 2006-07-01 10:51:55 +00:00
net Adjust rt_(set|get)metrics() to do kernel <-> userland timebase conversion. 2006-07-06 00:24:36 +00:00
net80211 remove duplicate ifname in debug msg 2006-06-24 18:00:17 +00:00
netatalk Update global copyright statement for netatalk, as I claim copyright 2006-06-08 22:13:52 +00:00
netatm Chance protocol switch method pru_detach() so that it returns void 2006-04-01 15:42:02 +00:00
netgraph Replace inb() and outb() with bus_space_read_1() and bus_space_write_1() 2006-07-05 17:18:47 +00:00
netinet Make in-kernel multicast protocols for pfsync and carp work after enabling 2006-07-08 00:01:01 +00:00
netinet6 Complete timebase (time_second -> time_uptime) conversion. 2006-07-05 23:37:21 +00:00
netipsec - Use suser_cred(9) instead of directly comparing cr_uid. 2006-06-27 11:41:21 +00:00
netipx Make this compile without INVARIANTS. 2006-04-11 23:15:47 +00:00
netkey In raw and raw-derived socket types, maintain and enforce invariant that 2006-04-01 15:55:44 +00:00
netnatm style(9) treatment following fixups. 2006-04-23 16:33:56 +00:00
netncp
netsmb
nfs
nfs4client While reviewing NFS client for another PR, noticed this omission in the 2006-05-24 15:56:36 +00:00
nfsclient Signals may be delivered to process as well as to the thread. Check the 2006-07-08 15:39:11 +00:00
nfsserver Size the NFS server dupreq cache on the basis of nmbclusters. On servers 2006-06-23 00:42:26 +00:00
opencrypto When DIAGNOSTIC is defined, verify if we don't free crypto requests from 2006-06-06 15:04:52 +00:00
pc98 Backed out the change by request from rwatson. 2006-06-26 22:03:22 +00:00
pccard
pci Properly detect the RTL8168(B?) again. RealTek sent me a bunch of sample 2006-06-28 16:04:54 +00:00
posix4 Add scheduler API sched_relinquish(), the API is used to implement 2006-06-15 06:37:39 +00:00
powerpc Eliminate the acquisition and release of Giant from moea_extract_and_hold() 2006-07-01 23:24:32 +00:00
rpc
security Audit the remaining parameters to the extattr system calls. Generate 2006-07-06 19:33:38 +00:00
sparc64 Backed out the change by request from rwatson. 2006-06-26 22:03:22 +00:00
sys Rework kern_semctl a bit to always assume the UIO_SYSSPACE case. This 2006-07-08 19:51:38 +00:00
tools Check for errors when registering and unregistering firmware modules. This 2006-06-16 21:06:03 +00:00
ufs Check the sectorsize of the underlying disk before trying to 2006-06-03 21:20:37 +00:00
vm Move the code to handle the vm.blacklist tunable up a layer into 2006-06-23 16:44:24 +00:00
Makefile o Add geom to a list of cscope dirs. 2006-07-04 14:14:16 +00:00