Commit Graph

21017 Commits

Author SHA1 Message Date
Kristof Provost
abbcba9cf5 pf: Allow states to by killed per 'gateway'
This allows us to kill states created from a rule with route-to/reply-to
set.  This is particularly useful in multi-wan setups, where one of the
WAN links goes down.

Submitted by:	Steven Brown
Obtained from:	https://github.com/pfsense/FreeBSD-src/pull/11/
MFC after:	1 week
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D30058
2021-05-07 22:13:31 +02:00
Maxim Konovalov
f0c914baac Releases history update
Add DragonFly 5.8.1, OpenBSD 6.7, FreeBSD 11.4, DragonFly 5.8.2,
DragonFly 5.8.3, OpenBSD 6.8, NetBSD 9.1, FreeBSD 13.0, OpenBSD 6.9.
2021-05-07 19:50:10 +00:00
Maxim Konovalov
34abb05be7 qat.4: the Authors section prettification
Rewording the Authors section in way that allows to
remove a hard break before Mark's name.

Reviewed by:	markj
2021-05-07 15:33:01 +00:00
John Baldwin
1b2806931a src.conf.5: Regen.
Reviewed by:	emaste
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D30107
2021-05-05 14:11:33 -07:00
John Baldwin
a2bc17474b Disable building svnlite(1) by default.
Now that all repositories have switched to git, initiate the de-orbit
burn for svnlite(1).

Reviewed by:	emaste
MFC after:	1 month
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D30105
2021-05-05 14:11:13 -07:00
Warner Losh
a512d0ab00 kern: clarify boot time
In FreeBSD, the current time is computed from uptime + boottime. Uptime
is a continuous, smooth function that's monotonically increasing. To
effect changes to the current time, boottime is adjusted.  boottime is
mutable and shouldn't be cached against future need. Document the
current implementation, with the caveat that we may stop stepping
boottime on resume in the future and will step uptime instead (noted in
the commit message, but not in the code).

Sponsored by:		Netflix
Reviewed by:		phk, rpokala
Differential Revision:	https://reviews.freebsd.org/D30116
2021-05-05 12:32:13 -06:00
Lutz Donnerhacke
b1bd44732d netgraph/ng_bridge: learn MACs via control message
Add a new control message to move ethernet addresses to a given link
in ng_bridge(4). Send this message instead of doing the work directly.
This decouples the read-only activity from the modification under a
more strict writer lock.

Decoupling the work is a prerequisite for multithreaded operation.

Approved by:	manpages (bcr), kp (earlier version)
MFC:		3 weeks
Differential Revision:	https://reviews.freebsd.org/D28516
2021-05-04 22:14:59 +02:00
Baptiste Daroussin
3657010266 pci_vendors: update to 2021-05-04 2021-05-04 14:03:07 +02:00
Charlie Li
c229f4aa0c
Add myself (vishwin) as a ports committer
Following section 7.1 in Committer's Guide.

Approved by: arrowd (mentor)
Differential Revision: https://reviews.freebsd.org/D30078
2021-05-02 10:20:46 -04:00
Andrew Turner
2abd4f8581 Add a way to map arm64 non-posted device memory
On arm64 we currently use a non-posted write for device memory, however
we should move to use posted writes. This is expected to work on most
hardware, however we will need to support a non-posted option for some
broken hardware.

Reviewed by:	imp, manu, bcr (manpage)
Differential Revision:	https://reviews.freebsd.org/D29722
2021-05-01 06:01:20 +00:00
Oskar Holmlund
7b88cd8bbf Add myself(oh) as src committer and mentor(manu).
Step 7.1.5 in committers guide.

Reviewed by: manu
Approved by: manu (mentor)
Differential Revision: https://reviews.freebsd.org/D29890
2021-04-30 16:03:27 +02:00
Mark Johnston
420d30f5bd kasan.9: A couple of fixups
- Mention GENERIC-KASAN.
- Note that the runtime was ported from NetBSD.

Sponsored by:	The FreeBSD Foundation
2021-04-29 12:26:37 -04:00
Cy Schubert
8e435de92c src.libnames.mk: Remove redundant am-utils library definition
r358821 (13f7dbe822) retired amd(8).
This commit cleans up an artifact left in src.libnames.mk.

Reviewed by:		imp
Differential Revision:	https://reviews.freebsd.org/D29914
2021-04-29 07:07:29 -07:00
Baptiste Daroussin
a4b5f7ba3e pci_vendors: update to 2021.04.26 2021-04-29 06:46:26 +02:00
Li-Wen Hsu
164d49a584
Correct the link of external mirrors
Reported by:	0mp
Fixes:		8ef03ce6db
MFC after:	1 day
2021-04-29 03:39:18 +08:00
Fernando Apesteguía
e444a4c677 build(7): fix references to svn(1) and svnlite(1)
Replace them with references to Git.

