Commit Graph

278483 Commits

Author SHA1 Message Date
Kirk McKusick
dcdba3460d Updates to UFS/FFS superblock integrity checks when reading a superblock.
Further updates based on ways Peter Holm found to corrupt UFS
superblocks in ways that could cause kernel hangs or crashes.

No legitimate superblocks should fail as a result of these changes.

Reported by:  Peter Holm
Tested by:    Peter Holm
Sponsored by: The FreeBSD Foundation
2022-10-03 05:53:10 -07:00
Alfredo Dal'Ava Junior
db79bf75ac powerpc: cpuset: add local functions for copyin/copyout
Add local functions to workaround an instruction segment trap (panic)
when the indirect functions copyin and copyout are called by an external
loadable kernel module (i.e. pfsync, zfs and linuxulator). The crash
was triggered by change 47a57144af, but
kernel binary linked with LLD 9 works fine. LLVM bisect points that LLD
behavior chaged after dc06b0bc9ad055d06535462d91bfc2a744b2f589.

This is know to affect powerpc targets only and the final fix is still
being discussed with the LLVM community.

PR:	266730
Reviewed by:	luporl, jhibbits (on IRC, previous version)
MFC after:	2 days
Sponsored by:	Instituto de Pesquisas Eldorado (eldorado.org.br)
Differential Revision:	https://reviews.freebsd.org/D36234
2022-10-03 12:03:09 -03:00
Michael Tuexen
f8b5681094 tcp: honor drop_synfin sysctl variable in TIME-WAIT
Reviewed by:		rrs@
MFC after:		1 week
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D36862
2022-10-03 12:48:30 +02:00
Doug Moore
ffbc2a58b1 Fix LINT build after 368ee2f86a
Reported by:	jenkins
Fixes:	368ee2f86a
2022-10-03 00:15:21 -05:00
Doug Moore
368ee2f86a rb_tree: let insert search start from next node
When the node to insert in the rb_tree is known to precede or follow a
particular node, new methods RB_INSERT_PREV and RB_INSERT_NEXT,
defined here, allow the search for where to insert the new node begin
with that particular node, rather than at the root, to save a bit of
time.

Using those methods, instead of RB_INSERT, in managing a tree in
iommu_gas.c, saves a little time.

Reviewed by:	kib
MFC after:	3 weeks
Differential Revision:	https://reviews.freebsd.org/D35516
2022-10-02 22:27:21 -05:00
Konstantin Belousov
a7eac01843 stty(1): provide details about interaction with job control
Describe a shell trick to do non-blocking modification of the terminal
settings, by ignoring job control signals with trap built-in.

PR:	266627
With input from:	jilles
Reviewed by:	pauamma
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Differential revision:	https://reviews.freebsd.org/D36745
2022-10-02 20:29:53 +03:00
Hans Petter Selasky
aa87aa5232 libusb(3): Implement libusb_interrupt_event_handler() by exposing existing function.
MFC after:	1 week
Sponsored by:	NVIDIA Networking
2022-10-02 17:32:59 +02:00
Alexander V. Chernikov
356724fc93 netlink: fix non-default builds (no INET, INET6, ROUTE_MPATH). 2022-10-02 13:12:52 +00:00
Jung-uk Kim
fc083c3eb2 netlink: Fix build without VIMAGE 2022-10-01 21:41:54 -04:00
Dag-Erling Smørgrav
0aa2700123 Put OPIE to rest.
Differential Revision: https://reviews.freebsd.org/D36592
2022-10-02 03:37:29 +02:00
Rick Macklem
a82308abab nfs_clvnops.c: Fix access to v_mount when vnode unlocked
Commit ab17854f97 fixed access to v_mount when the
vnode is unlocked for nfs_copy_file_range().

This patch does the same for nfs_advlockasync().

