freebsd-dev/sys/sys
Jason A. Harmening 080ef8a418 Add VV_CROSSLOCK vnode flag to avoid cross-mount lookup LOR
When a lookup operation crosses into a new mountpoint, the mountpoint
must first be busied before the root vnode can be locked. When a
filesystem is unmounted, the vnode covered by the mountpoint must
first be locked, and then the busy count for the mountpoint drained.
Ordinarily, these two operations work fine if executed concurrently,
but with a stacked filesystem the root vnode may in fact use the
same lock as the covered vnode. By design, this will always be
the case for unionfs (with either the upper or lower root vnode
depending on mount options), and can also be the case for nullfs
if the target and mount point are the same (which admittedly is
very unlikely in practice).

In this case, we have LOR. The lookup path holds the mountpoint
busy while waiting on what is effectively the covered vnode lock,
while a concurrent unmount holds the covered vnode lock and waits
for the mountpoint's busy count to drain.

Attempt to resolve this LOR by allowing the stacked filesystem
to specify a new flag, VV_CROSSLOCK, on a covered vnode as necessary.
Upon observing this flag, the vfs_lookup() will leave the covered
vnode lock held while crossing into the mountpoint. Employ this flag
for unionfs with the caveat that it can't be used for '-o below' mounts
until other unionfs locking issues are resolved.