PR:	254937
Reported by:	m.bueker@berlin.de
Approved by:	0mp (mentor)
Differential Revision:	https://reviews.freebsd.org/D29949
2021-04-28 16:38:27 +02:00
Ceri Davies
f33f2365ee geom_uzip(4): fix a typo
While I was there, also fixed a whitespace issue reported by mandoc
-Tlint.

PR:		254338
MFC after:	3 days
2021-04-28 00:59:03 -04:00
Michael Tuexen
6096814d31 tcp: fix man page
Reviewed by:		gbe, rscheff
MFC after:		1 week
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D29963
2021-04-24 22:40:34 +02:00
Fernando Apesteguía
2e5929a756 stats.7: Add dwatch(1) to the list
PR:	255303
Approved by: 0mp (mentor)
Differential Revision: https://reviews.freebsd.org/D29924
2021-04-22 19:33:12 +02:00
Ka Ho Ng
4ce1ba6523 sndstat: nvlist schema and API definition changes
- SNDSTAT_LABEL_* are renamed to SNDST_DSPS_*, and SNDSTAT_LABEL_DSPS
  becomes SNDST_DSPS.
- Centralize channel number/rate/formats into a single nvlist
  The above nvlist is named "info_play" and "info_rec"
- Expose only encoding format in pfmts/rfmts. Userland has no direct
  access to AFMT_ENCODING/CHANNEL/EXTCHANNEL macros, thus it serves no
  meaning to expose too much information through this pair of labels.
  However pminrate/rminrate, pmaxrate/rmaxrate, pfmts/rfmts are
  deprecated and will be removed in future.

This commit keeps ioctls ABI compatibility with __FreeBSD_version
1400006 for now. In future the compat ABI with 1400006 will be removed
once audio/virtual_oss is rebuilt.

Sponsored by:	The FreeBSD Foundation
Reviewed by:	hselasky
Approved by:	philip (mentor)
Differential Revision:	https://reviews.freebsd.org/D29770
2021-04-21 16:19:15 +08:00
Ka Ho Ng
3dbd5ecfe8 Add myself (khng) as src committer.
Approved by:	lwhsu (mentor), philip (mentor)
2021-04-20 19:33:36 +08:00
Faraz Vahedi
33f8d79d76 assert.3: Document static_assert and _Static_assert
Reviewed by:	imp, 0mp
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D29833
2021-04-20 11:17:44 +02:00
Mateusz Piotrowski
ef0ba6bcce c.7: Fix some typos
Those misspellings were not picked up by igor because they are not
present in its list of common spelling errors.

Reported by:	rpokala
2021-04-20 10:33:34 +02:00
Alex Richardson
ba1182e263 bsd.compiler.mk: detect Apple Clang for cross-builds
Apple clang uses a different versioning scheme, so if we enable or
disable certain warnings for Clang 11+, those might not be supported
in Apple Clang 11+. This adds 'apple-clang' to COMPILER_FEATURES, so that
bootstrap tools Makefiles can avoid warnings on macOS.

Reviewed By:	imp
Differential Revision: https://reviews.freebsd.org/D29680
2021-04-20 01:46:36 +01:00
Mateusz Piotrowski
22b2ba4e22 Fix a typo in Gordon's login
It's gbe, not bge.

Fixes:	bffc3fb3c0 Add metor -> mentee information (docs)
2021-04-19 15:48:05 +02:00
Kristof Provost
42ec75f83a pf: Optionally attempt to preserve rule counter values across ruleset updates
Usually rule counters are reset to zero on every update of the ruleset.
With keepcounters set pf will attempt to find matching rules between old
and new rulesets and preserve the rule counters.

MFC after:	4 weeks
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D29780
2021-04-19 14:31:47 +02:00
Michael Tuexen
9e644c2300 tcp: add support for TCP over UDP
Adding support for TCP over UDP allows communication with
TCP stacks which can be implemented in userspace without
requiring special priviledges or specific support by the OS.
This is joint work with rrs.

Reviewed by:		rrs
Sponsored by:		Netflix, Inc.
MFC after:		1 week
Differential Revision:	https://reviews.freebsd.org/D29469
2021-04-18 16:16:42 +02:00
Faraz Vahedi
136f6b6c0c c.7: Describe more recent C standards
Also, add some MLINKS and fix some typos.

