1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
Commit Graph

295800 Commits

Author SHA1 Message Date
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
John Baldwin
a80b9ee15a atomic(9): Implement atomic_testand(clear|set)_ptr
For current architectures, these are just aliases for the existing
operation on the relevant scalar integer.

Reviewed by:	imp, kib
Obtained from:	CheriBSD
Sponsored by:	AFRL, DARPA
Differential Revision:	https://reviews.freebsd.org/D47631
2024-11-19 10:24:50 -05:00
John Baldwin
3ca22e1e8f atomic.9: Document atomic_testand*_64 and atomic_testandset_acq_long
Reviewed by:	kib
Sponsored by:	AFRL, DARPA
Differential Revision:	https://reviews.freebsd.org/D47630
2024-11-19 10:24:29 -05:00
John Baldwin
fa2091d757 atomic(9): Remove fcmpset-based fallback for atomic_testand(clear|set)
All architectures implement a MD version

Reviewed by:	kib
Sponsored by:	AFRL, DARPA
Differential Revision:	https://reviews.freebsd.org/D47629
2024-11-19 10:23:15 -05:00
John Baldwin
987c5a1944 arm: Implement atomic_testandset_acq_long as a simple wrapper
Use a memory barrier after calling the existing atomic_testandset_long
rather than using the fcmpset-based fallback version from
<sys/_atomic_subword.h>.

Reviewed by:	kib
Sponsored by:	AFRL, DARPA
Differential Revision:	https://reviews.freebsd.org/D47628
2024-11-19 10:22:50 -05:00
John Baldwin
a474e53d03 riscv: Add implementations of atomic_testand(set|clear)_(32|64|long)
These use amoor and amoand rather than a loop.

Also define atomic_testandset_acq_(64|long) using amoor.aq.

Reviewed by:	mhorne, kib
Sponsored by:	AFRL, DARPA
Differential Revision:	https://reviews.freebsd.org/D47627
2024-11-19 10:20:32 -05:00
Doug Rabson
ca1f1d2c94 release: Add missing dependencies in the minimal OCI image
The pkg-bootstrap binary depends on fetch.

Reviewed by:	cperciva, emaste, bapt
Differential Revision:	https://reviews.freebsd.org/D47661
MFC after:	1 day
2024-11-19 10:39:14 +00:00
Dag-Erling Smørgrav
d4fb5984ab mv: Add test cases for command-line options.
Sponsored by:	Klara, Inc.
Reviewed by:	asomers
Differential Revision:	https://reviews.freebsd.org/D47582
2024-11-19 10:29:15 +01:00
Dag-Erling Smørgrav
2822a79533 mv: Convert tests to ATF.
Sponsored by:	Klara, Inc.
Reviewed by:	asomers, markj
Differential Revision:	https://reviews.freebsd.org/D47569
2024-11-19 10:29:11 +01:00
Dag-Erling Smørgrav
dc6105ebed mv: More style nits.
Sponsored by:	Klara, Inc.
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D47568
2024-11-19 10:29:05 +01:00
Adrian Chadd
842a2c1ad3 uath: flush data/commands to the firmware before changing channel / state
The driver wasn't stable - it would start fine, but during scan
it would eventually hang and no further command endpoint transfers
would complete.

After adding some debugging and looking at the logs I noticed that
things went sideways once a /data/ frame was sent.  The channel
change config happened between the data frame being sent and
being completed.

My guess is that the firmware doesn't like a channel change
and reset whilst there's pending data frames.  Checking the Linux
driver I found that it was doing a flush before a channel change,
and we're doing it afterwards.  This acts like a fence around
ensuring scheduled TX work has completed.  In net80211 the
transmit path and the control path aren't serialised, so it's
very often the case that ioctls, state changes, etc occur
whilst in parallel there are frame transmits being scheduled.

This seems to happen more frequently on a more recent, high core
(8) machine with XHCI.  I remember testing this driver years ago
on single and dual core CPU laptops with no problems.

So, add some flushes - before a channel change, and during
a transition to AUTH when the BSS config is being programmed into
the firmware.  These two fences seem enough to reliably
associate as a 2GHz and 5GHz STA.

