1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-11-21 07:15:49 +00:00
Commit Graph

295792 Commits

Author SHA1 Message Date
Kevin Bowling
8de007ad19 igc.4: Remove non-existent timer tunables
These were removed in a40ecb6f74 because they do not apply to igc
hardware which uses EITR for interval timing.

MFC after:	3 days
Sponsored by:	BBOX.io
2024-11-20 16:59:23 -07:00
Jose Luis Duran
87e87fecb1
nanobsd: Remove dependency on bsdlabel
The bsdlabel utility is deprecated, gpart should be used instead:

  - Offset the first 16 sectors, just like bsdlabel did (used for
    metadata)
  - Use a freebsd-ufs partition type (regardless bsdlabel creating a
    '!0')

Reviewed by:	emaste, imp
Approved by:	emaste (mentor)
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D47653
2024-11-20 22:31:56 +00:00
Jose Luis Duran
accf71534c
geom: Allow BSD type '!0' partitions
Allow the creation of '!0' partition types.

Fix it by not considering "0" an invalid partition type.

Reviewed by:	emaste
Approved by:	emaste (mentor)
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D47652
2024-11-20 22:28:57 +00:00
Warner Losh
459404cbc4 rtsw: Break out as soon as we find we're doing the inversion workaround
Once we set that we're doing the inversion workaround, there's no sense
continuing to search for the inversion workaround.

Sponsored by:		Netflix
Reviewed by:	adrian
Differential Revision:	https://reviews.freebsd.org/D47686
2024-11-20 14:37:20 -07:00
Warner Losh
4365a13bda cdefs: Document what we do when _XOPEN_SOURCE is an empty string
X/Open originally had _XOPEN_SOURCE defined to signify conformance with
the Single Unix Specification, starting with its third iteration. There
it defined _XOPEN_SOURCE being defined as the same thing as
_POSIC_C_SOURCE=2, though the different versions of the spec had slight
variances as to what's defined and wheter or not _XOPEN_SOURCE_EXTENSION
needed to be defined. Document that we don't do anything in this case.
It turns out that enabling the proper strict environment breaks at least
some old software, so for the moment it's a nop until that can be sorted
out (though that is a very low proprity task).

Sponsored by:		Netflix
2024-11-20 14:35:56 -07:00
Jessica Clarke
7a3af393d8 sys/cdefs.h: Add comments to make #if/#else/#endif triple more obvious
This block has a lot of nesting, not helped by two adjacent nested
blocks involving _POSIX_C_SOURCE, with only the inner one commented,
looking like it's the end of the outer one. Comment the outer one as
well so it's not quite so hard to figure out.

MFC after:	1 week
2024-11-20 20:09:28 +00:00
Warner Losh
780f289297 stand: drop inttypes.h from safe list
Nothing uses it anymore, so drop it from the 'safe' list. Also, move
stand/efi/loader/main.c to using machine/_inttypes.h which is all it
really needs.

Sponsored by:		Netflix
2024-11-20 12:49:48 -07:00
Ed Maste
95b71a659a libc: Note that getentropy is nearly POSIX 2024
Our implementation currently diverges from POSIX 2024 in a couple of
ways, as now noted in the BUGS section.

Reviewed by:	brooks
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47589
2024-11-20 14:30:34 -05:00
Doug Moore
18a8f4e586 vm_page: correct page iterator patch
The previous change committed a preliminary version of the change to
use iterators to free page sequences.  This updates to what was
intended to be the final version.

Reviewed by:	markj (previous version)
Tested by:	pho
Differential Revision:	https://reviews.freebsd.org/D46724
2024-11-20 12:00:57 -06:00
Doug Moore
5b78ff8307 vm_page: remove pages with iterators
Use pctrie iterators for removing some page sequences from radix
trees, to avoid repeated searches from the tree root.

Rename vm_page_object_remove to vm_page_remove_radixdone, and remove
from it the responsibility for removing a page from its radix tree,
and pass that responsibility on to its callers.