Reviewed by:	bcr
Differential Revision:	https://reviews.freebsd.org/D28441
2021-04-18 16:36:13 +02:00
Mateusz Piotrowski
40277af7f2 spigen.4: Fix typos
MFC after:	3 days
2021-04-18 10:20:10 +02:00
Mateusz Piotrowski
d25f7d324a ports.7: Document DEBUG_FLAGS and the process of debugging ports
Loosely based on https://wiki.freebsd.org/BenWoods/DebuggingPorts.

Reviewed by:	crees
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D27296
2021-04-17 22:53:39 +02:00
Mateusz Piotrowski
c0e41dff70 ports.7: Add an example of setting variables for selected ports
Reviewed by:	crees
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D28202
2021-04-17 22:17:38 +02:00
Richard Scheffenegger
d1de2b05a0 tcp: Rename rfc6675_pipe to sack.revised, and enable by default
As full support of RFC6675 is in place, deprecating
net.inet.tcp.rfc6675_pipe and enabling by default
net.inet.tcp.sack.revised.

Reviewed By: #transport, kbowling, rrs
Sponsored by: NetApp, Inc.
Differential Revision: https://reviews.freebsd.org/D28702
2021-04-17 14:59:45 +02:00
Gleb Smirnoff
77a84a305e syncache.4: fix mandoc in cb8d7c44d6
Noticed by:	brueffer
2021-04-15 15:50:01 -07:00
Gleb Smirnoff
cb8d7c44d6 tcp_syncache: add net.inet.tcp.syncache.see_other sysctl
A security feature from c06f087ccb appeared to be a huge bottleneck
under SYN flood. To mitigate that add a sysctl that would make
syncache(4) globally visible, ignoring UID/GID, jail(2) and mac(4)
checks. When turned on, we won't need to call crhold() on the listening
socket credential for every incoming SYN packet.

Reviewed by:	bz
2021-04-15 15:26:48 -07:00
Mark Johnston
aabe13f145 uma: Introduce per-domain reclamation functions
Make it possible to reclaim items from a specific NUMA domain.

- Add uma_zone_reclaim_domain() and uma_reclaim_domain().
- Permit parallel reclamations.  Use a counter instead of a flag to
  synchronize with zone_dtor().
- Use the zone lock to protect cache_shrink() now that parallel reclaims
  can happen.
- Add a sysctl that can be used to trigger reclamation from a specific
  domain.

Currently the new KPIs are unused, so there should be no functional
change.

Reviewed by:	mav
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D29685
2021-04-14 13:03:34 -04:00
Mark Johnston
29bb6c19f0 domainset: Define additional global policies
Add global definitions for first-touch and interleave policies.  The
former may be useful for UMA, which implements a similar policy without
using domainset iterators.

No functional change intended.

Reviewed by:	mav
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D29104
2021-04-14 13:03:33 -04:00
Gordon Bergling
b1ab802ce4 ossl(4): Install the man page also for arm64
In 22bd0c9731 ossl(4) was ported to arm64. The manual page was
adapted, but never installed since the ossl(4) manual page was
i386 / amd64 only.

Reviewed by:	mhorne
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D29762
2021-04-14 18:32:56 +02:00
Mark Johnston
38da497a4d Add the KASAN runtime
KASAN enables the use of LLVM's AddressSanitizer in the kernel.  This
feature makes use of compiler instrumentation to validate memory
accesses in the kernel and detect several types of bugs, including
use-after-frees and out-of-bounds accesses.  It is particularly
effective when combined with test suites or syzkaller.  KASAN has high
CPU and memory usage overhead and so is not suited for production
environments.

The runtime and pmap maintain a shadow of the kernel map to store
information about the validity of memory mapped at a given kernel
address.

The runtime implements a number of functions defined by the compiler
ABI.  These are prefixed by __asan.  The compiler emits calls to
__asan_load*() and __asan_store*() around memory accesses, and the
runtime consults the shadow map to determine whether a given access is
valid.

kasan_mark() is called by various kernel allocators to update state in
the shadow map.  Updates to those allocators will come in subsequent
commits.

The runtime also defines various interceptors.  Some low-level routines
are implemented in assembly and are thus not amenable to compiler
instrumentation.  To handle this, the runtime implements these routines
on behalf of the rest of the kernel.  The sanitizer implementation
validates memory accesses manually before handing off to the real
implementation.

The sanitizer in a KASAN-configured kernel can be disabled by setting
the loader tunable debug.kasan.disable=1.

