freebsd-skq/sys/sys
Konstantin Belousov 78022527bb Switch to use shared vnode locks for text files during image activation.
kern_execve() locks text vnode exclusive to be able to set and clear
VV_TEXT flag. VV_TEXT is mutually exclusive with the v_writecount > 0
condition.

The change removes VV_TEXT, replacing it with the condition
v_writecount <= -1, and puts v_writecount under the vnode interlock.
Each text reference decrements v_writecount.  To clear the text
reference when the segment is unmapped, it is recorded in the
vm_map_entry backed by the text file as MAP_ENTRY_VN_TEXT flag, and
v_writecount is incremented on the map entry removal

The operations like VOP_ADD_WRITECOUNT() and VOP_SET_TEXT() check that
v_writecount does not contradict the desired change.  vn_writecheck()
is now racy and its use was eliminated everywhere except access.
Atomic check for writeability and increment of v_writecount is
performed by the VOP.  vn_truncate() now increments v_writecount
around VOP_SETATTR() call, lack of which is arguably a bug on its own.

nullfs bypasses v_writecount to the lower vnode always, so nullfs
vnode has its own v_writecount correct, and lower vnode gets all
references, since object->handle is always lower vnode.

On the text vnode' vm object dealloc, the v_writecount value is reset
to zero, and deadfs vop_unset_text short-circuit the operation.
Reclamation of lowervp always reclaims all nullfs vnodes referencing
lowervp first, so no stray references are left.