MFC after:	1 week
2022-10-01 16:30:07 -07:00
Dag-Erling Smørgrav
497cdf9673 sh: read more profile files.
Differential Revision: https://reviews.freebsd.org/D36505
MFC after:	1 month
2022-10-01 21:30:56 +00:00
Alexander V. Chernikov
03994c24da netlink: fix build without INVARIANTS
Reported by:	cy
2022-10-01 21:20:50 +00:00
Alexander V. Chernikov
8d9f3e0572 netlink: fix format strings on 32-bit platforms 2022-10-01 21:16:31 +00:00
Alexander V. Chernikov
c90bff3fa7 netlink: fix debugging on 32-bit platforms 2022-10-01 19:03:35 +00:00
Doug Moore
e5f93d1078 show_sysctl_all: reduce copying, please coverity
Modify db_show_sysctl_all so that it does not copy more than once the
data of the input oid, and so that what it passes to db_show_oid does
not alarm coverity.

Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D36847
2022-10-01 12:20:04 -05:00
Alexander V. Chernikov
dddafa8d25 netlink: make test-includes happy by hiding most of the header
contents under _KERNEL.
2022-10-01 17:01:53 +00:00
Alexander V. Chernikov
11ca01e9aa netlink: add headers installation 2022-10-01 16:31:58 +00:00
Rene Ladan
83578bd40f organization.dot: add pizzamig to portmgr 2022-10-01 18:18:31 +02:00
Rick Macklem
bffb3d947b nfs_clvnops.c: Fix access to v_mount when vnode unlocked
Commit ab17854f97 fixed access to v_mount when the
vnode is unlocked for nfs_copy_file_range().

This patch does the same for nfs_ioctl().

Reviewed by:	kib, markj
MFC after:	2 weeks
Differential Revision:	https://reviews.freebsd.org/D36846
2022-10-01 07:43:53 -07:00
Alexander V. Chernikov
7c40e2d5f6 linuxolator: add netlink support
Add the glue code to support netlink in Linuxolator.
linux_common(4) now depends on netlink(4).

All netlink protocol constants are consistent with the Linux version.
However, certain OS-specific constants such as AF_INET6, interface
flags or default routing table id, are different between FreeBSD and
Linux. Thus, it may be needed to rewrite some message parts or even
rewrite the whole message, adding or removing some TLVs. The core
netlink implementation code provides efficient rewriting callbacks
 which Linuxolator now uses.

Reviewed by:	dchagin
Differential Revision: https://reviews.freebsd.org/D36361
MFC after:	2 months
2022-10-01 14:16:45 +00:00
Alexander V. Chernikov
7e5bf68495 netlink: add netlink support
Netlinks is a communication protocol currently used in Linux kernel to modify,
 read and subscribe for nearly all networking state. Interfaces, addresses, routes,
 firewall, fibs, vnets, etc are controlled via netlink.
It is async, TLV-based protocol, providing 1-1 and 1-many communications.

The current implementation supports the subset of NETLINK_ROUTE
family. To be more specific, the following is supported:
* Dumps:
 - routes
 - nexthops / nexthop groups
 - interfaces
 - interface addresses
 - neighbors (arp/ndp)
* Notifications:
 - interface arrival/departure
 - interface address arrival/departure
 - route addition/deletion
* Modifications:
 - adding/deleting routes
 - adding/deleting nexthops/nexthops groups
 - adding/deleting neghbors
 - adding/deleting interfaces (basic support only)
* Rtsock interaction
 - route events are bridged both ways

The implementation also supports the NETLINK_GENERIC family framework.

Implementation notes:
Netlink is implemented via loadable/unloadable kernel module,
 not touching many kernel parts.
Each netlink socket uses dedicated taskqueue to support async operations
 that can sleep, such as interface creation. All message processing is
 performed within these taskqueues.

Compatibility:
Most of the Netlink data models specified above maps to FreeBSD concepts
 nicely. Unmodified ip(8) binary correctly works with
interfaces, addresses, routes, nexthops and nexthop groups. Some
software such as net/bird require header-only modifications to compile
and work with FreeBSD netlink.

Reviewed by:	imp
Differential Revision: https://reviews.freebsd.org/D36002
MFC after:	2 months
2022-10-01 14:15:35 +00:00
Cy Schubert
35d60ac2e5 unbound: Adjust version string
Sync version string with contrib.

