opnsense-src/sys/sys
John Baldwin ba6b771d17 ktls: Ensure FIFO encryption order for TLS 1.0.
TLS 1.0 records are encrypted as one continuous CBC chain where the
last block of the previous record is used as the IV for the next
record.  As a result, TLS 1.0 records cannot be encrypted out of order
but must be encrypted as a FIFO.

If the later pages of a sendfile(2) request complete before the first
pages, then TLS records can be encrypted out of order.  For TLS 1.1
and later this is fine, but this can break for TLS 1.0.

To cope, add a queue in each TLS session to hold TLS records that
contain valid unencrypted data but are waiting for an earlier TLS
record to be encrypted first.

- In ktls_enqueue(), check if a TLS record being queued is the next
  record expected for a TLS 1.0 session.  If not, it is placed in
  sorted order in the pending_records queue in the TLS session.

  If it is the next expected record, queue it for SW encryption like
  normal.  In addition, check if this new record (really a potential
  batch of records) was holding up any previously queued records in
  the pending_records queue.  Any of those records that are now in
  order are also placed on the queue for SW encryption.

- In ktls_destroy(), free any TLS records on the pending_records
  queue.  These mbufs are marked M_NOTREADY so were not freed when the
  socket buffer was purged in sbdestroy().  Instead, they must be
  freed explicitly.

Reviewed by:	gallatin, markj
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D32381

