freebsd-dev/sys/sys
Mark Johnston ade1daa5c0 socket: Synchronize soshutdown() with listen(2) and AIO
To handle shutdown(SHUT_RD) we flush the receive buffer of the socket.
This may involve searching for control messages of type SCM_RIGHTS,
since we need to close the file references.  Closing arbitrary files
with socket buffer locks held is undesirable, mainly due to lock
ordering issues, so we instead make a copy of the socket buffer and
operate on that without any locks.  Fields in the original buffer are
cleared.

This behaviour clobbered the AIO job queue associated with a receive
buffer.  It could also cause us to leak a KTLS session reference.
Reorder socket buffer fields to address this.

An alternate solution would be to remove the hack in sorflush(), but
this is not quite feasible (yet).  In particular, though sorflush()
flags the sockbuf with SBS_CANTRCVMORE, it is possible for more data to
be queued - the flag just prevents userspace from reading more data.  I
suspect we should fix this; SBS_CANTRCVMORE represents a terminal state
and protocols can likely just drop any data destined for such a buffer.
Many of them already do, but in some cases the check is racy, and some
KPI churn will be needed to fix everything.  This approach is more
straightforward for now.

Reported by:	syzbot+104d8ee3430361cb2795@syzkaller.appspotmail.com
Reported by:	syzbot+5bd2e7d05f84a59d0d1b@syzkaller.appspotmail.com
Reviewed by:	jhb
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D31976
2021-09-17 14:19:06 -04:00
..
disk gpart(8): Recognize apple-zfs and solaris-reserved partition ids 2020-08-17 17:07:05 +00: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 Implement several enhancements to NUMA policies. 2018-03-29 02:54:50 +00:00
_blockcount.h Add a blocking counter KPI. 2020-02-28 16:05:18 +00:00
_bus_dma.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_callout.h Add a callout_func_t typedef for functions used with callout_*(). 2019-12-10 21:58:30 +00: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: 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
_endian.h Consolidate machine/endian.h definitions 2021-03-26 19:00:22 -03:00
_eventhandler.h Remove duplicated content from _eventhandler.h 2020-07-25 07:48:20 +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
_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 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 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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_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 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 sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +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 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 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 Reduce code duplication in machine/_types.h 2021-06-14 16:30:16 +01: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 Revert most of ce42e79310 2021-07-28 13:21:12 +03:00
_unrhdr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_winsize.h Add tcgetwinsize(3) and tcsetwinsize(3) to termios 2020-12-25 20:43:09 +02:00
aac_ioctl.h Fix FSACTL_GET_NEXT_ADAPTER_FIB under 32-bit compat. 2018-03-14 21:11:41 +00:00
abi_compat.h Centralize compatability translation macros. 2020-04-14 20:30:48 +00:00
acct.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
acl.h libc/posix1e: Add acl_extended_file_np() function. 2021-08-27 11:52:26 +03:00
agpio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
aio.h lio_listio(2): Allow LIO_READV and LIO_WRITEV. 2021-08-22 23:00:42 +12:00
alq.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00: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: Use vm_offset_t for the first parameter to kasan_shadow_map() 2021-04-29 11:39:02 -04:00
assym.h genoffset: simplify and rewrite in sh 2021-07-28 13:50:09 -06:00
ata.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
atomic_common.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
atomic_san.h Only define sanitizer wrappers for atomic fences once. 2021-09-15 09:03:17 -07:00
auxv.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
backlight.h Add backlight subsystem 2020-10-02 18:18:01 +00:00
bio.h Remove GEOM_SCHED class and gsched tool. 2019-12-29 21:16:03 +00:00
bitset.h bitset: implement BIT_TEST_CLR_ATOMIC & BIT_TEST_SET_ATOMIC 2020-12-31 13:02:45 -08:00
bitstring.h bitstring(3): Add bitstring traversal macros. 2021-08-16 23:24:05 +03: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
buf_ring.h Minor style tidy: if( -> if ( 2021-04-18 11:19:15 -06:00
buf.h buffer pager: allow get_blksize method to return error 2021-09-17 20:29:55 +03: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 Refine the busdma template interface. Provide tools for filling in fields 2020-09-14 05:58:12 +00:00
bus_san.h Only define sanitizer wrappers for unsized bus space operations once. 2021-09-15 09:03:17 -07:00
bus.h newbus: Move from bus_child_{pnpinfo,location}_src to bus_child_{pnpinfo,location} with sbuf 2021-06-22 20:52:06 -06:00
busdma_bufalloc.h Fix compile error from r327900 2018-01-12 23:41:12 +00:00
callout.h Remove struct callout_handle. Should have gone with r355732. 2020-01-22 05:47:59 +00: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.h: Remove redundant #ifdefs 2021-09-07 09:51:48 -06:00
cdio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
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 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 sys: clean up empty lines in .c and .h files 2020-09-01 22:12: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 netdump: send key before dump, in case dump fails 2021-08-11 10:54:56 -05:00
cons.h Re-implement virtual console (constty). 2021-09-03 22:18:51 -04: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 copyrights: Happy New Year 2021 2020-12-31 10:29:44 -05: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 Make it possible to re-evaluate cpu_features. 2018-01-05 21:06:19 +00:00
cpuset.h iflib: Improve mapping of TX/RX queues to CPUs 2021-04-26 01:06:34 -04:00
csan.h Port the NetBSD KCSAN runtime to FreeBSD. 2019-11-21 11:22:08 +00:00
ctype.h Change all kernel C-type macros into static inline functions. 2019-03-25 13:50:38 +00:00
devctl.h Use standard bool type, instead of non-standard boolean_t 2020-09-16 06:02:30 +00: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 SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
disk.h Remove frontstuff 2020-10-27 06:43:24 +00:00
disklabel.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
diskmbr.h Remove deprecated GEOM classes 2019-08-13 20:06:55 +00:00
dkstat.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
dnv.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
domain.h domain: make it safer to add domains post-domainfinalize 2021-08-16 00:59:56 -05:00
domainset.h domainset: Define additional global policies 2021-04-14 13:03:33 -04: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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
efi.h EFI RT: resurrect EFIIOC_GET_TABLE 2021-07-03 20:06:48 +03:00
efiio.h EFI RT: resurrect EFIIOC_GET_TABLE 2021-07-03 20:06:48 +03: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 elf: Remove R_RISCV_[GT]PREL_[IS] relocation defines 2021-07-20 06:13:43 +01:00
elf_generic.h Add ElfW() macro for compatibility with Linux 2021-08-06 20:50:32 +02:00
elf.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
endian.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
epoch.h The old thread priority must be stored as part of the EPOCH(9) tracker. 2021-05-23 10:53:25 +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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
event.h kqueue: drain kqueue taskqueue if syscall tickled it 2021-09-07 02:43:34 +03: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 Minor style cleanup 2021-04-18 11:14:17 -06:00
eventvar.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
exec.h Refactor core dumping code a bit 2021-05-22 09:59:00 +01:00
extattr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
fail.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
fbio.h fbio: Use appropriate types for the physical and virtual framebuffer address 2021-02-19 20:55:54 -03:00
fcntl.h Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9). 2021-08-05 23:20:42 +08:00
fdcio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
file.h Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9). 2021-08-05 23:20:42 +08:00
filedesc.h open(2): Implement O_PATH 2021-04-15 12:48:24 +03: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 sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
gpio.h Fix build of stand/usb . 2021-04-12 16:13:33 +02:00
gpt.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
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 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: 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 Add a link to the Elf_Brandinfo into the struc proc. 2021-06-29 20:15:08 +03:00
imgact.h Add ELF flag to disable ASLR stack gap. 2020-12-18 23:14:39 +00:00
interrupt.h Use the word "LinuxKPI" instead of "Linux compatibility", to not confuse with 2021-03-10 12:35:16 +01:00
intr.h kern/intr: declare interrupt vectors unsigned 2021-05-03 13:24:30 -04:00
ioccom.h ioccom: define ioctl cmd value that can never be valid 2021-04-30 17:43:45 +03: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 sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +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: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
jail.h Fix some common typos in source code comments 2021-08-14 08:55:58 +02: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 Introduce kdb-level watchpoint functions 2021-03-29 12:05:43 -03: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 config_intrhook: provide config_intrhook_drain 2021-03-11 09:45:10 -07:00
kerneldump.h EKCD: Add Chacha20 encryption mode 2019-05-23 20:12:24 +00:00
khelp.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
kthread.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
ktls.h ktls: Fix error/mode confusion in TCP_*TLS_MODE getsockopt handlers 2021-09-17 14:19:05 -04:00
ktr_class.h Remove GEOM_SCHED class and gsched tool. 2019-12-29 21:16:03 +00:00
ktr.h Minor style cleanup 2021-04-18 11:14:17 -06:00
ktrace.h Fix a braino in previous. 2021-05-22 19:53:40 +00:00
libkern.h Simplify kernel sanitizer interceptors 2021-07-29 21:13:32 -04: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 rtld: bump r_debug.r_version to 1 from current 0. 2020-12-01 22:28:01 +00:00
linker_set.h linker_set: Disable ASAN only in userspace 2021-05-07 14:31:08 -04: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 Typo out->in. 2019-10-10 18:52:24 +00: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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
malloc.h Remove bzero declaration 2021-08-23 18:38:05 +00:00
mbuf.h Add a switch structure for send tags. 2021-09-14 11:43:41 -07: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 md: Add MD_MUSTDEALLOC support 2021-09-11 20:04:52 +08:00
memdesc.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
memrange.h Add the MEM_EXTRACT_PADDR ioctl to /dev/mem. 2020-09-02 18:12:47 +00:00
mman.h Support for userspace non-transparent superpages (largepages). 2020-09-09 22:12:51 +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 VFS: add retry limit and delay for failed recursive unmounts 2021-08-20 13:20:50 -07: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
msan.h kmsan: Export kmsan_mark_mbuf() and kmsan_mark_bio() 2021-08-11 16:33:41 -04: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: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
mutex.h lockprof: pass lock type as an argument instead of reading the spin flag 2021-05-23 17:55:27 +00:00
namei.h namei: Add cn_flags bits for OPENREAD and OPENWRITE 2021-08-06 18:41:11 -07: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 Bump __FreeBSD_version for the recent socket KPI changes 2021-09-07 17:14:36 -04: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 Convert arm's physmem interface to MI code 2020-04-19 00:12:30 +00:00
pidctrl.h Add a generic Proportional Integral Derivative (PID) controller algorithm and 2018-02-23 22:51:51 +00:00
pipe.h Remove #define _KERNEL hacks from libprocstat 2021-02-21 11:38:21 +02:00
pmc.h hwpmc: Move 4 bits of mode to extend class size to 8 2021-05-26 18:40:58 +00: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 sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
priority.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
priv.h base: remove if_wg(4) and associated utilities, manpage 2021-03-17 09:14:48 -05:00
prng.h Add prng(9) API 2020-08-13 20:48:14 +00:00
proc.h procctl(2): Add PROC_WXMAP_CTL/STATUS 2021-09-17 15:42:01 +03:00
procctl.h procctl(2): Add PROC_WXMAP_CTL/STATUS 2021-09-17 15:42:01 +03: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 uipc: create dedicated lists for fast and slow timeout callbacks 2021-08-17 21:56:05 +02:00
ptio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ptrace.h Remove PT_GET_SC_ARGS_ALL 2021-09-16 20:11:27 +03:00
qmath.h Minor style cleanup 2021-04-18 11:14:17 -06:00
queue.h qeueue.h: Add {SLIST,STAILQ,LIST,TAILQ}_END() 2021-01-25 15:09:35 +00:00
racct.h Drop "All rights reserved" from all my stuff. This includes 2020-10-28 13:46:11 +00:00
random.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00: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 Create sys/reg.h for the common code previously in machine/reg.h 2021-08-30 12:50:53 +01: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 Fix up macro use in lim_cur 2021-05-29 22:04:09 +00:00
rman.h add support for marking interrupt handlers as suspended 2018-12-17 17:11:00 +00:00
rmlock.h rmlock(9): add an RM_DUPOK flag 2021-04-12 11:42:21 -03:00
rtprio.h Update to D25266, bin/ps: Make the rtprio option actually show 2020-07-14 18:57:31 +00:00
runq.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
rwlock.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
sbuf.h Export sbuf_drain to orchestrate lock and drain action 2021-03-31 19:17:37 +02:00
sched.h Use atomic_interrupt_fence() instead of bare __compiler_membar() 2021-02-28 01:27:29 +02: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 seqc: add symbolic name for in-modify bit 2021-06-23 23:46:15 +03:00
serial.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +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 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 sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
signal.h Pass the syscall number to capsicum permission-denied signals 2021-07-16 18:06:44 +01:00
signalvar.h Minor style cleanup 2021-04-18 11:14:17 -06: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 Refactor/optimize cpu_search_*(). 2021-07-28 22:00:29 -04: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 Move SMR pointer type definition and access macros to smr_types.h. 2020-03-07 00:55:46 +00:00
sndstat.h sndstat: nvlist schema and API definition changes 2021-04-21 16:19:15 +08:00
snoop.h Revert r327005 - SPDX tags for license similar to BSD-2-Clause. 2017-12-20 20:25:28 +00:00
sockbuf.h socket: Synchronize soshutdown() with listen(2) and AIO 2021-09-17 14:19:06 -04:00
socket.h socket: Implement SO_RERROR 2021-07-28 09:35:09 -07:00
socketvar.h socket: De-duplicate SBLOCKWAIT() definitions 2021-09-14 09:01:32 -04:00
sockio.h Implement SIOCGIFALIAS. 2020-10-14 09:22:54 +00:00
sockopt.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
soundcard.h Fix a few typos in comments 2021-03-13 16:37:28 +01: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 Add the ioctl definitions for spigen get/set spi mode. Should have been 2018-04-07 20:53:34 +00:00
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: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
stddef.h Reduce code duplication in machine/_types.h 2021-06-14 16:30:16 +01:00
stdint.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
sx.h Standalone SX shims 2020-09-29 18:06:02 +00:00
syscall.h Regen after 0dc332bff2 2021-08-05 23:22:02 +08:00
syscall.mk Regen after 0dc332bff2 2021-08-05 23:22:02 +08:00
syscallsubr.h Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9). 2021-08-05 23:20:42 +08:00
sysctl.h Add read only sysctl variable user.localbase 2020-10-30 18:48:09 +00:00
sysent.h fork: Allow ABI to specify fork return values for child. 2021-08-12 11:45:25 +03:00
syslimits.h Double the size of ARG_MAX on LP64 platforms. 2019-12-16 23:55:30 +00:00
syslog.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
sysproto.h Regen after 0dc332bff2 2021-08-05 23:22:02 +08:00
systm.h Remove bcopy declaration 2021-08-24 11:24:08 +00:00
taskqueue.h taskqueue: Add missing comma to TASKQUEUE_FAST_DEFINE_THREAD 2021-05-24 20:37:55 -07:00
terminal.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
termios.h
thr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
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.h: reduce CLOCK_ namespace pollution, move to _clock_id.h 2021-07-30 17:20:22 -06:00
timeb.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
timeet.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
timeffc.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
timepps.h Remove "All Rights Reserved" from FreeBSD Foundation sys/ copyrights 2021-08-08 10:42:24 -04:00
timers.h Stop arming realtime posix process timers on suspend or terminate 2021-04-09 23:42:51 +03: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 Minor style tidy: if( -> if ( 2021-04-18 11:19:15 -06:00
tslog.h Wrap includes in sys/tslog.h with #ifdef TSLOG. 2017-12-31 21:00:21 +00: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 sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
turnstile.h Fix the turnstile_lock() KPI. 2019-07-24 23:04:59 +00:00
types.h Rename struct device to struct _device 2021-04-12 09:32:30 -04:00
ucontext.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00: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 Add fspacectl(2), vn_deallocate(9) and VOP_DEALLOCATE(9). 2021-08-05 23:20:42 +08:00
unpcb.h unix(4): Add SOL_LOCAL:LOCAL_CREDS_PERSISTENT 2020-11-03 01:17:45 +00:00
user.h Fix some common typos in comments 2021-08-08 10:16:06 +02:00
utsname.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
uuid.h validate_uuid: absorb the rest of parse_uuid with a flags arg 2020-04-15 18:39:12 +00: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 VOP_COPY_FILE_RANGE: Add a COPY_FILE_RANGE_TIMEO1SEC flag 2021-09-07 17:35:26 -07:00
vtoc.h
wait.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
watchdog.h Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00