Reported by:	"Herbert J. Skuhra" <herbert@gojira.at>
Fixes:		4f5c8956cf
MFC after:	3 days
2022-10-01 06:51:30 -07:00
Mariusz Zaborski
6da5e5d649 seq: fix style nits
MFC after:	2 weeks
2022-10-01 12:05:07 +02:00
Mariusz Zaborski
94c4f663ba seq: fix potential NULL ptr reference
asprintf(3) allocates memory, and there isn't any guarantee of success.

MFC after:	2 weeks
Obtained from:  OpenBSD
2022-10-01 12:05:03 +02:00
Xin LI
c5e957ad4f file: fix test case for gpkg by removing the extra \n.
MFC after:	3 days
2022-09-30 22:45:32 -07:00
Ganbold Tsagaankhuu
8eb94b238f Set denominator to 1 if it is 0 in the init phase.
This prevents panic and also helps when the clocks
become available later.
This is based on comment from manu@ on
https://reviews.freebsd.org/D31299
2022-10-01 02:01:59 +00:00
Warner Losh
f341e9bad3 uart: Remove sbbc reference
sbbc support is for sparc64 only, which was removed in 58aa35d429.

Sponsored by:		Netflix
2022-09-30 18:26:45 -06:00
Warner Losh
881fca442f arm: Catch up with Samsung S3C2xx0 code removal
The code backing these uart_class was removed 7 years ago in
4648ee9525.

Sponsored by:		Netflix
2022-09-30 18:12:10 -06:00
Xin LI
8a96874eee Bump __FreeBSD_version for qsort_r prototype change. 2022-09-30 15:31:13 -07:00
Ed Schouten
af3c78886f Alter the prototype of qsort_r(3) to match POSIX, which adopted the
glibc-based interface.

Unfortunately, the glibc maintainers, despite knowing the existence
of the FreeBSD qsort_r(3) interface in 2004 and refused to add the
same interface to glibc based on grounds of the lack of standardization
and portability concerns, has decided it was a good idea to introduce
their own qsort_r(3) interface in 2007 as a GNU extension with a
slightly different and incompatible interface.

With the adoption of their interface as POSIX standard, let's switch
to the same prototype, there is no need to remain incompatible.

C++ and C applications written for the historical FreeBSD interface
get source level compatibility when building in C++ mode, or when
building with a C compiler with C11 generics support, provided that
the caller passes a fifth parameter of qsort_r() that exactly matches
the historical FreeBSD comparator function pointer type and does not
redefine the historical qsort_r(3) prototype in their source code.

Symbol versioning is used to keep old binaries working.

MFC:			never
Relnotes:		yes
Reviewed by:		cem, imp, hps, pauamma
Differential revision:	https://reviews.freebsd.org/D17083
2022-09-30 15:26:30 -07:00
Gleb Smirnoff
69d79ceb2c tests/unix_passfd: add test case against 636420bde3 2022-09-30 13:43:37 -07:00
Gleb Smirnoff
0421ff5ab1 tests/unix_passfd: factor out sysctl(3) read into separate function 2022-09-30 13:43:08 -07:00
Gleb Smirnoff
636420bde3 unix/dgram: don't leak file descriptors when socket write failed 2022-09-30 13:43:08 -07:00
Alan Cox
1d5ebad06c pmap: optimize MADV_WILLNEED on existing superpages
Specifically, avoid pointless calls to pmap_enter_quick_locked() when
madvise(MADV_WILLNEED) is applied to an existing superpage mapping.

Reported by:	mhorne
Reviewed by:	kib, markj
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D36801
2022-09-30 12:14:05 -05:00
Zhenlei Huang
8707cb19e6 if_vxlan(4): Check the size of data available in mbuf before using them
PR:		261711
Reviewed by:	kp
Differential Revision:	https://reviews.freebsd.org/D36794
2022-09-30 09:56:15 +02:00
Elliott Mitchell
42dc8696df vmstat: remove processor counting from getcpuinfo()
As `ncpus` was otherwise unused, keeping track was pointless.  Gets rid
of a warning from an unused variable.