Note that this isn't entirely blocking all newly queued
transmit work from occuring until after the NIC has finished
configuration.  That will need some further investigation.

Locally tested:

  * Wistron NuWeb AR5523 dual-band NIC, STA mode, 2/5GHz

Differential Revision:	https://reviews.freebsd.org/D47655
2024-11-18 20:50:41 -08:00
Adrian Chadd
7098b90152 usb: fix the ID for the dual-band Wistron AR5523 USB NIC
Use the correct ID, as I have one of these NICs.
Add the previous one back in case it's out there in the wild.

@emaste did a bit of a dig into the product numbers.
@sam did change the ID from 0x0828 -> 082a in a commit
a long while back. It's worth reading the code review for
further details.

However, I do have one of these NICs and I verified that
it indeed has the given ID, and with some follow-up work
to fix some race conditions, it works fine in 2GHz 11bg
and 5GHz 11a operation.

Differential Revision:	https://reviews.freebsd.org/D47654

Obtained from:	Linux, drivers/net/wireless/ath/ar5523/ar5523.c
2024-11-18 20:50:24 -08:00
Adrian Chadd
1375790a15 net80211: add IEEE80211_IS_QOS_NULL()
This will be useful when fixing up the sequence number generation
and checks, as the rules around how sequence numbers are generated
have been clarified in 802.11-2016 and later.  QoS-NULL frames are
explicitly marked as "any sequence number".

But for now, just create a macro and use it in the one place
it's currently being used as a check - ath(4).

* Add IEEE80211_IS_QOS_NULL().
* Change the "will this frame go into the TX block-ack window" check
  in the ath(4) transmit path.  Note this changes the check to be
  more specific, but both paths already had previous checks to ensure
  they're QoS data frames.

Locally tested:

* ath(4), AR9380, STA mode w/ AMPDU TX/RX enabled and negotiated

Differential Revision: https://reviews.freebsd.org/D47645
2024-11-18 20:50:17 -08:00
Jose Luis Duran
21ca690b56
ppp.8: Fix typo cuad0 -> cuau0
Fix a typo that was missed probably because it was capitalized.
Mark up with .Pa and fix capitalization.

Specify that cuaUX and cuauX are for USB and UART attachments
respectively.

- Silence most lint warnings
- Update outdated links
- Minor style fixes
- Some igor(1) warnings were ignored on purpose

PR:		248359
Reviewed by:	imp, mhorne, Alexander Ziaee <concussious.bugzilla@runbox.com>
Approved by:	emaste (mentor)
Fixes:	839f11a4fe ("A number of places in the source tree still reference cuad.* after sio(4) was deprecated by uart(4).")
MFC after:	1 week
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1515
2024-11-19 01:04:20 +00:00
Bjoern A. Zeeb
5399052c63 bsdinstall: wlanconfig: fix interface UP on (re-)starting wpa_supplicant
Make sure an interface is back up before (re-)starting wpa_supplicant
in wlanconfig not relying on wpa to UP the interface (though we fixed
that).

Sponsored by:	The FreeBSD Foundation
Reviewed by:	emaste (in D47491)
MFC after:	3 days
Differential Revision: https://reviews.freebsd.org/D47491
2024-11-19 00:06:16 +00:00
Gleb Smirnoff
dae64402b3 rtsock: fix panic in rtsock_msg_buffer()
The rtsock_msg_buffer() can be called without walkarg, just to calculate
required length.  It can also be called with a degenerate walkarg, that
doesn't have a w_req.  The latter happens when the function is called from
update_rtm_from_info() for the second time.

Zero init walkarg in update_rtm_from_info() and don't pass random stack
garbage as w_req.

In rtsock_msg_buffer() initialize compat32 boolean only once and take of
possible empty w_req.  Simplify the rest of code once compat32 is already
set.

Reviewed by:		melifaro
Differential Revision:	https://reviews.freebsd.org/D47662
Reported-by: syzbot+d4a2682059e23179e76e@syzkaller.appspotmail.com
Reported-by: syzbot+66d7c9b3062e27a56f3f@syzkaller.appspotmail.com
2024-11-18 14:12:42 -08:00
Franco Fichtner
43e045c173 atf: Guard libexec/atf with WITH_TESTS_SUPPORT
Other atf components are guarded by WITH_TESTS_SUPPORT already.
WITH_TESTS is for actual tests.