For one of those callers, vm_page_rename, pass a pages pctrie_iter,
rather than a page, and use the iterator to remove the page from its
radix tree.

Define functions vm_page_iter_remove() and vm_page_iter_free() that
are like vm_page_remove() and vm_page_free(), respectively, except
that they take an iterator as parameter rather than a page, and use
the iterator to remove the page from the radix tree instead of
searching the radix tree. Function vm_page_iter_free() assumes that
the page is associated with an object, and calls
vm_page_free_object_prep to do the part of vm_page_free_prep that is
object-related.

In functions vm_object_split and vm_object_collapse_scan, use a
pctrie_iter to walk over the pages of the object, and use
vm_page_rename and vm_radix_iter_remove modify the radix tree without
searching for pages.  In vm_object_page_remove and _kmem_unback, use a
pctrie_iter and vm_page_iter_free to remove the page from the radix
tree.

Reviewed by:	markj (prevoius version)
Tested by:	pho
Differential Revision:	https://reviews.freebsd.org/D46724
2024-11-20 11:54:20 -06:00
Ed Maste
5cc53d7965 memcmp.3: Clarify return value
The return value is not required to be the difference between the
differing bytes, only less than zero, zero, or greater than zero.

Reviewed by:	fuz
Event:		Kitchener-Waterloo Hackathon 202406
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47683
2024-11-20 12:15:11 -05:00
Kristof Provost
e27970ae8f netinet: handle blackhole routes
If during ip_forward() we find a blackhole (or reject) route we should stop
processing and count this in the 'cantforward' counter, just like we already do
for IPv6.
Blackhole routes are set to use the loopback interface, so we don't actually
incorrectly forward traffic, but we do fail to count it as unroutable.

Test this, both for IPv4 and IPv6.

Reviewed by:	melifaro
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D47529
2024-11-20 16:52:41 +01:00
Kristof Provost
4b65481ac6 pf: fix build without DTrace
Reported by:	kib
Fixes:		438ca68cef
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2024-11-20 14:23:07 +01:00
Baptiste Daroussin
0df81552d7 sh(1): -l is only valid in cli option not as set -l 2024-11-20 14:15:41 +01:00
Bjoern A. Zeeb
bbe2a1da2d bsdinstall: add menu to install firmware
Add a menu to the installer to run fwget(8) inside the newly installed
system to install firmware known to be needed.
This requires working netowrking.

This is needed at least for wireless currently for when we entirely
stop shipping new firmware in src.git to have working networking on
the installed system (we already do need this for at least rtw89).

Sponsored by:	The FreeBSD Foundation
Tested with:	4 different iwlwifi chipsets in a system (earlier version)
Suggested improvments by: jrtc27
MFC after:	8 hours
Differential Revision: https://reviews.freebsd.org/D47491
2024-11-20 13:06:06 +00:00
Bjoern A. Zeeb
7e2996c1f5 release: install wireless firmware onto disc1 and dvd
Wireless driver firmware is no longer added to the src tree.
In order to have wireless support in the installer for the new drivers
we install the firmware packages onto disc1 (and memstick) and dvd
if built on FreeBSD and NOPKG is not defined (to not break cross-builds
from Linux or OSX and to allow people to opt-out).

Sponsored by:	The FreeBSD Foundation
Submitted by:	cperciva (the orig. commands and where to place them)
Reviewed by:	jrtc27
MFC after:	6 hours
Differential Revision: https://reviews.freebsd.org/D47407
2024-11-20 13:05:04 +00:00
Baptiste Daroussin
65f5dd42f1 sh(1): add -l option
-l is required by LSB for login shell, all other shells: bash, zsh,
oksh, mksh, ... implements it.

with -l sh will act as a login shell and read the profile.

MFC After: 	1 week
Obtained From:	dash (3b7c8442bfe7c2fd0a6b0415df6ddf66a399fd55)
Reviewed by:	kib, lme
Differential Revision:	https://reviews.freebsd.org/D47681
2024-11-20 13:57:18 +01:00
Kristof Provost
81f7ad324d pf: add missing unlock
If we fail to unshare the mbuf we forgot to unlock the rules.

