opnsense-src/sys/sys
Mark Johnston 03bf40c5d8 arm64: Disable per-thread stack-smashing protection in data_abort()
With PERTHREAD_SSP configured, the compiler's stack-smashing protection
uses a per-thread canary value instead of a global value.  The value is
stored in td->td_md.md_canary; the sp_el0 register always contains a
pointer to that value, and certain functions selected by the compiler
will store the canary value on the stack as a part of the function
prologue (and will verify the copy as part of the epilogue).  In
particular, the thread structure may be accessed.

This happens to occur in data_abort(), which leads to the same problem
addressed by commit 2c10be9e06 ("arm64: Handle translation faults for
thread structures").  This commit fixes that directly, by disabling SSP
in data_abort() and a couple of related functions by using a function
attribute.  It also moves the update of sp_el0 out of C code in case
the compiler decides to start checking the canary in pmap_switch()
someday.

A different solution might be to move the canary value to the PCB, which
currently lives on the kernel stack and isn't subject to the same
problem as thread structures (if only because guard pages inhibit
superpage promotion).  However, there isn't any particular reason the
PCB has to live on the stack today; on amd64 it is embedded in struct
thread, reintroducing the same problem.  Keeping the reference canary
value at the top of the stack is also rather dubious since it could be
clobbered by a sufficiently large stack overflow.

A third solution could be to go back to the approach of commit
5aa5420ff2, and modify UMA to use the direct map for thread structures
even if KASAN is enabled.  But, transient promotions and demotions in
the direct map are possible too.

Reviewed by:	alc, kib, andrew
MFC after:	1 month
Sponsored by:	Juniper Networks, Inc.
Sponsored by:	Klara, Inc.
Differential Revision:	https://reviews.freebsd.org/D37255
2022-11-07 16:05:58 -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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
_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 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
_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 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/_stdarg.h>: Fix indentation after removing __GNUCLIKE checks. 2022-04-12 10:12:13 -07: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
_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 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/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 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/alq.h: Kernel only file, mark as such 2021-11-24 11:26:45 -07:00
apm.h Re-apply change 306811 or alternatively, revert change 307385. 2016-10-16 02:43:51 +00:00
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 atomic: Intercept atomic_(load|store)_bool for kernel sanitizers 2022-10-29 11:10:58 -04:00
auxv.h SPDX: mostly fixes to previous changes. 2017-12-13 16:13:17 +00:00
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.h buf.h: Fix declaration of unmapped_buf 2022-08-16 15:39:03 -04:00
buf_ring.h Minor style tidy: if( -> if ( 2021-04-18 11:19:15 -06:00
bufobj.h bufcache: convert bo_numoutput from long to int 2020-11-09 00:04:58 +00:00
bus.h ofw: add BUS_GET_DEVICE_PATH interface to openfirm/fdt, somewhat incomplete. 2022-10-18 16:55:47 +09:00
bus_dma.h bus_dma: Deduplicate locking helper functions. 2022-01-05 13:50:40 -08: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 Only define sanitizer wrappers for unsized bus space operations once. 2021-09-15 09:03:17 -07:00
busdma_bufalloc.h Fix compile error from r327900 2018-01-12 23:41:12 +00:00
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 arm64: Disable per-thread stack-smashing protection in data_abort() 2022-11-07 16:05:58 -05: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 namespace nv names, version libnv and libnvpair library symbols 2022-07-21 18:35:23 +02: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 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 Make it possible to re-evaluate cpu_features. 2018-01-05 21:06:19 +00:00
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.h sys/disk.h: Transition period for sys/conf.h over 2022-11-04 15:40:12 -06: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 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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
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
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-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
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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
exec.h Rework how shared page related data is stored 2022-07-18 16:27:32 +02: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 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 Remove ia64. 2014-07-07 00:27:09 +00:00
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.h Implement shared page address randomization 2022-07-18 16:27:37 +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 exec: Remove the stack gap implementation 2022-01-17 16:11:54 -05: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.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 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 Restore binary compatibility for GIO_KEYMAP and PIO_KEYMAP. 2011-07-17 08:19:19 +00:00
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 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 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.h KTR: Add CTR() and TR() macros which accept a variable number of arguments. 2022-04-12 14:52:25 -07:00
ktr_class.h Remove GEOM_SCHED class and gsched tool. 2019-12-29 21:16:03 +00: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 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 link_elf.h: cleanup struct link_map definition, remove mips-specific field 2022-01-06 06:14:17 +02:00
linker.h link_elf_obj: Invoke fini callbacks 2021-07-29 09:46:25 -04:00
linker_set.h Remove checks for <sys/cdefs.h> being included. 2022-04-12 10:06:18 -07: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-05-23 17:55:27 +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 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 mbuf: don't include lock.h conditionally 2022-10-18 08:34:03 -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 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.h modules: increase MAXMODNAME and provide backward compat 2021-12-09 18:09:53 +00:00
module_khelp.h Move KHELP_DECLARE_MOD_UMA later in the boot 2021-11-12 18:56:58 +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 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 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 sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
nv.h namespace nv names, version libnv and libnvpair library symbols 2022-07-21 18:35:23 +02:00
nv_namespace.h libnv: bump library version 2022-07-22 00:23:08 +02:00
osd.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
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 Add a generic Proportional Integral Derivative (PID) controller algorithm and 2018-02-23 22:51:51 +00:00
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 Import the WireGuard driver from zx2c4.com. 2022-10-28 13:36:12 -07: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 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 netinet*: remove PRC_ constants and streamline ICMP processing 2022-10-03 20:53:04 -07:00
ptio.h sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
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 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 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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
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 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: 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 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 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.h smr: Fix synchronization in smr_enter() 2022-09-24 09:18:04 -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
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 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 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/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 sys/sys: further adoption of SPDX licensing ID tags. 2017-11-27 15:01:59 +00:00
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 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(3): Optimize tvtohz() function. 2022-10-23 10:04:50 +02: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 itimers: strip unused bits from struct itimer and struct itimers 2021-12-28 03:02:53 +02: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 x86: Speed up clock calibration 2022-01-12 12:34:07 -08:00
timex.h sys/sys: minor spelling fixes. 2016-05-03 15:14:17 +00:00
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 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 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 sys: Nuke double-semicolons 2022-11-02 09:34:20 -06:00
user.h Implement shared page address randomization 2022-07-18 16:27:37 +02:00
utsname.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
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 Re-apply change 306811 or alternatively, revert change 307385. 2016-10-16 02:43:51 +00:00
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