Reported by:	pho
Tested by:	pho
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D35054
2022-10-26 19:33:03 -05:00
..
disk geom: Add HiFive boot partitions 2022-01-26 10:54:45 -05:00
_atomic64e.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
_atomic_subword.h Expand generic subword atomic primitives 2020-03-25 23:12:43 +00:00
_bitset.h sys/_bitset.h: Fix fall-out from commit 5e04571cf3 2021-12-08 08:52:56 +01:00
_blockcount.h Add a blocking counter KPI. 2020-02-28 16:05:18 +00:00
_bus_dma.h
_callout.h sys: make callout.h self-contained 2021-12-17 12:38:34 +01:00
_clock_id.h clock_id: These symbols weren't in 4.4BSD, adjust copyright 2021-08-02 15:50:32 -06:00
_cpuset.h sys/sys/cpuset.h 2021-12-30 13:14:43 +01:00
_domainset.h sys/bitset.h: reduce visibility of BIT_* macros 2021-12-05 23:00:25 +01:00
_endian.h Consolidate machine/endian.h definitions 2021-03-26 19:00:22 -03:00
_eventhandler.h eventhandler: Remove a double world in two comments 2022-04-09 09:13:38 +02:00
_ffcounter.h
_iovec.h
_lock.h Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
_lockmgr.h lockmgr: shrink struct lock by 8 bytes on LP64 2021-02-15 13:57:25 +00:00
_mutex.h
_null.h
_pctrie.h
_pthreadtypes.h
_pv_entry.h sys/_pv_entry.h: Include sys/param.h 2022-10-11 12:51:55 -06:00
_rangeset.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
_rmlock.h rms: several cleanups + debug read lockers handling 2020-11-07 16:57:53 +00:00
_rwlock.h Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
_semaphore.h
_seqc.h seqc: add a sleepable variant and convert some routines to macros 2020-07-25 10:29:48 +00:00
_sigset.h Fix undefined behavior: left-shifting into the sign bit. 2019-12-23 20:18:05 +00:00
_smr.h Move SMR pointer type definition and access macros to smr_types.h. 2020-03-07 00:55:46 +00:00
_sockaddr_storage.h
_stack.h stack(9): Drop unused API mode and comment that referenced it 2019-03-15 22:39:55 +00:00
_stdarg.h <sys/_stdarg.h>: Fix indentation after removing __GNUCLIKE checks. 2022-04-12 10:12:13 -07:00
_stdint.h
_sx.h
_task.h Add flag to struct task to mark the task as requiring network epoch. 2020-02-11 18:48:07 +00:00
_termios.h termios: add more speeds 2021-03-18 10:44:01 +00:00
_timespec.h
_timeval.h
_tls_variant_i.h Add <machine/tls.h> header to hold MD constants and helpers for TLS. 2021-12-09 13:17:13 -08:00
_types.h Remove checks for __GNUCLIKE macros for varargs. 2022-04-12 10:06:00 -07:00
_ucontext.h
_uio.h
_umtx.h Revert most of ce42e79310 2021-07-28 13:21:12 +03:00
_unrhdr.h
_winsize.h Add tcgetwinsize(3) and tcsetwinsize(3) to termios 2020-12-25 20:43:09 +02:00
aac_ioctl.h
abi_compat.h Centralize compatability translation macros. 2020-04-14 20:30:48 +00:00
acct.h sys/acct.h: Add sys/types.h include 2021-11-24 11:26:44 -07:00
acl.h libc/posix1e: Add acl_extended_file_np() function. 2021-08-27 11:52:26 +03:00
agpio.h
aio.h lio_listio(2): Allow LIO_READV and LIO_WRITEV. 2021-08-22 23:00:42 +12:00
alq.h sys/alq.h: Kernel only file, mark as such 2021-11-24 11:26:45 -07:00
apm.h
arb.h Add copyrights that I forgot to add when splitting arb.h off from tree.h. 2019-10-15 19:44:43 +00:00
asan.h kasan: Create a shadow for the bootstack prior to hammer_time() 2022-06-15 11:39:10 -04:00
assym.h genoffset: simplify and rewrite in sh 2021-07-28 13:50:09 -06:00
ata.h add and use defintions for ATA power modes 2022-01-11 15:41:38 +02:00
atomic_common.h atomic: Style 2022-10-11 18:19:08 -04:00
atomic_san.h Only define sanitizer wrappers for atomic fences once. 2021-09-15 09:03:17 -07:00
auxv.h
backlight.h sys/backlight.h: include sys/types.h 2021-11-24 11:26:45 -07:00
bio.h bio: Add the speedup flags to PRINT_BIO_FLAGS 2022-04-24 14:01:08 -06:00
bitcount.h sys: Extract __bitcount* from sys/types.h to new sys/bitcount.h 2022-08-18 02:46:27 +01:00
bitset.h Make CPU_SET macros compliant with other implementations 2021-12-30 12:20:32 +01:00
bitstring.h bitstring: fix ff_area() when start!=0 2022-05-10 11:53:52 -05:00
blist.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
blockcount.h Handle PCATCH in blockcount_sleep() so it can be interrupted. 2020-04-21 17:13:06 +00:00
boot.h Move to using a common kernel path between the boot / laoder bits and 2019-06-24 20:34:53 +00:00
boottrace.h boottrace: annotate init and shutdown utilities 2022-02-21 20:16:07 -04:00
buf_ring.h Minor style tidy: if( -> if ( 2021-04-18 11:19:15 -06:00
buf.h buf.h: Fix declaration of unmapped_buf 2022-08-16 15:39:03 -04:00
bufobj.h bufcache: convert bo_numoutput from long to int 2020-11-09 00:04:58 +00:00
bus_dma_internal.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
bus_dma.h bus_dma: Deduplicate locking helper functions. 2022-01-05 13:50:40 -08:00
bus_san.h Only define sanitizer wrappers for unsized bus space operations once. 2021-09-15 09:03:17 -07:00
bus.h ofw: add BUS_GET_DEVICE_PATH interface to openfirm/fdt, somewhat incomplete. 2022-10-18 16:55:47 +09:00
busdma_bufalloc.h
callout.h callout: Remove the CS_EXECUTING flag 2022-03-23 12:37:02 -04:00
caprights.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
capsicum.h capsicum: move global caps to caprights.h 2020-08-01 06:31:58 +00:00
cdefs.h cdefs: Add some notes about the different versions of POSIX 2022-07-25 21:34:34 -06:00
cdio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
cdrio.h
cfictl.h
chio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
ck.h sys/ck.h: Add an include guard 2021-03-21 11:55:52 -07:00
clock.h Kill tz_minuteswest and tz_dsttime. 2019-03-12 04:49:47 +00:00
cnv.h namespace nv names, version libnv and libnvpair library symbols 2022-07-21 18:35:23 +02:00
compressor.h
condvar.h
conf.h Retire clone_drain_lock 2022-08-20 09:44:05 +00:00
cons.h Revert "Fill in cn_name in struct consdev." 2022-07-23 22:44:19 +01:00
consio.h Move font related data structured to sys/font.c and update vtfontcvt 2020-06-14 06:58:58 +00:00
copyright.h Allow COPYRIGHT_Vendor to come from CFLAGS 2022-09-28 11:24:18 -07:00
counter.h Add COUNTER_U64_SYSINIT() and COUNTER_U64_DEFINE_EARLY(). 2020-03-06 19:09:01 +00:00
coverage.h Extract the coverage sanitizer KPI to a new file. 2019-01-29 11:04:17 +00:00
cpu.h cpufreq(4): Add support for Intel Speed Shift 2020-01-22 23:28:42 +00:00
cpuctl.h
cpuset.h cpuset: Fix the KASAN and KMSAN builds 2022-05-20 10:34:25 -04:00
csan.h Port the NetBSD KCSAN runtime to FreeBSD. 2019-11-21 11:22:08 +00:00
ctf.h ctf: Add v3 support to CTF tools, ctf{convert,dump,merge} 2022-03-07 10:43:19 -05:00
ctype.h Change all kernel C-type macros into static inline functions. 2019-03-25 13:50:38 +00:00
devctl.h devctl.h: Spelling typo 2021-11-24 02:37:51 -07:00
devicestat.h Fix asymmetry in devstat(9) calls by GEOM. 2020-10-24 21:07:10 +00:00
devmap.h Generalize ARM specific comments in devmap 2019-10-15 23:21:52 +00:00
dirent.h Ensure that directory entry padding bytes are zeroed. 2018-11-23 22:24:59 +00:00
disk_zone.h
disk.h Remove 12.x ABI compat for kernel dump ioctls 2022-04-15 12:06:05 -03:00
disklabel.h
diskmbr.h Remove deprecated GEOM classes 2019-08-13 20:06:55 +00:00
dkstat.h
dnv.h namespace nv names, version libnv and libnvpair library symbols 2022-07-21 18:35:23 +02:00
domain.h domains: merge domain_init() into domain_add() 2022-08-29 19:15:01 -07:00
domainset.h sys/bitset.h: reduce visibility of BIT_* macros 2021-12-05 23:00:25 +01:00
dtrace_bsd.h dtrace: stop using eventhandlers for the part compiled into the kernel 2020-11-23 18:27:21 +00:00
dvdio.h
efi.h efi: Add linux memory reserve table defniitions 2022-10-25 09:32:49 -06:00
efiio.h EFI RT: resurrect EFIIOC_GET_TABLE 2021-07-03 20:06:48 +03:00
elf32.h sys: Add definitions for RELR relative relocation format 2021-10-17 02:37:13 +03:00
elf64.h sys: Add definitions for RELR relative relocation format 2021-10-17 02:37:13 +03:00
elf_common.h Add AT_USRSTACK{BASE, LIM} AT vectors, and ELF_BSDF_VMNOOVERCOMMIT flag 2022-09-16 23:23:26 +03:00
elf_generic.h sys: Add definitions for RELR relative relocation format 2021-10-17 02:37:13 +03:00
elf.h
endian.h endian.h: Use the __bswap* versions 2021-09-20 22:02:35 -06:00
epoch.h Introduce and use the NET_EPOCH_DRAIN_CALLBACKS() macro 2022-07-29 21:21:10 +02:00
errno.h Allow the pseudo-errnos to be returned as well in boot loader 2020-08-28 17:49:56 +00:00
eui64.h
event.h kqueue: retire knlist_init_rw_reader() 2022-08-20 21:17:39 -08:00
eventfd.h Expose eventfd in the native API/ABI using a new __specialfd syscall 2020-12-27 12:57:26 +02:00
eventhandler.h protosw: retire pr_drain and use EVENTHANDLER(9) directly 2022-08-17 11:50:31 -07:00
eventvar.h
exec.h Rework how shared page related data is stored 2022-07-18 16:27:32 +02:00
extattr.h
fail.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
fbio.h fb: Add new FBTYPE_EFIFB 2021-12-06 11:28:03 +01:00
fcntl.h fcntl(2): add F_KINFO operation 2021-12-06 22:18:09 +02:00
fdcio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
file.h vfs: fix memory leak on lookup with fds with ioctl caps 2022-04-02 12:09:07 +00:00
filedesc.h file: Move code to share fdtol structs into kern_descrip.c 2022-08-04 09:39:25 -04:00
filio.h Support for userspace non-transparent superpages (largepages). 2020-09-09 22:12:51 +00:00
firmware.h firmware(9): extend firmware_get() by a "no warn" flag. 2021-01-27 13:51:26 +00:00
fnv_hash.h
font.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
gmon.h
gpio.h Fix build of stand/usb . 2021-04-12 16:13:33 +02:00
gpt.h
gsb_crc32.h tests/sys/kern/crc32: Check for SSE4.2 before using it 2021-02-02 09:53:39 +00:00
gtaskqueue.h Import kernel WireGuard support 2020-11-29 19:38:03 +00:00
hash.h
hhook.h
iconv.h
imgact_aout.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
imgact_binmisc.h imgact_binmisc: limit the extent of match on incoming entries 2020-11-08 04:24:29 +00:00
imgact_elf.h exec: Remove the stack gap implementation 2022-01-17 16:11:54 -05:00
imgact.h Implement shared page address randomization 2022-07-18 16:27:37 +02:00
interrupt.h Downgrade tty_intr_event from a global 2022-10-12 13:46:12 -03:00
intr.h intrng: Use less confusing return value for intr_pic_add_handler 2022-01-03 17:08:44 +00:00
ioccom.h ioccom: define ioctl cmd value that can never be valid 2021-04-30 17:43:45 +03:00
ioctl_compat.h
ioctl.h
iov_schema.h
iov.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
ipc.h
ipmi.h ipmi: correctly handle ipmb requests 2022-07-04 13:00:42 +08:00
jail.h jail: add process linkage 2022-09-05 11:54:47 +00:00
joystick.h Remove #warning since it breaks libsysdecode 2018-10-26 04:53:29 +00:00
kassert.h Add MPASSERT() and MPPASS() macros 2022-06-29 21:31:47 +03:00
kbio.h
kcov.h Extract the coverage sanitizer KPI to a new file. 2019-01-29 11:04:17 +00:00
kdb.h kdb: set kdb_why when entered via reboot and panic 2022-04-12 10:34:40 +01:00
kenv.h kenv: allow listing of static kernel environments 2021-07-18 23:06:19 -05:00
kern_prefetch.h Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
kernel.h Move KHELP_DECLARE_MOD_UMA later in the boot 2021-11-12 18:56:58 +00:00
kerneldump.h livedump: add event handler hooks 2022-04-05 15:35:05 -03:00
khelp.h
kobj.h newbus: style nit: use while<space>(0) 2021-04-17 23:46:18 -06:00
kpilite.h Use atomic_interrupt_fence() instead of bare __compiler_membar() 2021-02-28 01:27:29 +02:00
ksem.h
kthread.h kthread(9): Add a missing space 2022-06-04 20:15:07 +02:00
ktls.h ktls: Add full support for TLS RX offloading via network interface. 2022-06-07 12:58:09 +02:00
ktr_class.h Remove GEOM_SCHED class and gsched tool. 2019-12-29 21:16:03 +00:00
ktr.h KTR: Add CTR() and TR() macros which accept a variable number of arguments. 2022-04-12 14:52:25 -07:00
ktrace.h ktrace: make ktr_tid a long not intptr_t (NFC) 2022-09-17 09:21:59 +01:00
libkern.h Alter the prototype of qsort_r(3) to match POSIX, which adopted the 2022-09-30 15:26:30 -07:00
limits.h
link_aout.h
link_elf.h link_elf.h: cleanup struct link_map definition, remove mips-specific field 2022-01-06 06:14:17 +02:00
linker_set.h Remove checks for <sys/cdefs.h> being included. 2022-04-12 10:06:18 -07:00
linker.h link_elf_obj: Invoke fini callbacks 2021-07-29 09:46:25 -04:00
lock_profile.h lockprof: pass lock type as an argument instead of reading the spin flag 2021-05-23 17:55:27 +00:00
lock.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
lockf.h lockf: remove lf_inode from struct lockf_entry 2022-04-10 00:43:53 +03:00
lockmgr.h lockmgr: add adaptive spinning 2020-07-22 12:30:31 +00:00
lockstat.h lockprof: pass lock type as an argument instead of reading the spin flag 2021-05-23 17:55:27 +00:00
loginclass.h Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
mac.h
malloc.h Remove bzero declaration 2021-08-23 18:38:05 +00:00
mbuf.h mbuf: don't include lock.h conditionally 2022-10-18 08:34:03 -07:00
mchain.h
md4.h
md5.h
mdioctl.h md: Add MD_MUSTDEALLOC support 2021-09-11 20:04:52 +08:00
memdesc.h
memrange.h Add new vnode dumper to support live minidumps 2022-04-05 15:35:05 -03:00
mman.h jail: Remove a prison's shared memory when it dies 2022-06-29 10:47:39 -07:00
module_khelp.h Move KHELP_DECLARE_MOD_UMA later in the boot 2021-11-12 18:56:58 +00:00
module.h modules: increase MAXMODNAME and provide backward compat 2021-12-09 18:09:53 +00:00
mount.h mount: revert the active vnode reporting feature 2022-06-15 07:24:55 -07:00
mouse.h psm(4): detect Lenovo top-button clickpads 2019-01-18 22:20:29 +00:00
mpt_ioctl.h
mqueue.h
msan.h kmsan: Export kmsan_mark_mbuf() and kmsan_mark_bio() 2021-08-11 16:33:41 -04:00
msg.h
msgbuf.h Make msgbuf_peekbytes() not return leading zeroes. 2021-12-10 23:35:53 -05:00
mtio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
mutex.h Wrap mutex(9), rwlock(9) and sx(9) macros into __extension__ ({}) 2021-10-27 18:58:36 -07:00
namei.h vfs: always retain path buffer after lookup 2022-09-17 09:10:38 +00:00
nlist_aout.h
nv_namespace.h libnv: bump library version 2022-07-22 00:23:08 +02:00
nv.h namespace nv names, version libnv and libnvpair library symbols 2022-07-21 18:35:23 +02:00
osd.h
param.h iflib: Introduce v2 of TX Queue Select Functionality 2022-10-17 14:59:55 -07:00
pciio.h pci: Add an ioctl to perform I/O to BARs 2021-08-14 10:59:03 -04:00
pcpu.h Minor style cleanup 2021-04-18 11:14:17 -06:00
pctrie.h Use SMR to provide safe unlocked lookup for pctries from SMR zones 2020-07-24 17:32:10 +00:00
physmem.h subr_physmem: Fix userspace build 2022-10-25 10:57:29 -06:00
pidctrl.h
pipe.h pipe: change pipemapping cnt/pos to u_int 2022-08-17 14:20:09 +00:00
pmc.h System wide and NUMA domain wide counters support. PMC classes for ARM DMC-620 and CMN-600. 2022-06-26 08:31:03 +03:00
pmckern.h Fix annoying whitespace issue. 2019-06-25 19:55:42 +00:00
pmclog.h Add missing structs to pmclog_entry 2021-01-05 10:03:05 +00:00
poll.h poll(2): Add POLLRDHUP. 2021-04-28 23:00:31 +12:00
posix4.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
power.h Remove POWER_PM_TYPE_APM. It's now unused. 2021-10-18 08:41:17 -06:00
priority.h Reclaim unused ithread priorities for user time-sharing threads. 2022-07-14 13:14:58 -07:00
priv.h if_me: Use dedicated network privilege 2022-10-15 17:05:36 +02:00
prng.h Add prng(9) API 2020-08-13 20:48:14 +00:00
proc.h jail: add process linkage 2022-09-05 11:54:47 +00:00
procctl.h procctl(2): Add PROC_WXMAP_CTL/STATUS 2021-09-17 15:42:01 +03:00
procdesc.h
procfs.h
protosw.h netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
ptio.h
ptrace.h syscallarg_t: Add a type for system call arguments 2022-03-28 19:43:03 +01:00
qmath.h Minor style cleanup 2021-04-18 11:14:17 -06:00
queue.h sys/queue.h: move trashing from SLIST_REMOVE to REMOVE_AFTER, REMOVE_HEAD 2021-12-15 13:28:33 +02:00
racct.h AST: rework 2022-08-02 21:11:09 +03:00
random.h Add support for getting early entropy from UEFI 2022-02-17 13:01:11 -08:00
rangelock.h rangelock: add rangelock_cookie_assert 2019-09-15 02:59:53 +00:00
rangeset.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
rctl.h Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
reboot.h Create helper functions for parsing boot args. 2018-07-13 16:43:05 +00:00
refcount.h Allow sys/refcount.h to be used by standalone builds. 2020-12-07 09:21:06 +00:00
reg.h <sys/reg.h>: Add ELF32_REGSET. 2022-03-23 13:33:06 -07:00
regression.h
resource.h
resourcevar.h Add lim_cowsync, similar to crcowsync 2022-02-11 11:44:07 +00:00
rman.h add support for marking interrupt handlers as suspended 2018-12-17 17:11:00 +00:00
rmlock.h rms: add rms_assert_rlock_ok 2022-08-23 19:15:48 +00:00
rtprio.h Update to D25266, bin/ps: Make the rtprio option actually show 2020-07-14 18:57:31 +00:00
runq.h
rwlock.h Wrap mutex(9), rwlock(9) and sx(9) macros into __extension__ ({}) 2021-10-27 18:58:36 -07:00
sbuf.h Export sbuf_drain to orchestrate lock and drain action 2021-03-31 19:17:37 +02:00
sched.h Add sched_ithread_prio to set the base priority of an interrupt thread. 2022-07-14 13:13:10 -07:00
sdt.h Provide SDT_PROBES_ENABLED for kernels without KDTRACE. 2018-12-19 23:19:05 +00:00
select.h
selinfo.h
sem.h
sema.h
seqc.h seqc: rename seqc_consistent_nomb to seqc_consistent_no_fence 2022-02-15 17:51:07 +00:00
serial.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
sf_buf.h
sglist.h sglist: Add sglist_append_single_mbuf(). 2021-05-25 16:59:18 -07:00
shm.h Implement shmat(2) flag SHM_REMAP. 2019-01-16 05:15:57 +00:00
sigio.h
signal.h arm64: Enable the floating-point exception traps 2022-05-19 19:53:56 +03:00
signalvar.h ksiginfo_alloc(): change to directly take M_WAITOK/NOWAIT flags 2022-08-20 20:33:17 +03:00
sleepqueue.h Allow sleepq_signal() to drop the lock. 2021-06-25 14:12:21 -04:00
slicer.h Update a comment to reflect reality; no functional changes. 2019-02-26 22:07:59 +00:00
smp.h smp.h: make sign conversion explicit 2022-01-02 08:59:21 +01:00
smr_types.h Move SMR pointer type definition and access macros to smr_types.h. 2020-03-07 00:55:46 +00:00
smr.h smr: Fix synchronization in smr_enter() 2022-09-24 09:18:04 -04:00
sndstat.h sndstat: nvlist schema and API definition changes 2021-04-21 16:19:15 +08:00
snoop.h
sockbuf.h sockbufs: add sbreserve_locked_limit() with custom maxsockbuf limit. 2022-09-28 10:20:09 +00:00
socket.h inpcb: garbage collect so_sototcpcb() 2022-10-19 15:15:53 -07:00
socketvar.h Remove fflag argument from getsock_cap 2022-09-10 19:47:47 +00:00
sockio.h Kernel-side infrastructure to implement nvlist-based set/get ifcaps 2022-05-24 23:59:32 +03:00
sockopt.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
soundcard.h sound(4): Fix a typo in a source code comment 2022-09-04 11:23:34 +02:00
specialfd.h Expose eventfd in the native API/ABI using a new __specialfd syscall 2020-12-27 12:57:26 +02:00
spigenio.h
stack.h Minor style cleanup 2021-04-18 11:14:17 -06:00
stat.h sys/stat.h: Improve timespec compatibility with other BSDs 2019-03-18 19:23:19 +00:00
stats.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
statvfs.h
stdatomic.h sys/stdatomic.h: be nicer to c++ 2022-03-28 03:16:02 +03:00
stddef.h Reduce code duplication in machine/_types.h 2021-06-14 16:30:16 +01:00
stdint.h
sx.h Wrap mutex(9), rwlock(9) and sx(9) macros into __extension__ ({}) 2021-10-27 18:58:36 -07:00
syscall.h Regen 2021-12-09 02:49:10 +02:00
syscall.mk Regen 2021-12-09 02:49:10 +02:00
syscallsubr.h Finish cpuset_getaffinity() after f35093f8 2022-05-28 20:53:08 +03:00
sysctl.h sysctl(3): Implement SYSCTL_FOREACH() to iterate all OIDs in a sysctl list. 2022-09-27 19:21:21 +02:00
sysent.h Rework how shared page related data is stored 2022-07-18 16:27:32 +02:00
syslimits.h Remove checks for __CC_SUPPORTS_WARNING assuming it is always true. 2022-04-12 10:06:13 -07:00
syslog.h libc/syslog: fully deprecate and don't try to open "/dev/log" 2022-06-24 09:09:11 -07:00
sysproto.h sysent: regen for syscallarg_t 2022-03-28 19:43:03 +01:00
systm.h unr: remove UNR64_LOCKED 2022-10-08 10:41:21 +00:00
taskqueue.h LinuxKPI: Implement kthread_worker related functions 2022-05-17 15:10:20 +03:00
terminal.h teken: color #3 is yellow not brown - use TC_YELLOW as the name 2022-03-12 09:17:29 -05:00
termios.h
thr.h
tiio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
tim_filter.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
time.h time(3): Optimize tvtohz() function. 2022-10-23 10:04:50 +02:00
timeb.h
timeet.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
timeffc.h
timepps.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
timers.h itimers: strip unused bits from struct itimer and struct itimers 2021-12-28 03:02:53 +02:00
times.h
timespec.h
timetc.h x86: Speed up clock calibration 2022-01-12 12:34:07 -08:00
timex.h
tree.h Fix LINT build after 368ee2f86a 2022-10-03 00:15:21 -05:00
tslog.h Add userland boot profiling to TSLOG 2021-10-16 11:47:34 -07:00
tty.h tty: convert tty_lock_assert to tty_assert_locked to hide lock type 2020-04-17 18:34:49 +00:00
ttycom.h Add tcgetwinsize(3) and tcsetwinsize(3) to termios 2020-12-25 20:43:09 +02:00
ttydefaults.h
ttydevsw.h tty: convert tty_lock_assert to tty_assert_locked to hide lock type 2020-04-17 18:34:49 +00:00
ttydisc.h tty: convert tty_lock_assert to tty_assert_locked to hide lock type 2020-04-17 18:34:49 +00:00
ttyhook.h tty: convert tty_lock_assert to tty_assert_locked to hide lock type 2020-04-17 18:34:49 +00:00
ttyqueue.h
turnstile.h Fix the turnstile_lock() KPI. 2019-07-24 23:04:59 +00:00
types.h sys: Extract __bitcount* from sys/types.h to new sys/bitcount.h 2022-08-18 02:46:27 +01:00
ucontext.h Move struct freebsd4_ucontext to sys/i386/include/ucontext.h. 2022-01-13 17:17:43 -08:00
ucred.h cred: fix minor nits in r367695 2020-11-19 04:28:39 +00:00
uio.h Remove copyinfrom() and copyinstrfrom(). 2020-05-20 20:58:17 +00:00
umtx.h umtx: Split umtx.h on two counterparts. 2021-07-29 12:41:29 +03:00
umtxvar.h umtx: Add new pi_futex type. 2021-07-29 12:48:34 +03:00
un.h unix(4): Add SOL_LOCAL:LOCAL_CREDS_PERSISTENT 2020-11-03 01:17:45 +00:00
unistd.h fd: add close_range(..., CLOSE_RANGE_CLOEXEC) 2022-03-03 17:21:58 +00:00
unpcb.h unix(4): Add SOL_LOCAL:LOCAL_CREDS_PERSISTENT 2020-11-03 01:17:45 +00:00
user.h Implement shared page address randomization 2022-07-18 16:27:37 +02:00
utsname.h
uuid.h sys/uuid.h: Include sys/types.h 2021-11-24 11:26:45 -07:00
vdso.h random(4) FenestrasX: Push root seed version to arc4random(3) 2020-10-10 21:52:00 +00:00
vmem.h Don't import 0 into vmem quantum caches. 2018-10-22 16:16:42 +00:00
vmmeter.h Provide separate accounting for user-wired pages. 2019-05-13 16:38:48 +00:00
vnode.h Add VV_CROSSLOCK vnode flag to avoid cross-mount lookup LOR 2022-10-26 19:33:03 -05:00
vtoc.h
wait.h
watchdog.h Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00