Reviewed by:	kib
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D36628
2022-09-30 06:10:27 +03:00
Olivier Cochard
c8b6939dfa renice: Prevent running regression tests in parallel
renice_abs_user and renice_rel_user tests modify global state, so they
are not compatible with parallel execution.

Reviewed by:	asomers
Sponsored by:	Netflix
Differential Revision:	https://reviews.freebsd.org/D36720
2022-09-30 00:28:19 +02:00
John Baldwin
cdfe82d35a qat: Fix build with GCC.
Use the correct option to suppress warnings due to discarding const
from pointers on GCC vs clang.

Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D36780
2022-09-29 15:07:02 -07:00
John Baldwin
b174653495 qat: Remove non-existent path from -I.
Reviewed by:	markj
Reported by:	GCC -Wmissing-include-dirs
Differential Revision:	https://reviews.freebsd.org/D36779
2022-09-29 15:06:31 -07:00
John Baldwin
a35572b16e linux32: binutils as requires %eflags instead of %flags for CFI.
Reviewed by:	kib
Differential Revision:	https://reviews.freebsd.org/D36781
2022-09-29 15:06:01 -07:00
John Baldwin
1aef571102 rb_tree: Use void casts for RB_AUGMENT_CHECK with unused return value.
Reviewed by:	dougm
Reported by:	GCC -Wunused-value
Differential Revision:	https://reviews.freebsd.org/D36778
2022-09-29 15:05:22 -07:00
Michael Tuexen
a779bb4d94 tcp_sso: add support for TCP_MAXUNACKTIME
Reported by:		rscheff@
Reviewed by:		rscheff@
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D36802
2022-09-29 02:02:11 +02:00
Kyle Evans
78f3c734a5 arm64: fix build without FDT
static_kenv is only used under `FDT`, and `try_load_dtb` is only defined
with `FDT`.

Reviewed by:	andrew, imp, manu
Differential Revision:	https://reviews.freebsd.org/D36791
2022-09-29 14:33:33 -05:00
Kyle Evans
23c318ed86 extres: regulator: fix the build without FDT
The regnode interface is currently only built for FDT, thus not
applicable to ACPI-only kernels.  Move the "regnode_if.h" include
underneath a previously existing FDT cpp segment.

Reviewed by:	andrew, imp, manu
Differential Revision:	https://reviews.freebsd.org/D36790
2022-09-29 14:33:33 -05:00
Kyle Evans
b4c2a5b689 arm64: coresight: fix the build without FDT
coresight_cpu_debug only has an FDT attachment, so let's not build it
for kernels without FDT.

coresight.h includes sys/malloc.h via header pollution
dev/ofw/openfirm.h; include it directly in case we're building without
FDT.

Reviewed by:	andrew, manu
Differential Revision:	https://reviews.freebsd.org/D36789
2022-09-29 14:33:33 -05:00
Kyle Evans
4a4ad02da3 uart: uart_cpu_arm64: fix the build without FDT
clang 14 doesn't properly determine that we're unconditionally returning
if we have ACPI but not FDT.  Push FDT setup entirely into a new
function, much like we currently do with ACPI, and just return ENXIO if
that doesn't succeed.

Reviewed by:	andrew, manu (earlier version)
Differential Revision:	https://reviews.freebsd.org/D36788
2022-09-29 14:33:32 -05:00
Kyle Evans
79794d5c18 extres: syscon: pull in sys/malloc.h (fix !FDT)
syscon currently includes sys/malloc.h via header pollution from
dev/ofw/ofw_bus.h -> dev/ofw/openfirm.h.  Fix the build without FDT
defined by including sys/malloc.h directly.

Reviewed by:	andrew, imp, manu
Differential Revision:	https://reviews.freebsd.org/D36787
2022-09-29 14:33:32 -05:00
Mariusz Zaborski
26573e2c7f cap_netdb: Fix description style
MFC after:	1 week
2022-09-29 19:51:42 +02:00
Mariusz Zaborski
facd6b58d5 libcapser: Add reference to cap_netdb
MFC after:	1 week
2022-09-29 19:51:04 +02:00