freebsd-dev/sys
Andrey V. Elsukov 93201211e9 Rename ip4_def_policy variable to def_policy. It is used by both IPv4 and
IPv6. Initialize it only once in def_policy_init(). Remove its
initialization from key_init() and make it static.

Remove several fields from struct secpolicy:
* lock - it isn't so useful having mutex in the structure, but the only
  thing we do with it is initialization and destroying.
* state - it has only two values - DEAD and ALIVE. Instead of take a lock
  and change the state to DEAD, then take lock again in GC function and
  delete policy from the chain - keep in the chain only ALIVE policies.
* scangen - it was used in GC function to protect from sending several
  SADB_SPDEXPIRE messages for one SPD entry. Now we don't keep DEAD entries
  in the chain and there is no need to have scangen variable.

Use TAILQ to implement SPD entries chain. Use rmlock to protect access
to SPD entries chain. Protect all SP lookup with RLOCK, and use WLOCK
when we are inserting (or removing) SP entry in the chain.

Instead of using pattern "LOCK(); refcnt++; UNLOCK();", use refcount(9)
API to implement refcounting in SPD. Merge code from key_delsp() and
_key_delsp() into _key_freesp(). And use KEY_FREESP() macro in all cases
when we want to release reference or just delete SP entry.

Obtained from:	Yandex LLC
Sponsored by:	Yandex LLC
2014-12-24 18:34:56 +00:00
..
amd64 Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
arm Eliminate unnecessary references to pte.h internals by using the standard 2014-12-24 17:12:51 +00:00
boot Revert r276101, it didn't fix the problem and causes a compile error 2014-12-24 01:10:53 +00:00
bsm
cam Hide block device VPD pages for non-block devices. 2014-12-23 15:18:28 +00:00
cddl Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
compat Adjust printf format specifiers for dev_t and ino_t in kernel. 2014-12-17 07:27:19 +00:00
conf Fix kernel builds with "options NFS_DEBUG" that 2014-12-23 14:24:36 +00:00
contrib Correctly define constants. 2014-11-28 04:07:06 +00:00
crypto Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
ddb ddb: ANSI-fy function declarations. 2014-10-12 18:01:52 +00:00
dev Fix tunable and sysctl handling of the fail_on_task_timeout knob. 2014-12-24 07:04:04 +00:00
fs Fix kernel builds with "options NFS_DEBUG" that 2014-12-23 14:24:36 +00:00
gdb Add support for gdb's memory searching capabilities to our in-kernel gdb 2014-09-05 16:40:47 +00:00
geom Remove support for FreeBSD 7 and really old FreeBSD 8. The classifiers 2014-12-20 00:04:01 +00:00
gnu reiserfs: Use signed i_nlink 2014-09-25 19:10:32 +00:00
i386 Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
isa
kern In sbappend*() family of functions clear M_PROTO flags of incoming 2014-12-22 15:39:24 +00:00
kgssapi Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
libkern Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
mips Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
modules Remove the old NFS client and server from head, 2014-12-23 00:47:46 +00:00
net Remove if_stf.h. It contains only one function declaration used by if_stf(4). 2014-12-23 20:54:59 +00:00
net80211 Update ieee80211_sta_tim_notify() to do double duty - handle STA sleep 2014-12-21 04:58:45 +00:00
netgraph In preparation of merging projects/sendfile, transform bare access to 2014-11-12 09:57:15 +00:00
netinet Remove in_gif.h and in6_gif.h files. They only contain function 2014-12-23 16:17:37 +00:00
netinet6 Remove in_gif.h and in6_gif.h files. They only contain function 2014-12-23 16:17:37 +00:00
netipsec Rename ip4_def_policy variable to def_policy. It is used by both IPv4 and 2014-12-24 18:34:56 +00:00
netnatm
netpfil pf(4) needs to have a correct checksum during its processing. 2014-11-19 13:31:08 +00:00
netsmb
nfs Remove the old NFS client and server from head, 2014-12-23 00:47:46 +00:00
nfsclient Remove the old NFS client and server from head, 2014-12-23 00:47:46 +00:00
nfsserver Remove the old NFS client and server from head, 2014-12-23 00:47:46 +00:00
nlm Avoid dynamic syscall overhead for statically compiled modules. 2014-10-26 19:42:44 +00:00
ofed Make sure callbacks being freed are not pending when the 2014-12-11 10:47:50 +00:00
opencrypto Add some new modes to OpenCrypto. These modes are AES-ICM (can be used 2014-12-12 19:56:36 +00:00
pc98 This configuration file removes several debugging options, including 2014-12-02 19:55:43 +00:00
powerpc Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
rpc Add facility to stop all userspace processes. The supposed use of the 2014-12-13 16:18:29 +00:00
security Adjust printf format specifiers for dev_t and ino_t in kernel. 2014-12-17 07:27:19 +00:00
sparc64 This configuration file removes several debugging options, including 2014-12-02 19:55:43 +00:00
sys Restore the trap type argument to the DTrace trap hook, removed in r268600. 2014-12-23 15:38:19 +00:00
teken
tools Allow the make_dtb script to work outside of a "make buildkernel" context 2014-08-30 22:39:15 +00:00
ufs Handle MAKEENTRY cnp flag in the VOP_CREATE(). Curiously, some 2014-12-21 13:29:33 +00:00
vm Add flag VM_ALLOC_NOWAIT for vm_page_grab() that prevents sleeping and 2014-12-22 09:02:21 +00:00
x86 xen/intr: balance dynamic interrupts across available vCPUs 2014-12-10 13:25:21 +00:00
xdr
xen xen: convert the Grant-table code to a NewBus device 2014-12-10 11:35:41 +00:00
Makefile Remove "pci" from CSCOPEDIRS. 2014-09-23 06:32:19 +00:00