opnsense-src/sys
Kristof Provost 2e0f053ad5 pf: fix fragment hole count
Fragment reassembly finishes when no holes are left in the fragment
queue.  In certain overlap conditions, the hole counter was wrong
and pf(4) created an incomplete IP packet.  Before adjusting the
length, remove the overlapping fragment from the queue and insert
it again afterwards.  pf_frent_remove() and pf_frent_insert() adjust
the hole counter automatically.

bug reported and fix tested by Lucas Aubard with Johan Mazel, Gilles
Guette and Pierre Chifflier; OK claudio@

MFC after:	1 week
Obtained from:	OpenBSD, bluhm <bluhm@openbsd.org>, 9915416fe8
Sponsored by:	Rubicon Communications, LLC ("Netgate")

(cherry picked from commit 8b2feafb535d10a559b995c6fc2529715f927e2a)
2025-02-18 18:40:26 +01:00
..
amd64 libkern: add ilog2 macro 2025-02-10 04:27:12 -06:00
arm ti/am335x: Fix the device_set_descf() call in am335x_dmtimer_probe() 2025-02-14 19:25:19 +00:00
arm64 arm64: Clean up usage of the dtrace invop handler 2025-02-14 19:25:18 +00:00
bsm
cam cam: Add 3e/3 as a fatal code 2025-01-24 15:34:19 -07:00
cddl dtrace/arm64: Fix enumeration of FBT return probes 2025-02-14 19:25:19 +00:00
compat lindebugfs: use __func__ not __FUNCTION__ 2025-02-10 14:52:12 +00:00
conf clock: Simplify subr_ticks and rename 2025-02-14 19:25:18 +00:00
contrib rtw88/rtw89: avoid duplicate top-level directory with debugfs 2025-02-10 14:52:11 +00:00
crypto openssl: Import OpenSSL 3.0.15. 2024-09-27 20:50:47 -07:00
ddb
dev ixgbe: x550 support for 1000BASE-BX SFP modules 2025-02-17 20:02:49 -07:00
dts add allwinner overlays for enabling additional USB ports 2024-02-17 16:15:10 +02:00
fs nfsd: Add support for the NFSv4.2 change_attr_type attribute 2025-01-31 19:23:15 -08:00
gdb
geom gvinum: Emit deprecation notice upon drive tasting 2025-02-04 08:35:32 -05:00
gnu
i386 libkern: add ilog2 macro 2025-02-10 04:27:12 -06:00
isa isa: Use a bus_child_deleted method to free ivars for children 2024-11-30 21:46:06 -05:00
kern Reinstate returning EOVERFLOW from stats_v1_blob_clone() 2025-02-14 19:25:19 +00:00
kgssapi
libkern arm64: Mark the armv8 crc32c as supporting BTI 2024-02-19 13:17:47 +00:00
modules rtw89: turn on debugfs support 2025-02-10 14:52:11 +00:00
net if_ovpn: fix module load in NOINET6 kernels 2025-02-13 09:44:58 +01:00
net80211 net80211: add IEEE80211_IS_LOCKED() 2025-02-10 14:52:09 +00:00
netgraph ng_hci: add support for Bluetooth Secure Simple Pairing 2025-02-09 00:36:04 +00:00
netinet icmp: use per rate limit randomized jitter 2025-02-12 11:04:10 +01:00
netinet6 icmp: use per rate limit randomized jitter 2025-02-12 11:04:10 +01:00
netipsec netipsec: Pass the right mbuf up 2025-01-20 00:26:35 +00:00
netlink netlink: restore the ability to delete PINNED routes 2025-01-21 14:37:26 +03:00
netpfil pf: fix fragment hole count 2025-02-18 18:40:26 +01:00
netsmb netsmb: Stop checking for failures from malloc(M_WAITOK) 2024-09-30 12:44:16 +08:00
nfs
nfsclient
nfsserver
nlm
ofed ibcore: Mark write-only variables 2024-07-15 12:28:53 +00:00
opencrypto ktls: Remove the socket parameter to ktls_ocf_try() 2024-07-23 09:01:30 -04:00
powerpc powerpc: Remove flag CTLFLAG_TUN from sysctl knob hw.platform 2025-02-18 23:14:49 +08:00
riscv atomics: Constify loads: riscv: Convert missed atomic_load_acq_64() 2025-01-27 19:19:52 +01:00
rpc nfs, rpc: Ensure kernel credentials have at least one group 2024-11-15 11:47:43 +01:00
security MAC: mac_biba, mac_lomac: Fix setting loader tunables 2025-02-13 18:19:56 +08:00
sys clock: Add a long ticks variable, ticksl 2025-02-14 19:25:18 +00:00
teken
tests tests: Stop checking for failures from malloc(M_WAITOK) 2024-09-30 12:44:18 +08:00
tools vnode: Make the vop_vector reference a pointer to const 2024-12-03 01:02:10 +00:00
ufs Defer the January 19, 2038 date limit in UFS1 filesystems to February 7, 2106 2025-02-06 11:25:09 -08:00
vm thread: Simplify sanitizer integration with thread creation 2025-02-07 14:46:53 +00:00
x86 hwpstate_amd: add amd pstate for zen5 2025-01-30 15:23:23 +00:00
xdr rpc: Fix the definition of xdr_void() 2024-11-05 01:05:26 +00:00
xen
Makefile
README.md

FreeBSD Kernel Source:

This directory contains the source files and build glue that make up the FreeBSD kernel and its modules, including both original and contributed software.

Kernel configuration files are located in the conf/ subdirectory of each architecture. GENERIC is the configuration used in release builds. NOTES contains documentation of all possible entries. LINT is a compile-only configuration used to maximize build coverage and detect regressions.

Documentation:

Source code documentation is maintained in a set of man pages, under section 9. These pages are located in share/man/man9, from the top-level of the src tree. Consult intro(9) for an overview of existing pages.

Some additional high-level documentation of the kernel is maintained in the Architecture Handbook.

Source Roadmap:

Directory Description
amd64 AMD64 (64-bit x86) architecture support
arm 32-bit ARM architecture support
arm64 64-bit ARM (AArch64) architecture support
cam Common Access Method storage subsystem - cam(4) and ctl(4)
cddl CDDL-licensed optional sources such as DTrace
conf kernel build glue
compat Linux compatibility layer, FreeBSD 32-bit compatibility
contrib 3rd-party imported software such as OpenZFS
crypto crypto drivers
ddb interactive kernel debugger - ddb(4)
fs most filesystems, excluding UFS, NFS, and ZFS
dev device drivers and other arch independent code
gdb kernel remote GDB stub - gdb(4)
geom GEOM framework - geom(4)
i386 i386 (32-bit x86) architecture support
kern main part of the kernel
libkern libc-like and other support functions for kernel use
modules kernel module infrastructure
net core networking code
net80211 wireless networking (IEEE 802.11) - net80211(4)
netgraph graph-based networking subsystem - netgraph(4)
netinet IPv4 protocol implementation - inet(4)
netinet6 IPv6 protocol implementation - inet6(4)
netipsec IPsec protocol implementation - ipsec(4)
netpfil packet filters - ipfw(4), pf(4), and ipfilter(4)
opencrypto OpenCrypto framework - crypto(7)
powerpc PowerPC/POWER (32 and 64-bit) architecture support
riscv 64-bit RISC-V architecture support
security security facilities - audit(4) and mac(4)
sys kernel headers
tests kernel unit tests
ufs Unix File System - ffs(7)
vm virtual memory system
x86 code shared by AMD64 and i386 architectures