Sponsored by:	Rubicon Communications, LLC ("Netgate")
2024-11-20 13:35:53 +01:00
Baptiste Daroussin
3e2a7a2cbe nuageinit: add test about encrypted passwords
While here fix fc34a2463c where the
adduser_passwd.lua file was not added
2024-11-20 11:02:55 +01:00
Baptiste Daroussin
3e50286607 nuageinit: use io.popen instead of pipes in shell for password
using echo in a sh(1) command line, requires many escaping to be done
right, using io.popen we don't need to do this escaping anymore.
2024-11-20 10:41:46 +01:00
Baptiste Daroussin
fc34a2463c nuageinit: add test for the password 2024-11-20 10:41:46 +01:00
Kristof Provost
438ca68cef netinet: default mib counter probe points off
Disable the IP/IP6/ICMP/... counter probe points by default.
They are kept enabled in debug builds, and can be enabled with
'options KDTRACE_MIB_SDT'.

Requested by:	glebius
Reviewed by:	glebius
Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D47657
2024-11-20 09:52:48 +01:00
Baptiste Daroussin
9229236fb9 basic-cloudinit: remove duplicated rc.conf entry 2024-11-20 09:48:57 +01:00
Konstantin Belousov
5bc24fd7a2 rtld: drop RTLD_INIT_PAGESIZES_EARLY
No arch defines it after ia64 decomissioning.

Discussed with:	jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2024-11-20 08:59:32 +02:00
Kevin Bowling
e38f9257c3 ixgbe: Add support for 1Gbit Active DAC links
1Gbit also emperically works on Active DACs.

MFC after:	3 days
Sponsored by:	BBOX.io
2024-11-19 21:38:08 -07:00
Warner Losh
17be774ee7 stand: unistd.h is no longer safe
unistd.h includes too much extra stuff for the boot loader. This creates
a fair amount of namespace pollution and it's best to just make it an
alias for stand.h like the other include files already are.

Sponsored by:		Netflix
2024-11-19 20:35:04 -07:00
Warner Losh
7255a2969f stand: Don't need sys/select.h
The boot loader doesn't need the types and prototypes defined in
sys/select.h, so don't indirectly include it.

Sponsored by:		Netflix
2024-11-19 20:35:04 -07:00
Warner Losh
c29cba408d stand: Narrow the 'signal emulation' we provide
We only need to provide sig_atomic_t in emulation. However, including
machine/signal.h brings in too much namespace pollution related to
signals. Instead, define sig_atomic_t as long. Setting long is async
atomic on all platforms (though powerpc64 defines it to an int), though
that doesn't matter since the boot loader doesn't use signals.

Sponsored by:		Netflix
2024-11-19 20:24:41 -07:00
Warner Losh
6a88766ecd stand: We don't want signal definitions in the boot loader
We don't support signals in the boot loader, so we don't need to include
sys/signal.h there. It pollutes the namespace.

Sponsored by:		Netflix
2024-11-19 19:57:46 -07:00
Warner Losh
c82ed437c6 sys/conf.h: Make more self-contained
struct cdev has members of type struct timespec. Include sys/_timespec.h
to so we don't need to rely on namespace pollution to define it.

Sponsored by: Netflix
2024-11-19 19:52:40 -07:00
Ed Maste
62dab3d016 getentropy: Remove fallback code
We don't in general support running newer libc on an older kernel, but
have occasionally added support for specific functionality on a case-by-
case basis.  When we do this it is usually done as an aid for developers
to get across a change that introduced new functionality, as for 64-bit
inodes and the introduction of the getrandom syscall.