Reviewed by:	markj, trasz
Tested by:	mjg, pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 month
Differential revision:	https://reviews.freebsd.org/D19923
2019-05-05 11:20:43 +00:00
..
disk gpart: add fat32lba MBR partition type 2018-05-04 00:34:27 +00:00
_bitset.h Implement several enhancements to NUMA policies. 2018-03-29 02:54:50 +00:00
_bus_dma.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_callout.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_cpuset.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_domainset.h Refactor domainset iterators for use by malloc(9) and UMA. 2018-10-23 16:35:58 +00:00
_ffcounter.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_iovec.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_kstack_cache.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_lock.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_lockmgr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_mutex.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_null.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_pctrie.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_pthreadtypes.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_rangeset.h Implement rangesets. 2019-02-20 09:38:19 +00:00
_rmlock.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_rwlock.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
_semaphore.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_sigset.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_sockaddr_storage.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_stack.h stack(9): Drop unused API mode and comment that referenced it 2019-03-15 22:39:55 +00:00
_stdarg.h With the fall-back hack for lint gone, I have no copyright claim on this file. 2018-05-06 21:22:46 +00:00
_stdint.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_sx.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_task.h Make taskqgroup_attach{,_cpu}(9) work across architectures 2019-02-12 21:23:59 +00:00
_termios.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_timespec.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_timeval.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_types.h Do not include float interfaces when using libsa. 2018-02-23 04:04:25 +00:00
_ucontext.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
_uio.h Move uio enums to sys/_uio.h. 2018-03-27 15:20:03 +00:00
_umtx.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_unrhdr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
aac_ioctl.h Fix FSACTL_GET_NEXT_ADAPTER_FIB under 32-bit compat. 2018-03-14 21:11:41 +00:00
acct.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
acl.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
agpio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
aio.h Fix a comment. No functional change. 2018-02-12 17:42:28 +00:00
alq.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
apm.h
assym.h make critical_{enter, exit} inline 2018-07-03 01:55:09 +00:00
ata.h Fix typos in r345849. 2019-04-03 18:35:13 +00:00
atomic_common.h Add atomic_load(9) and atomic_store(9) operations. 2017-12-19 09:59:20 +00:00
auxv.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
bio.h Add printing of b_ioflags to DDB `show buffer' command. 2019-01-25 21:24:09 +00:00
bitset.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
bitstring.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
blist.h Allow allocations across meta boundaries. 2018-11-13 18:40:01 +00:00
boot.h Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
buf_ring.h This patch offers a workaround to buf_ring reordering 2019-04-23 06:36:32 +00:00
buf.h Allocate pager bufs from UMA instead of 80-ish mutex protected linked list. 2019-01-15 01:02:16 +00:00
bufobj.h Further parallelize the buffer cache. 2018-02-20 00:06:07 +00:00
bus_dma_internal.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
bus_dma.h Remove a trailing whitspace. 2018-02-06 19:14:15 +00:00
bus.h Add DEV_RESET /dev/devctl2 ioctl. 2019-04-05 19:31:26 +00:00
busdma_bufalloc.h Fix compile error from r327900 2018-01-12 23:41:12 +00:00
callout.h Allow pause_sbt() to catch signals during sleep by passing C_CATCH flag. 2018-03-03 18:36:38 +00:00
capability.h Remove unintend change to capability.h from r344530 2019-02-25 18:25:53 +00:00
caprights.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
capsicum.h Remove references to pdwait4(2) and CAP_PDWAIT from rights(4) 2019-02-28 18:12:14 +00:00
cdefs.h Make the system C11 atomics headers fully compatible with external GCC. 2018-08-06 23:51:08 +00:00
cdio.h
cdrio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
cfictl.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
chio.h Fix an old typo in the element status display bits: 2019-01-05 21:07:49 +00:00
ck.h ck: simplify interface with libkvm consumers by defining ck_queue types 2018-05-21 01:53:23 +00:00
clock.h Kill tz_minuteswest and tz_dsttime. 2019-03-12 04:49:47 +00:00
cnv.h libnv: Remove nvlist argument from cnvlist_{take,free}_* functions. 2018-06-18 21:26:58 +00:00
compressor.h Add support for zstd-compressed user and kernel core dumps. 2018-02-13 19:28:02 +00:00
condvar.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
conf.h Bump SPECNAMELEN to MAXNAMLEN. 2019-01-27 00:46:06 +00:00
cons.h Replace ttyprintf with sbuf_printf and tty drain routine 2018-10-20 18:31:36 +00:00
consio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
copyright.h Happy New Year 2019! 2019-01-01 00:25:25 +00:00
counter.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
coverage.h Extract the coverage sanitizer KPI to a new file. 2019-01-29 11:04:17 +00:00
cpu.h Introduce PMCR-based cpufreq(4) driver, for IBM POWER8 and POWER9 systems 2018-06-21 14:26:43 +00:00
cpuctl.h Make it possible to re-evaluate cpu_features. 2018-01-05 21:06:19 +00:00
cpuset.h Implement several enhancements to NUMA policies. 2018-03-29 02:54:50 +00:00
ctype.h Change all kernel C-type macros into static inline functions. 2019-03-25 13:50:38 +00:00
devicestat.h devstat(9): Constify function parameters that can be const 2018-08-23 01:42:45 +00:00
devmap.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
dir.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
dirent.h Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
disk_zone.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
disk.h SPDX: use the Beerware identifier. 2017-11-30 20:33:45 +00:00
disklabel.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
diskmbr.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
dkstat.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
dnv.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
domain.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
domainset.h Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
dtrace_bsd.h Pass the trap frame to fasttrap hooks. 2017-12-11 19:21:39 +00:00
dvdio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
efi.h efirt: When present, attempt to use EFI runtime services to shutdown 2018-12-15 05:46:04 +00:00
efiio.h Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
elf32.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
elf64.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
elf_common.h Revert change accidentally committed along with r345625 2019-03-28 10:56:27 +00:00
elf_generic.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
elf.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
endian.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
epoch.h The dualism between epoch_tracker and epoch_thread is fragile and 2018-11-13 23:20:55 +00:00
errno.h Create new EINTEGRITY error with message "Integrity check failed". 2019-01-17 06:35:45 +00:00
eui64.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
event.h Pass malloc flags directly through kevent(2) subroutines. 2018-11-24 17:06:01 +00:00
eventhandler.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
eventvar.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
exec.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
extattr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
fail.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
fbio.h Use unsigned intptr_t type for framebuffer addresses 2017-12-06 02:05:21 +00:00
fcntl.h Introduce funlinkat syscall that always us to check if we are removing 2019-04-06 09:34:26 +00:00
fdcio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
file.h Make struct xinpcb and friends word-size independent. 2018-07-05 13:13:48 +00:00
filedesc.h Rename seq to seqc to avoid namespace clashes with Linux 2019-02-27 22:56:55 +00:00
filio.h Move 32-bit compat support for FIODGNAME to the right place. 2018-10-26 17:59:25 +00:00
firmware.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
fnv_hash.h
gmon.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
gpio.h SPDX: Fix some cases wrongly attributed to MIT. 2017-11-30 15:10:11 +00:00
gpt.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
gtaskqueue.h Make taskqgroup_attach{,_cpu}(9) work across architectures 2019-02-12 21:23:59 +00:00
hash.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
hhook.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
iconv.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
imgact_aout.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
imgact_binmisc.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
imgact_elf.h Avoid two suword() calls per auxarg entry. 2018-05-24 16:25:18 +00:00
imgact.h Switch to use shared vnode locks for text files during image activation. 2019-05-05 11:20:43 +00:00
inflate.h
interrupt.h powerpc: Scale intrcnt by mp_ncpus 2019-03-02 01:51:41 +00:00
intr.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
ioccom.h Add _IOC_NEWLEN() and _IOC_NEWTYPE() macros. 2018-03-16 22:23:04 +00:00
ioctl_compat.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ioctl.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
iov_schema.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
iov.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
ipc.h Get rid of the requirement to include SysV IPC headers with _KERNEL 2018-02-16 01:33:01 +00:00
ipmi.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
jail.h In hardened systems, where the security.bsd.unprivileged_proc_debug sysctl 2018-11-27 17:51:50 +00:00
joystick.h Remove #warning since it breaks libsysdecode 2018-10-26 04:53:29 +00:00
kbio.h
kcov.h Extract the coverage sanitizer KPI to a new file. 2019-01-29 11:04:17 +00:00
kdb.h Don't enter DDB for fatal traps before panic by default. 2018-11-01 21:34:17 +00:00
kenv.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
kern_prefetch.h Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
kernel.h Move sysinit and sysuninit linker sets in the data (writeable) section. 2018-03-21 10:26:39 +00:00
kerneldump.h Retain offset compatibility with pre-12.0 dumps 2018-06-15 19:02:53 +00:00
khelp.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
kobj.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
kpilite.h expose sched_{pin,unpin}_lite to tied modules 2018-07-03 04:02:40 +00:00
ksem.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
kthread.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ktr_class.h Drop KTR_CONTENTION. 2018-03-20 15:51:05 +00:00
ktr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ktrace.h Reduce overhead of ktrace checks in the common case. 2018-05-09 00:00:47 +00:00
libkern.h Revert r346410 and r346411 2019-04-19 22:08:17 +00:00
limits.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
link_aout.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
link_elf.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
linker_set.h Move sysinit and sysuninit linker sets in the data (writeable) section. 2018-03-21 10:26:39 +00:00
linker.h Add flags variants to linker_files / stack(9) symbol resolution 2018-10-20 18:08:43 +00:00
lock_profile.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
lock.h inline atomics and allow tied modules to inline locks 2018-07-02 19:48:38 +00:00
lockf.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
lockmgr.h Add flag LK_NEW for lockinit() that is converted to LO_NEW and passed 2019-01-15 00:35:19 +00:00
lockstat.h lockstat: track lockstat just like sdt probes 2018-04-24 01:04:10 +00:00
loginclass.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
mac.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
malloc.h Add malloc_domainset(9) and _domainset variants to other allocator KPIs. 2018-10-30 18:26:34 +00:00
mbuf.h Replace cosqos with numa_domain in mbuf pkthdr 2019-04-16 16:49:34 +00:00
mchain.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
md4.h SPDX: some uses of the RSA-MD license. 2017-12-13 16:30:39 +00:00
md5.h SPDX: some uses of the RSA-MD license. 2017-12-13 16:30:39 +00:00
mdioctl.h Use VOP_ADVISE() with POSIX_FADV_DONTNEED instead of IO_DIRECT to 2018-12-21 08:15:31 +00:00
memdesc.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
memrange.h
mman.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
module_khelp.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
module.h Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
mount.h Add new file handle system calls. 2018-12-07 15:17:29 +00:00
mouse.h psm(4): detect Lenovo top-button clickpads 2019-01-18 22:20:29 +00:00
mpt_ioctl.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
mqueue.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
msg.h Don't define struct mymsg. 2018-03-02 22:13:29 +00:00
msgbuf.h BOOT_TAG: Make a config(5) option, expose as sysctl and loader tunable 2018-08-09 17:47:47 +00:00
mtio.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
mutex.h Annotate Giant drop/pickup macros with __predict_false 2018-12-07 12:06:03 +00:00
namei.h Fix renameat(2) for CAPABILITIES kernels. 2019-02-08 04:18:17 +00:00
nlist_aout.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
nv.h libnv: Add nvlist_append_*_array() family of functions. 2018-06-18 22:57:32 +00:00
osd.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
param.h Fix regression issue after r346645 in the LinuxKPI. 2019-05-04 09:47:01 +00:00
pciio.h Add ioctl to conveniently mmap a PCI device BAR into userspace. 2018-08-01 18:58:24 +00:00
pcpu.h Don't mark module data as static on RISC-V. 2018-09-12 08:05:33 +00:00
pctrie.h kern/subr_pctrie: Convert old-style boolean_t to plain "bool" 2019-04-06 20:38:44 +00:00
pidctrl.h Add a generic Proportional Integral Derivative (PID) controller algorithm and 2018-02-23 22:51:51 +00:00
pioctl.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
pipe.h
pmc.h hwpmc: Refactor sample ring buffer handling to fix races 2018-10-05 05:55:56 +00:00
pmckern.h hwpmc: Refactor sample ring buffer handling to fix races 2018-10-05 05:55:56 +00:00
pmclog.h pmc: convert native to jsonl and track TSC value of samples 2018-06-07 02:03:22 +00:00
poll.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
posix4.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
power.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
priority.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
priv.h Remove unused argument to priv_check_cred. 2018-12-11 19:32:16 +00:00
proc.h Remove p_code from struct proc. 2019-04-25 18:42:07 +00:00
procctl.h amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00
procdesc.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
procfs.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
protosw.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ptio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ptrace.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
pwm.h pwm: Convert period and duty to unsigned int 2018-12-14 18:37:26 +00:00
queue.h Define QMD_SAVELINK() only for QUEUE_MACRO_DEBUG_TRASH case. Otherwise 2018-10-31 19:37:11 +00:00
racct.h racct: add RACCT_ENABLED macro and racct_set_unlocked 2018-12-07 16:47:34 +00:00
random.h random(4): Add is_random_seeded(9) KPI 2019-04-16 17:12:17 +00:00
rangelock.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
rangeset.h Implement rangesets. 2019-02-20 09:38:19 +00:00
rctl.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
reboot.h Create helper functions for parsing boot args. 2018-07-13 16:43:05 +00:00
refcount.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
regression.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
resource.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
resourcevar.h Make lim_cur inline if possible. 2018-12-11 12:01:46 +00:00
rman.h add support for marking interrupt handlers as suspended 2018-12-17 17:11:00 +00:00
rmlock.h Remove unused *_sysinit_flags() declarations. 2019-01-22 12:56:49 +00:00
rtprio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
runq.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
rwlock.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
sbuf.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
sched.h Inlined sched_userret. 2018-05-07 23:36:16 +00:00
sdt.h Provide SDT_PROBES_ENABLED for kernels without KDTRACE. 2018-12-19 23:19:05 +00:00
select.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
selinfo.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
sem.h Don't declare union semun in userspace unless _WANT_SEMUN is defined. 2018-03-02 22:32:53 +00:00
sema.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
seqc.h Rename seq to seqc to avoid namespace clashes with Linux 2019-02-27 22:56:55 +00:00
serial.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
sf_buf.h Define PHYS_TO_DMAP() and DMAP_TO_PHYS() as panics on the architectures 2018-01-19 22:17:13 +00:00
sglist.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
shm.h Implement shmat(2) flag SHM_REMAP. 2019-01-16 05:15:57 +00:00
sigio.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
signal.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
signalvar.h vfs: __predict common case in VFS_EPILOGUE/PROLOGUE 2018-09-22 11:39:30 +00:00
sleepqueue.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
slicer.h Update a comment to reflect reality; no functional changes. 2019-02-26 22:07:59 +00:00
smp.h Expose threads-per-core and physical core count information 2019-01-04 18:31:17 +00:00
snoop.h Revert r327005 - SPDX tags for license similar to BSD-2-Clause. 2017-12-20 20:25:28 +00:00
sockbuf.h Obvious comment correction. 2019-04-09 22:15:39 +00:00
socket.h Add SOL_SOCKET level socket option with name SO_DOMAIN to get 2018-08-21 14:04:30 +00:00
socketvar.h Try to improve comment for socket state bits. 2019-03-09 01:37:00 +00:00
sockio.h Allow to specify PCP on packets not belonging to any VLAN. 2018-03-27 15:29:32 +00:00
sockopt.h sockopt.h: remove stale comment 2018-07-25 00:18:21 +00:00
soundcard.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
spigenio.h Add the ioctl definitions for spigen get/set spi mode. Should have been 2018-04-07 20:53:34 +00:00
stack.h stack(9): Drop unused API mode and comment that referenced it 2019-03-15 22:39:55 +00:00
stat.h sys/stat.h: Improve timespec compatibility with other BSDs 2019-03-18 19:23:19 +00:00
statvfs.h
stdatomic.h Make the system C11 atomics headers fully compatible with external GCC. 2018-08-06 23:51:08 +00:00
stddef.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
stdint.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
sun_disklabel.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
sx.h sx: retire SX_NOADAPTIVE 2018-12-05 16:43:03 +00:00
syscall.h Regen after r345982. 2019-04-06 09:37:10 +00:00
syscall.mk Regen after r345982. 2019-04-06 09:37:10 +00:00
syscallsubr.h Introduce funlinkat syscall that always us to check if we are removing 2019-04-06 09:34:26 +00:00
sysctl.h iflib: mark isc_driver_version as constant 2019-03-19 23:44:26 +00:00
sysent.h Remove sv_pagesize, originally introduced with r100384. 2019-03-01 16:16:38 +00:00
syslimits.h Remove LINK_MAX. 2018-01-05 22:26:23 +00:00
syslog.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
sysproto.h Regen after r345982. 2019-04-06 09:37:10 +00:00
systm.h lkpi: allow late binding of linux_alloc_current 2019-02-22 23:15:32 +00:00
taskqueue.h Add a taskqueue_quiesce(9) KPI. 2018-11-21 17:18:27 +00:00
terminal.h teken, vt(4): New callbacks to lock the terminal once 2018-05-16 09:01:02 +00:00
termios.h
thr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
tiio.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
time.h Fix sbttons for values > 2s 2019-04-13 04:46:35 +00:00
timeb.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
timeet.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
timeffc.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
timepps.h SPDX: use the Beerware identifier. 2017-11-30 20:33:45 +00:00
timers.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
times.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
timespec.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
timetc.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
timex.h
tree.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
tslog.h Wrap includes in sys/tslog.h with #ifdef TSLOG. 2017-12-31 21:00:21 +00:00
tty.h Avoid fixing the tty_info() buffer size in tty.h. 2018-11-06 23:41:44 +00:00
ttycom.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ttydefaults.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ttydevsw.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ttydisc.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ttyhook.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ttyqueue.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
turnstile.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
types.h Change the vm_ooffset_t type to unsigned. 2018-12-02 13:16:46 +00:00
ucontext.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ucred.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
uio.h Move uio enums to sys/_uio.h. 2018-03-27 15:20:03 +00:00
umtx.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
un.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
unistd.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
unpcb.h Fix LOCAL_PEERCRED with socketpair(2) 2018-08-03 01:37:00 +00:00
user.h Show wiring state of map entries in procstat -v. 2019-03-05 19:45:37 +00:00
utsname.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
uuid.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
vdso.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
vmem.h Don't import 0 into vmem quantum caches. 2018-10-22 16:16:42 +00:00
vmmeter.h Add more NUMA-specific low memory predicates. 2018-09-24 19:24:17 +00:00
vnode.h Switch to use shared vnode locks for text files during image activation. 2019-05-05 11:20:43 +00:00
vtoc.h
wait.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
watchdog.h make SW_WATCHDOG dynamic 2018-01-03 00:56:30 +00:00
zlib.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
zutil.h Use __builtin for various mem* and b* (e.g. bzero) routines. 2018-06-02 18:03:35 +00:00