Reviewed by:	markj
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D47660
2024-11-18 18:36:46 +00:00
Kristof Provost
5eee34fa03 pf tests: check counters on anchors
Sponsored by:	Rubicon Communications, LLC ("Netgate")
2024-11-18 18:57:53 +01:00
Graham Percival
10343013a4 manuals: Fix some .Bl -tag lists
Signed-off-by:	Graham Percival <gperciva@tarsnap.com>
Reviewed by:	mhorne, Alexander Ziaee <concussious.bugzilla@runbox.com>
MFC after:	3 days
Sponsored by:	Tarsnap Backup Inc.
Pull Request:	https://github.com/freebsd/freebsd-src/pull/1528
2024-11-18 13:30:40 -04:00
Konstantin Belousov
645f8bcba9 ps.1: remove stray tab which breaks columns alignment
Sponsored by:	The FreeBSD Foundation
MFC after:	3 days
2024-11-18 14:23:43 +02:00
Kristof Provost
83641335f9 pf: clean up pflow sockets on jail removal
pflow opens sockets in the kernel to transmit netflow information.
If this is done in a (vnet) jail these sockets end up preventing the removal of
the jail. The VNET_SYSUNINIT() vnet_pflowdetach() function doesn't get called,
but that's the function that would remove the sockets.

Install a callback on the PR_METHOD_REMOVE jail callback and close the sockets
there. This ensures that the jail can get cleaned up.

Sponsored by:	Rubicon Communications, LLC ("Netgate")
Differential Revision:	https://reviews.freebsd.org/D47545
2024-11-18 11:06:46 +01:00
Peter Holm
43778a593f stress2: Added zfs test scenarios 2024-11-18 10:46:28 +01:00
Peter Holm
55aa53fbf2 stress2: Added a zfs regression test scenario 2024-11-18 10:40:16 +01:00
Matthew Nygard Dodd
f4f46a2eef hidraw(4): update hgd_actlen in HIDRAW_GET_REPORT ioctl
HIDRAW_GET_REPORT ioctl is documented to update hgd_actlen on return
with the number of bytes copied.  It does not do this.

Reviewed by:	wulf
PR:		282790
MFC after:	1 week
2024-11-18 07:31:39 +03:00
Matthew Nygard Dodd
0b5d86b38a uhid(4): update ugd_actlen in USB_GET_REPORT ioctl
USB_GET_REPORT ioctl is documented to update ugd_actlen on return with
the number of bytes copied.  It does not do this.

Reviewed by:	wulf
PR:		282790
MFC after:	1 week
2024-11-18 07:31:24 +03:00
Colin Percival
d54fdd1663 release: Remove empty suffix from file names
For "release" builds (as opposed to "snapshot" builds -- in this
context BETAs and RCs are "releases") ${SNAP_SUFFIX} is empty; but it
stuck into some ociimages filenames via a copy-and-paste error.

The final filenames on the download mirrors were not affected, so
this does not need to be merged to releng/14.2.

MFC after:	3 days
Sponsored by:	Amazon
2024-11-17 16:18:20 -08:00
Warner Losh
1bfc84289e cdefs.h: Fix bad version
It's -isoC-2024 not -isoC2023. Fix it

Noticed by: gperciva@tarsnap.com
Sponsored by: Netflix
2024-11-17 16:55:58 -07:00
Michael Tuexen
8caa2f5351 tcp: define tcp_lro_log() only when TCP_BLACKBOX is defined
Reviewed by:		rrs, Peter Lei
MFC after:		1 week
Sponsored by:		Netflix, Inc.
Differential Revision:	https://reviews.freebsd.org/D47401
2024-11-17 19:21:01 +01:00
Alan Cox
8c8d36b9d1 vm: static-ize vm_page_alloc_after()
This function is only intended for the internal use of the VM system.