The getrandom syscall was added in commit e9ac27430c ("Implement
getrandom(2) and getentropy(3)") in 2018, and exists in all supported
FreeBSD versions.  The ECAPMODE special case applied to a few months
worth of kernel versions also in 2018 -- fixed as of commit ed1fa01ac4
("Regen after r337998.").

The backwards-compatibility support is no longer needed, so remove it.

Relnotes:	Yes
Reviewed by:	brooks, cem, delphij
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47636
2024-11-19 21:29:46 -05:00
Mark Johnston
3c29734502 hwpmc: Fix whitespace in logging macros
MFC after:	1 week
Sponsored by:	Klara, Inc.
2024-11-19 23:48:53 +00:00
Mark Johnston
e03a056de0 vfs: Fix runningspace tuning after maxphys was bumped
The previous maximum value for the upper watermark was based on the old
value of MAXPHYS.  Raise it to allow more parallel I/O on large systems.

This is still a rather flawed mechanism since it's applied without
regard to the number of filesystems or block devices between which this
mechanism sits, but we might as well bump the limits at this point, as
they haven't been revised in quite a long time.

Reviewed by:	imp, kib
MFC after:	2 weeks
Fixes:		cd85379104 ("Make MAXPHYS tunable. Bump MAXPHYS to 1M.")
Differential Revision:	https://reviews.freebsd.org/D47398
2024-11-19 23:46:50 +00:00
Artem Hevorhian
7678dac437 ktrace: support AF_NETLINK in ktrstruct
Right now, sockaddr_nl parameters are not displayed in kdump output,
however they are present in the structure in ktrace.out file when
ktrace is run.

Reviewed by:		melifaro, markj, glebius
Differential Revision:	https://reviews.freebsd.org/D47411
2024-11-19 14:19:50 -08:00
Mark Johnston
a20249443b makefs.8: Clarify that makefs-generated zpools always have the same GUID
PR:		282832
MFC after:	1 week
2024-11-19 21:18:38 +00:00
Mark Johnston
e19c607ff9 makefs.8: Remove a warning about makefs -t zfs being experimental
This should have been done with commit d9fe718287 but was missed.

Fixes:	d9fe718287 ("makefs: Remove the warning printed when makefs -t zfs is used")
MFC after:	3 days
2024-11-19 21:18:38 +00:00
Mark Johnston
e3f6ef5ade sdt: Stop defining probe and provider structures as arrays
There was no reason I can find for defining them this way.

No functional change intended.

Sponsored by:	Innovate UK
2024-11-19 21:18:34 +00:00
Mark Johnston
48c738b038 jail: Let a couple of parameter types be specified as lists
vnet.interface and zfs.dataset can be used to specify multiple
interfaces/datasets in jail.conf, but not on the command-line, which is
a bit surprising.  Extend the handling of ip(4|6).addr to those
parameters, update the description of vnet.interface in jail.8, and add
a rudimentary regression test.

Reviewed by:	zlei, jamie
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D47651
2024-11-19 21:05:24 +00:00
Mark Johnston
d6b692835e mii_fdt: Search for the "ethernet-ports" subnode
This is a more common name for the parent of the port nodes.

PR:		280770
MFC after:	2 weeks
Reported by:	Mike Belanger <mibelanger@qnx.com>
2024-11-19 21:05:19 +00:00
Mark Johnston
4ff291ebe8 vfs: Fix vop_stdis_text()
atomic(9) primitives are documented as operating on unsigned types.
Here, we need a cast to avoid a tautological comparison.

Add a regression test for access(2), which was affected by the bug.

Reported by:	NetApp
Reviewed by:	kib
Fixes:		e511bd1406 ("vfs: fully lockless v_writecount adjustment")
MFC after:	1 week
Sponsored by:	Klara, Inc.
Sponsored by:	NetApp, Inc.
Differential Revision:	https://reviews.freebsd.org/D47672
2024-11-19 21:03:14 +00:00
Kyle Evans
9ab59e900c daemon: tests: add a test for missed SIGTERM
This is somewhaht hard to test reliably, but we'll give it a shot.  Startup
a sleep(1) daemon with a hefty restart delay.  In refactoring of daemon(8),
we inadvertently started dropping SIGTERMs that came in while we were
waiting to restart the child, so we employ the strategy:

 - Pop the child sleep(1) first
 - Wait for sleep(1) to exit (pid file truncated)
 - Pop the daemon(8) with a SIGTERM
 - Wait for daemon(8) to exit

The pidfile is specifically truncated outside of the event loop so that we
don't have a kqueue to catch it in the current model.

PR:		277959
Reviewed by:	des, markj
Differential Revision:	https://reviews.freebsd.org/D47005
2024-11-19 13:51:27 -06:00
Kyle Evans
bc1dfc316a daemon: stop rebuilding the kqueue every restart of the child
We populate the kqueue with all of four kevents: three signal handlers and
one for read of the child pipe.  Every time we start the child, we rebuild
this kqueue from scratch for the child and tear it down before we exit and
check if we need to restart the child.  As a consequence, we effectively
drop any of the signals we're interested in between restarts.

Push the kqueue out into the daemon state to avoid losing any signal events
in the process, and reimplement the restart timer in terms of kqueue timers.
The pipe read event will be automatically deleted upon last close, which
leaves us with only the signal events that really get retained between
restarts of the child.

PR:		277959
Reviewed by:	des, markj
Differential Revision:	https://reviews.freebsd.org/D47004
2024-11-19 13:51:27 -06:00
Kyle Evans
aa8722cc18 daemon: truncate the pidfile when we're waiting to restart child
We need to be able to test some more restart behavior that depends on
knowing specifically where we're at (inside the event loop or outside of
the event loop).  Truncate the pidfile until the process is restarted to
give the test a clean marker rather than having to add arbitrary delays
and hoping for the best.

