1
0
mirror of https://git.FreeBSD.org/src.git synced 2025-01-20 15:43:16 +00:00
freebsd/sys
Don Lewis 9e74cba35a Make a temporary copy of the output data in the generic sysctl handlers
so that the data is less likely to be inconsistent if SYSCTL_OUT() blocks.
If the data is large, wire the output buffer instead.

This is somewhat less than optimal, since the handler could skip the copy
if it knew that the data was static.

If the data is dynamic, we are still not guaranteed to get a consistent
copy since another processor could change the data while the copy is in
progress because the data is not locked.  This problem could be solved if
the generic handlers had the ability to grab the proper lock before the
copy and release it afterwards.

This may duplicate work done in other sysctl handlers in the kernel which
also copy the data, possibly while a lock is held, before calling they call
a generic handler to output the data.  These handlers should probably call
SYSCTL_OUT() directly.
2002-07-28 21:06:14 +00:00
..
alpha de-count pci now that ahc/ahd are taken care of. 2002-07-23 06:36:23 +00:00
amd64 Unwind the syscall_with_err_pushed tweak that jake did some time back. 2002-07-28 00:27:51 +00:00
arm Remove label_t and physadr, which seem to have never been used in 2002-07-10 15:47:59 +00:00
boot Turn on -Wformat 2002-07-20 03:52:37 +00:00
cam Correct spelling of 'supplied'. 2002-06-19 20:44:48 +00:00
coda
compat Regenerate 2002-07-20 02:56:34 +00:00
conf Kernel options for Mandatory Access Control (MAC). 2002-07-27 19:50:28 +00:00
contrib Resolve conflicts arising from the ACPI CA 20020611 import. 2002-07-09 17:54:02 +00:00
crypto Fix some really pedantic GCC warnings. 2002-07-15 13:45:15 +00:00
ddb Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
dev Fix location and name of if_an_pci.c in comment. 2002-07-27 21:28:40 +00:00
fs Correct misindentation of DRA_UID. 2002-07-28 06:57:57 +00:00
geom Don't use the static thread.. it is going away. 2002-06-29 07:47:20 +00:00
gnu Use hashdestroy() now that it exists. 2002-06-30 03:01:44 +00:00
i4b
i386 Unwind the syscall_with_err_pushed tweak that jake did some time back. 2002-07-28 00:27:51 +00:00
ia64 de-count pci 2002-07-23 06:38:47 +00:00
isa Clock frequencies reported by sysctl should be unsigned values. Discovered 2002-06-22 16:30:18 +00:00
isofs/cd9660
kern Make a temporary copy of the output data in the generic sysctl handlers 2002-07-28 21:06:14 +00:00
libkern Convert GNU variadic macros to the ISO 9X variety. 2002-07-15 13:34:50 +00:00
modules Remove bktr.h/NBKTR. Set BKTR_FREEBSD_MODULE in opt_bktr.h instead. 2002-07-22 00:08:24 +00:00
net Slight whitespace cleanup. Whitespace sync to MAC tree. 2002-07-27 19:53:02 +00:00
netatalk
netatm - Remove UM_* user land memory macros since they are no longer used. 2002-06-24 22:31:17 +00:00
netgraph NUL terminate the ACNAME passed to userland. 2002-06-22 21:00:53 +00:00
netinet Wire the sysctl output buffer before grabbing any locks to prevent 2002-07-28 19:59:31 +00:00
netinet6 correct comment for setsockopt arg size. 2002-07-25 20:40:09 +00:00
netipx Make spxnames a const char * to quieten some warnings in netstat. 2002-07-27 23:15:08 +00:00
netkey - fixed the order of searching SA table for packets. 2002-07-10 16:39:38 +00:00
netnatm
netncp Wire the sysctl output buffer before grabbing any locks to prevent 2002-07-28 19:59:31 +00:00
netns
netsmb Wire the sysctl output buffer before grabbing any locks to prevent 2002-07-28 19:59:31 +00:00
nfs
nfsclient o Lock page queue accesses in nfs_getpages(). 2002-07-21 20:01:32 +00:00
nfsserver Oops, another unused arg to nfssvc_nfsd(). *blush* 2002-07-24 23:10:34 +00:00
pc98 gethints.awk is a machine-specific 4.x->5.x transition aid. We cannot 2002-07-26 03:52:30 +00:00
pccard MFp4: 2002-07-26 08:07:55 +00:00
pci o If the page returned by vm_page_grab(VM_ALLOC_ZERO) isn't prezeroed, 2002-07-21 04:07:26 +00:00
posix4 Part 1 of KSE-III 2002-06-29 17:26:22 +00:00
powerpc de-count pci 2002-07-23 06:38:47 +00:00
rpc
security/lomac
sparc64 Fix a bug introduced in previous commit. Due to the interaction of the 2002-07-28 19:15:34 +00:00
sys Reserve VCACHEDLABEL vnode flag for use by the TrustedBSD MAC 2002-07-27 19:56:27 +00:00
tools - Use 'options DEBUG_VFS_LOCKS' instead of the DEBUG_ALL_VFS_LOCKS 2002-07-07 06:39:36 +00:00
ufs Lock page queue accesses by vm_page_free(). 2002-07-28 08:01:48 +00:00
vm o Lock page queue accesses by vm_page_free(). 2002-07-28 20:13:48 +00:00
Makefile