Reviewed by:	dougm, kib, markj
Differential Revision:	https://reviews.freebsd.org/D47644
2024-11-17 12:19:00 -06:00
Jose Luis Duran
2a657b4ee9
ktrace.1: Add ARGS and ENVS as default trace points
After commit 65a4daeaf3 ("ktrace: log execve(2) arguments and
environment"), "a" and "e" are part of the default set of trace points.

Reviewed by:	markj
Approved by:	emaste (mentor)
Fixes:	65a4daeaf3 ("ktrace: log execve(2) arguments and environment")
Differential Revision:	https://reviews.freebsd.org/D47648
2024-11-17 18:12:06 +00:00
Adrian Chadd
8b51df0d4f wpa: add support for GCMP-128 and BIP-128.
If net80211 announces support for GCMP and/or BIP then configure it
appropriately.

GCMP will be used by WPA3 in the future, and BIP is required for
802.11w/MFP (which is also required by WPA3.)

Differential Revision: https://reviews.freebsd.org/D46499
2024-11-17 10:04:58 -08:00
Adrian Chadd
3d0d43d25a net80211: remove IEEE80211_FC0_QOSDATA
This is unused by anything in the tree; anything using it should be
instead using one of the frame type macros.

Differential Revision: https://reviews.freebsd.org/D47503
2024-11-17 09:53:16 -08:00
Adrian Chadd
c249cc3822 net80211: migrate FC0_TYPE_MASK / FC0_SUBTYPE_MASK frame type checks to macros
* Add macros for the management and control frame type checks that
  I've come across in the drivers.
* Delete some now old code (eg ath's ieee80211_is_action()) as there's now
  a macro for it.

Local testing:

* not yet, I have a lot of wifi devices to find and test against

Differential Revision: https://reviews.freebsd.org/D47500
2024-11-17 09:53:04 -08:00
Mark Johnston
aab7f19974 sh tests: Fix ktrace usage now that envvars are traced by default
Some sh tests use ktrace to see whether a particular file, specified in
the environment, was accessed by the shell.  After commit 65a4daeaf3,
this test matches the ktrace record generated by execve.

Use ktrace to only log name lookups, to avoid such false matches.

Fixes:	65a4daeaf3 ("ktrace: log execve(2) arguments and environment")
2024-11-17 17:37:34 +00:00
Mark Johnston
6817f3375b conf: Fix KCSAN enablement checking
Fixes:	6e3875ebcf ("sys: move SAN and COVERAGE options handling to kern.mk")
2024-11-17 16:40:33 +00:00
Michal Meloun
b882d21558 arm: link all .rodata variants into one output section
MFC after:	1 week
2024-11-17 12:35:55 +01:00
Michal Meloun
60e72eb16a arm: align data section to the supersection.
Offset based data section alignment is probably not applicable to any system
other than i386.

MFC after:	4 week
2024-11-17 12:05:42 +01:00
Michal Meloun
d98a18d032 arm: add read_frequently, read_mostly and exclusive_cache_line sections to linker script.
MFC after:	1 week
2024-11-17 12:05:14 +01:00
Michal Meloun
1701dfae1b arm: fix symbols around the .ARM.exidx section
Insert a direct assignment to the location counter to ensure that orphaned
sections cannot be emitted between the _exidx_start symbol and the .ARM.exidx
section.

Discussed with:	jrtc27
MFC after:	1 week
2024-11-17 12:00:45 +01:00
Michal Meloun
0381f0b63b arm: Fix typo in ldscript.arm.
MFC after:	1 week
2024-11-17 12:00:45 +01:00
Mitchell Horne
4b4e88d942 aw_wdog: disable timer on attach
Otherwise it may cause system reset before the watchdog can be pat. This
is consistent with other watchdog drivers.

Tested on Allwinner D1.

Reviewed by:	manu
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D47517
2024-11-16 15:55:27 -04:00
Doug Moore
f334c0b8b3 vm_page: use iterators in alloc_contig_domain
Restructure a bit of code to allow vm_page_alloc_contig_domain to use
pctrie iterators for lookup and insertion into the object radix tree,
to improve performance.

Reviewed by:	alc
Differential Revision:	https://reviews.freebsd.org/D47036
2024-11-16 13:15:05 -06:00
Mitchell Horne
184d0b3fe3 aw_syscon: enable for Allwinner D1 (riscv)
Add the relevant compatible string and build glue. Update the man page
with relevant compat strings.

Reviewed by:	manu
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D47516
2024-11-16 15:04:04 -04:00