Reviewed by:	des, markj
Differential Revision:	https://reviews.freebsd.org/D47003
2024-11-19 13:51:26 -06:00
Andrew Turner
ce284dded5 arm64: Fix comparing ID register fields
The logic in update_special_reg_field was reversed. Fix by swapping the
order of the arguments.

PR:		282505
Fixes:		f1fb1d5c90 ("arm64: Support more ID register field types")
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D47437
2024-11-19 17:31:00 +00:00
Andrew Turner
9ff643a8da arm64: Adjust the MPASS in vfp_save_state_savectx
In vfp_save_state_savectx we check if the pcb has a NULL vfp state.
When it's called multiple times with the same pcb then we can panic
because the vfp state has been set.

Weaken the requirement for the state pointer to be NULL by also
allowing it to point to the pcb vfp state area we are about to use.

Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D47237
2024-11-19 17:31:00 +00:00
Andrew Turner
a1330a71d2 acpi: Handle multiple interrupts
When multiple IRQs are specified in a single resource then we only
check the first. Change this to check all interrupts for the value
we expect to find.

Without this we may still enable the interrupt, but it can have the
wrong polatiry or trigger. This can cause an interrupt storm if the
interrupt was configured with a level trigger when it should have
been an edge.

PR:		282241
Reported by:	trasz
Sponsored by:	Arm Ltd
Differential Revision:	https://reviews.freebsd.org/D47487
2024-11-19 17:14:42 +00:00
Dmitry Salychev
c2dd2be344
dpaa2: Fix kernel built with ACPI_DEBUG
PR:			282800
Reported by:		phk
Tested by:		bz
MFC after:		3 days
Differential Revision:	https://reviews.freebsd.org/D47666
2024-11-19 16:49:04 +01:00
John Baldwin
c7d29adcb3 vga_pci: Use bus_generic_* directly instead of wrappers
Differential Revision:	https://reviews.freebsd.org/D47375
2024-11-19 10:26:32 -05:00
John Baldwin
48a88a4ee9 socket: Move SO_SPLICE next to other socket option constants
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D47626
2024-11-19 10:25:49 -05:00
John Baldwin
590e7a0eb5 rangelock: Use atomic_testandset_ptr
Reviewed by:	imp, kib
Obtained from:	CheriBSD
Sponsored by:	AFRL, DARPA
Differential Revision:	https://reviews.freebsd.org/D47632
2024-11-19 10:25:08 -05:00