Obtained from:	NetBSD
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D29416
2021-04-13 17:42:20 -04:00
Dmitry Chagin
86887853c3 Remove reference to the pfctlinput2() from domain(9) after 237c1f932b.
Reviewed by:		glebius
MFC After:		1 week
Differential Revision:	https://reviews.freebsd.org/D29751
2021-04-14 00:40:20 +03:00
Kurosawa Takahiro
2aa21096c7 pf: Implement the NAT source port selection of MAP-E Customer Edge
MAP-E (RFC 7597) requires special care for selecting source ports
in NAT operation on the Customer Edge because a part of bits of the port
numbers are used by the Border Relay to distinguish another side of the
IPv4-over-IPv6 tunnel.

PR:		254577
Reviewed by:	kp
Differential Revision:	https://reviews.freebsd.org/D29468
2021-04-13 10:53:18 +02:00
John Baldwin
76681661be OCF: Remove support for asymmetric cryptographic operations.
There haven't been any non-obscure drivers that supported this
functionality and it has been impossible to test to ensure that it
still works.  The only known consumer of this interface was the engine
in OpenSSL < 1.1.  Modern OpenSSL versions do not include support for
this interface as it was not well-documented.

Reviewed by:	cem
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D29736
2021-04-12 14:28:43 -07:00
Mitchell Horne
2816bd8442 rmlock(9): add an RM_DUPOK flag
Allows for duplicate locks to be acquired without witness complaining.
Similar flags exists already for rwlock(9) and sx(9).

Reviewed by:	markj
MFC after:	3 days
Sponsored by:	NetApp, Inc.
Sponsored by:	Klara, Inc.
NetApp PR:	52
Differential Revision:	https://reviews.freebsd.org/D29683n
2021-04-12 11:42:21 -03:00
Mark Johnston
dfff37765c Rename struct device to struct _device
types.h defines device_t as a typedef of struct device *.  struct device
is defined in subr_bus.c and almost all of the kernel uses device_t.
The LinuxKPI also defines a struct device, so type confusion can occur.

This causes bugs and ambiguity for debugging tools.  Rename the FreeBSD
struct device to struct _device.

Reviewed by:	gbe (man pages)
Reviewed by:	rpokala, imp, jhb
MFC after:	1 week
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D29676
2021-04-12 09:32:30 -04:00
Yuri Pankov
970ffdcefe acpi(4): mention NONE as possible setting for hw.acpi.power_button_state
Reviewed by:	manpages (gbe)
Differential Revision:	https://reviews.freebsd.org/D29577
2021-04-11 23:17:06 +03:00
Ka Ho Ng
b77f5f5553 vnode_pager_setsize.9: Some clarifications on the manpage
A number of changes:
- Clarifies the locking rules when calling the routine.
- Correct the description regarding the content range to be purged.
- Document the effects on page fault handler.

MFC after:	3 days
MFC with:	86a52e262a
Sponsored by:	The FreeBSD Foundation
Reviewed by:	bcr, kib
Approved by:	philip (mentor)
Differential Revision:	https://reviews.freebsd.org/D29637
2021-04-11 14:47:40 +08:00
Kristof Provost
0d71f9f36e pfctl: Move ioctl abstraction functions into libpfctl
Introduce a library to wrap the pf ioctl interface.

MFC after:	4 weeks
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D29562
2021-04-10 11:16:02 +02:00
Ed Maste
041c504942 Regen src.conf.5 after 9d178c925f 2021-04-09 22:24:08 -04:00
Gordon Bergling
46c9952807 sysctl.conf(5): Mention sysctl.conf.local in the sysctl.conf(5) manual page
The possibility of using a sysctl.conf.local on a machine that has a shared
sysctl.conf(5) isn't documented. So mention the sysctl.conf.local in the
manual page.

PR:	254901
Submitted by:	Jose Luis Duran <jlduran at gmail dot com>
Reported by:	Jose Luis Duran <jlduran at gmail dot com>
Reviewed by:	markj
MFC after:	3 days
Differential Revision:	https://reviews.freebsd.org/D29673
2021-04-09 17:28:18 +02:00
Dmitry Chagin
f2400e6e83 Removed the reference to the deprecated splx API from ifnet(9).
Reviewed by:		emaste, markj
PR:			254880
MFC After:		1 week
Differential Revision:	https://reviews.freebsd.org/D29666
2021-04-09 17:22:12 +03:00
Gordon Bergling
9048d9a933 sed(1): Add a reference for a 4.4BSD manual document
Obtained from:	OpenBSD
MFC after:	1 week
2021-04-08 21:07:31 +02:00