(cherry picked from commit 9f03d2c001)
2021-11-23 15:11:44 -08: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_gettime: Add Linux aliases for CLOCK_* 2021-09-12 09:56:16 -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-06-24 20:42:56 -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 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 sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00: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-07-18 00:34:57 +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 namespace pollution from r349233 2019-06-21 21:50:14 +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 Revert most of ce42e79310 2021-08-03 12:52:36 +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 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 aio: micro-optimize the lio_opcode assignments 2021-01-20 09:02:25 -07: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-11-02 18:17:58 -04:00
assym.h genoffset: simplify and rewrite in sh 2021-09-12 09:56:14 -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 atomic: add atomic_interrupt_fence() 2021-03-03 05:08:15 +02:00
atomic_san.h Generalize bus_space(9) and atomic(9) sanitizer interceptors 2021-11-01 10:16:39 -04: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: Reimplement BIT_FOREACH_IS(SET|CLR) 2021-11-01 09:20:11 -04:00
bitstring.h bitstring(3): Add bitstring traversal macros. 2021-08-24 01:23:10 +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.h buffer pager: allow get_blksize method to return error 2021-09-24 03:26:59 +03:00
buf_ring.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
bufobj.h bufcache: convert bo_numoutput from long to int 2020-11-09 00:04:58 +00:00
bus.h sys/bus.h: silence warnings about write-only variables 2021-10-27 03:24:40 +03:00
bus_dma.h Refine the busdma template interface. Provide tools for filling in fields 2020-09-14 05:58:12 +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_san.h Generalize bus_space(9) and atomic(9) sanitizer interceptors 2021-11-01 10:16:39 -04: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 capsicum: move global caps to caprights.h 2020-08-01 06:31:58 +00:00
capsicum.h capsicum: move global caps to caprights.h 2020-08-01 06:31:58 +00:00
cdefs.h cdefs: Make __nosanitizeaddress work for KASAN as well 2021-11-01 10:05:50 -04: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-04-15 16:01:49 -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 Suppress D_NEEDGIANT warnings for some drivers 2021-06-14 16:25:14 -04:00
cons.h Re-implement virtual console (constty). 2021-10-03 21:15:02 -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 cpuset(9): Add CPU_FOREACH_IS(SET|CLR) and modify consumers to use it 2021-11-01 09:20:11 -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.h Remove frontstuff 2020-10-27 06:43:24 +00:00
disk_zone.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +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 SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
domain.h Simplify dom_<rtattach|rtdetach>. 2020-08-14 21:29:56 +00:00
domainset.h domainset: Define additional global policies 2021-04-28 10:00:36 -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 kern: efirt: correct configuration table entry size 2020-12-29 11:38:34 -06:00
efiio.h efidev: remove EFIIOC_GET_TABLE ioctl 2021-01-08 10:41:50 -06:00
elf.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
elf32.h sys: Add definitions for RELR relative relocation format 2021-10-23 02:32:27 +03:00
elf64.h sys: Add definitions for RELR relative relocation format 2021-10-23 02:32:27 +03:00
elf_common.h sys: Add definitions for RELR relative relocation format 2021-10-23 02:32:27 +03:00
elf_generic.h sys: Add definitions for RELR relative relocation format 2021-10-23 02:32:27 +03: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-06-02 14:03:21 +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-12 15:17:27 +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 Use an event handler to notify the SCTP about IP address changes 2019-10-13 18:17:08 +00:00
eventvar.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
exec.h Remove SPARE_USRSPACE. 2019-12-06 19:20:45 +00: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 Use unsigned intptr_t type for framebuffer addresses 2017-12-06 02:05:21 +00:00
fcntl.h openat(2): add O_EMPTY_PATH 2021-05-19 06:13:14 +03:00
fdcio.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
file.h O_PATH: allow vnode kevent filter on such files 2021-04-23 14:14:10 +03:00
filedesc.h fd: add pwd_hold_proc 2021-10-11 09:13:03 +00: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-02-01 07:15:29 +00:00
fnv_hash.h
font.h loader: remove BORDER_PIXELS 2021-02-15 23:04:01 +02: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-05-10 16:11:19 +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-04-22 10:41:09 +01:00
gtaskqueue.h Make sure all tasklets are drained before unloading the LinuxKPI. 2021-06-02 13:23:19 +02: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.h struct image_params: use bool type for boolean members 2021-11-06 04:12:31 +02: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 Pass pointers to info parsed from notes, to brandinfo->header_supported filter. 2020-08-23 20:06:55 +00:00
interrupt.h MFC 6eb60f5b7f: 2021-03-23 11:51:04 +01:00
intr.h kern/intr: declare interrupt vectors unsigned 2021-05-10 09:36:20 -04:00
ioccom.h ioccom: define ioctl cmd value that can never be valid 2021-05-07 03:36:00 +03:00
ioctl.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ioctl_compat.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
iov.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
iov_schema.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: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
jail.h kern: ether_gen_addr: randomize on default hostuuid, too 2021-08-20 14:32:31 -07: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-04-21 10:20:33 -03:00
kenv.h kenv: allow listing of static kernel environments 2021-08-26 01:35:33 -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-07-12 13:30:55 -06:00
kerneldump.h minidump: De-duplicate the progress bar 2021-10-15 12:20:48 -03:00
khelp.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
kobj.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
kpilite.h Use atomic_interrupt_fence() instead of bare __compiler_membar() 2021-03-06 04:06:55 +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: Ensure FIFO encryption order for TLS 1.0. 2021-11-23 15:11:44 -08:00
ktr.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ktr_class.h Remove GEOM_SCHED class and gsched tool. 2019-12-29 21:16:03 +00:00
ktrace.h Fix a braino in previous. 2021-06-13 04:22:34 +03:00
libkern.h Generalize sanitizer interceptors for memory and string routines 2021-11-01 10:20:50 -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.h link_elf_obj: Invoke fini callbacks 2021-08-12 09:43:41 -04:00
linker_set.h linker_set: Disable ASAN only in userspace 2021-11-01 10:05:39 -04:00
lock.h sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
lock_profile.h lockprof: pass lock type as an argument instead of reading the spin flag 2021-06-02 15:00:23 +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-06-02 15:00:23 +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 Add a VM flag to prevent reclaim on a failed contig allocation 2021-11-03 13:35:16 -04:00
mbuf.h mbuf: PACKET_TAG_PF should not be persistent 2021-11-19 06:51:58 +01: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(4): remove the unused and unusable MDIOCLIST ioctl. 2019-08-16 18:57:32 +00: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.h Reapply, with minor tweaks, r338025, from the original commit: 2018-09-26 17:12:14 +00:00
module_khelp.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
mount.h mount.h: improve a comment about flags 2021-08-28 10:16:52 +02: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: 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-06-02 15:00:23 +00:00
namei.h softdep_prelink(): only do sync if other thread changed the vnode metadata since previous prelink 2021-07-07 13:50:13 +03: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 to 1300521. 2021-11-19 00:09:37 +00:00
pciio.h pci: Add an ioctl to perform I/O to BARs 2021-08-29 12:39:42 -04:00
pcpu.h Rename struct device to struct _device 2021-04-19 14:17:08 -04: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 pipe: thundering herd problem in pipelock 2020-11-19 19:25:47 +00:00
pmc.h hwpmc: fix PMC_CPU_LAST 2021-07-29 12:01:09 -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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00: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 vfs: respect PRIV_VFS_LOOKUP in vaccess_smr 2020-08-25 14:18:50 +00:00
prng.h Add prng(9) API 2020-08-13 20:48:14 +00:00
proc.h Extract proc_get_binpath() from sysctl_kern_proc_pathname() 2021-11-06 04:12:32 +02:00
procctl.h procctl(2): Add PROC_WXMAP_CTL/STATUS 2021-09-24 03:26:59 +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-23 12:32:01 +00:00
ptio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
ptrace.h sys_process.c: extract ptrace_unsuspend() 2021-06-01 03:38:53 +03:00
qmath.h Fix the compilation workaround so it's not entirely dead code - clang 2019-10-09 18:46:56 +00:00
queue.h qeueue.h: Add {SLIST,STAILQ,LIST,TAILQ}_END() 2021-03-04 17:43:48 +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 Implement rangesets. 2019-02-20 09:38:19 +00: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
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-06-07 00:34:55 +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-16 10:48:02 -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-04-16 20:50:48 +02:00
sched.h Use atomic_interrupt_fence() instead of bare __compiler_membar() 2021-03-06 04:06:55 +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-07-07 13:23:20 +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-10-21 08:51:26 -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 Improve MD page fault handlers. 2019-09-27 18:43:36 +00:00
signalvar.h signal: Add SIG_FOREACH and refactor issignal() 2021-11-01 09:20:11 -04:00
sleepqueue.h Allow sleepq_signal() to drop the lock. 2021-07-08 21:38:32 -04:00
slicer.h Update a comment to reflect reality; no functional changes. 2019-02-26 22:07:59 +00:00
smp.h x86: Add NUMA nodes into CPU topology. 2021-10-21 18:24:36 -04:00
smr.h Move SMR pointer type definition and access macros to smr_types.h. 2020-03-07 00:55:46 +00:00
smr_types.h Move SMR pointer type definition and access macros to smr_types.h. 2020-03-07 00:55:46 +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 socket: Rename sb(un)lock() and interlock with listen(2) 2021-10-07 09:56:47 -04:00
socket.h socket: Implement SO_RERROR 2021-08-10 18:54:00 -07:00
socketvar.h socket: Rename sb(un)lock() and interlock with listen(2) 2021-10-07 09:56:47 -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-20 11:13:01 +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 kern.tty_info_kstacks: add a compact format 2020-07-06 16:33:28 +00: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 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
sx.h Standalone SX shims 2020-09-29 18:06:02 +00:00
syscall.h Regen 2021-08-03 12:52:36 +03:00
syscall.mk Regen 2021-08-03 12:52:36 +03:00
syscallsubr.h Expose eventfd in the native API/ABI using a new __specialfd syscall 2020-12-27 12:57:26 +02:00
sysctl.h Add read only sysctl variable user.localbase 2020-10-30 18:48:09 +00:00
sysent.h Unmap shared page manually before doing vm_map_remove() on exit or exec 2021-11-04 02:56:39 +02: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 2021-08-03 12:52:36 +03:00
systm.h sysbeep: Adjust interface to take a duration as a sbt 2021-11-18 21:52:22 -07:00
taskqueue.h taskqueue: Add missing comma to TASKQUEUE_FAST_DEFINE_THREAD 2021-05-31 17:54:08 -07: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 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-09-12 09:56:16 -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 sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00:00
timers.h Stop arming realtime posix process timers on suspend or terminate 2021-04-23 14:14:09 +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 sys: clean up empty lines in .c and .h files 2020-09-01 22:12:58 +00: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-19 14:17:08 -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 Revert most of ce42e79310 2021-08-03 12:52:36 +03:00
un.h unix(4): Add SOL_LOCAL:LOCAL_CREDS_PERSISTENT 2020-11-03 01:17:45 +00:00
unistd.h rfork(2): add RFSPAWN flag 2019-09-25 19:20:41 +00:00
unpcb.h unix(4): Add SOL_LOCAL:LOCAL_CREDS_PERSISTENT 2020-11-03 01:17:45 +00:00
user.h sysctl vm.objects: report backing object and swap use 2021-04-23 14:14:11 +03: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 Make locking assertions for VOP_FSYNC() and VOP_FDATASYNC() more correct 2021-11-19 06:25:29 +02: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